Excelで、 1234-〇〇 1234の部分は必ず4ケタ。 その後は必ず-(ハイフン)。 その後ろの〇〇には、数字が2ケタから4ケタの 場合あり。 〇〇が2ケタかもしれないし、3ケタかも、4ケタの場合もありますが、 数字ではな

Excel | パソコン187閲覧

ベストアンサー

0

その他の回答(4件)

0

後出し条件が多くてアレですが、要するに"0123456789-"以外の文字が出現したらそこから後ろは要らないってことでいいのかな。 1文字ずつばらして"0123456789-"に含まれないか調べた配列で、最初にTRUEになる位置を検索しその手前までを取り出す。 =left(文字列, iferror(match(TRUE, iserror(find(mid(文字列,sequence(len(文字列)),1), "0123456789-")),0),len(文字列&" "))-1) みたいな感じとか。

画像
0

その事例なら =LEFT(A1,LEN(A1)*2-LENB(A1)) でいいと思いますが。

ほとんど出来たのですが、 また質問にない事を追加したいのですが、 後ろが数字が来ないと言いましたが、すみません。 スペースがあって、その後ろに 数字の時もありした。 その時に、5/3が残ってしまいました。 数字が続く事は絶対になく、 スペースがあります。 漢字がアルファベット、カナカナのと時は 1234-23Aとかの様に、スペースが入りません。 が、数字の時は 1234-56 5/3 の様なパターンあります。

0

B1=REPLACE(LEFT(A1,LOOKUP(0,0/MID(A1,ROW($1:$10),1),ROW($1:$10))),1,5,) ★下にコピー

画像

質問の仕方が悪かったです。 6の後ろを削除とかきましたが、 1234-56と表示したいです。 式入力しましたが 1234-560の時、 56となってしまいます。 1234-560と表示させるには どうしたらいいでしょうか?

0

仮にA1に入っているなら=LEFT(A1,LEN(LOOKUP(10^17,MID(A1,6,ROW(1:100))*1))+5)

1234-001と言うのがあるのですが、1234-0となってしまいます。 1234-001と表示したいです。 あと、質問で言い忘れたのですが、1234と言う場合もありました。 ハイフンが必ずあると質問では 書いてしまいましが、 すみません。 その場合1234と表示したい時があります。 どうしたらいいでしょうか?