[[20201023104218]] 『数字より後の文字列を全て抜き出したい』(シエル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数字より後の文字列を全て抜き出したい』(シエル)

初めての質問失礼します。

目的としては、左から見て数字があったら、その数字より後の文字を、数字・記号・英字に関係なく全て抜き出したいです。
数字は0〜9どの時もあります。

例えば、
abc091-a3 という文字列があるとすれば、「091-a3」だけを抜き出したいのですが、どのような関数にしたら良いでしょうか?

よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 A1セルに文字列があるとして。
 =REPLACE(A1,1,IFERROR(MATCH(0,MID(A1,ROW($1:$20),1)*0,0)-1,0),"")
 と入力してShiftキーとCtrlキーを押しながらEnterで式を確定(確定後、式が{}で囲まれればOK)ではどうだろうか?
(ねむねむ) 2020/10/23(金) 11:03

 =REPLACE(A1,1,IFERROR(MATCH(0,INDEX(MID(A1,ROW(1:20),1)*0,0),0)-1,0),"")
 とするとShift+Ctrl+Enterはいらなくなる。
(ねむねむ) 2020/10/23(金) 11:08

回答ありがとうございます、元の数式が全部表示されてしまいます;
(シエル) 2020/10/23(金) 11:10

 式を入力したセルの表示形式が文字列になっていないか?
 もしそうであれば標準にしてから入力しなおしてみてくれ。
(ねむねむ) 2020/10/23(金) 11:13

書き方が悪くすみません、抽出前の文字列が表示されます。
質問の例だと、「abc091-a3」がそのまま表示されます
(シエル) 2020/10/23(金) 11:16

 もしかして長い文字列だったりするだろうか?
 上の式は20文字目までに数字が出てくる場合に対応している。
 もし20文字以降に出てくる場合は式中のROW(1:20)の20を大きくしてみてくれ。
 あと、文字列中に数字が一切ない場合はどうしたいのだろうか?
(ねむねむ) 2020/10/23(金) 11:24

 どっちの式を試したのか知りませんけど
 最初の式なら Ctrl+Shift+Enter で確定していないのでは?

 ついでに、元がA1セルだとして

 =REPLACE(A1,1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&"1234567890"))-1,"")

 普通に Enter だけで確定

 参考まで
(笑) 2020/10/23(金) 11:29

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.