こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

末尾の数字を文字列から消去する

office2010

A列に8桁の文字列が複数行入っています。
A1B00001
A1CB0002
A1NDE302


この状態で後側の数字(一番最後の英の文字列を残す)を消去したいです。
消去された文字列はB列に表示。

上記の場合
A1B
A1CB
A1NDE

をB列に表示する方法を教えていただきたく。

関数、VBAどちらでも可です。
数字だけを消去というのはWEBで探せたのですが、英と英の間の数字は残したいのです。

投稿日時 - 2018-04-24 16:17:57

QNo.9491889

暇なときに回答ください

質問者が選んだベストアンサー

これはユーザ関数を作ってしまった方が楽だと思います。

Function fSample(sTarget As String) As String
  fSample = ""
  For i = Len(sTarget) To 1 Step -1
    sOne = Mid(sTarget, i, 1)
    If IsNumeric(sOne) = False Then
      fSample = Left(sTarget, i)
      Exit For
    End If
  Next i
End Function

投稿日時 - 2018-04-24 18:21:10

お礼

回答ありがとうございます。
他の方々にも、いろいろ事例を紹介いただきましたが、mt2015さんの事例が、私の知らなかったユーザ関数というもので、今後いろいろ活用できそうなので、こちらをベストアンサーとさせていただきます。

投稿日時 - 2018-04-25 10:26:01

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

B1: =LEFT(A1,SMALL(IF(ISNUMBER(1*MID(A1,COLUMN(A:H),1)),COLUMN(A:H),""),2)-1)
【お断り】上式は必ず配列数式として入力のこと

投稿日時 - 2018-04-24 21:43:33

お礼

回答ありがとうございます。
サンプル試しましたが、
H2000000の結果がH2
BHD00000の結果がBHD0
と数字が残ってしまいます。

投稿日時 - 2018-04-25 10:17:01

ANo.5

>A列に8桁の文字列が複数行入っています。
> ・・・・中略・・・・
>をB列に表示する方法を教えていただきたく。
A1セルの文字列を処理してB1列へ代入する数式は下記のようになります。
=LEFT(A1,MAX(INDEX((CODE(MID(A1,COLUMN(A1:H1),1))>57)*COLUMN(A1:H1),0)))

投稿日時 - 2018-04-24 19:56:17

お礼

ステキです、ありがとうございます。

投稿日時 - 2018-04-25 10:19:16

ANo.4

ごめんなさい、ANo.3だと7ケタですね。
8ケタに訂正します。
=LEFT(A1,MAX(ISERROR(1*MID($A1&"00000000",COLUMN(A1:H1),1))*COLUMN(A1:H1)))

これをCtrl+Shift+Enterで確定してください。

投稿日時 - 2018-04-24 18:58:01

お礼

ステキです、ありがとうございます。

投稿日時 - 2018-04-25 10:10:45

ANo.3

ANo.2です

演算式でやるならB2に↓の式を入れ、Ctrl+Shift+Enterで配列数式として確定
=LEFT(A1,MAX(ISERROR(1*MID($A1&"00000000",COLUMN(A1:G1),1))*COLUMN(A1:G1)))

投稿日時 - 2018-04-24 18:52:10

お礼

回答ありがとうございます。

投稿日時 - 2018-04-25 10:20:18

ANo.1

T列に表示させた場合ですが、以下の方法でいかがでしょう。
BからI列に
=MID($A1,COLUMN(B1)-1,1)
JからQ列に
=IF(ISERR(B1+0),"a",B1+0)
R列に
=Q1&P1&O1&N1&M1&L1&K1&J1
S列に
=10-FIND("a",R1)
T列に
=LEFT(A1,S1-1)

投稿日時 - 2018-04-24 17:03:48

お礼

回答ありがとうございます。
考え方、参考になりました。
ちょっと作業列を多く使用するのが、難点でした。

投稿日時 - 2018-04-25 10:07:24

あなたにオススメの質問