- ベストアンサー
Excelの1つのセルに入力されたアルファベットと数字を分けるには?
Excelの1つのセルに「CHSK200510-3」 というような文字が入っていたとします。 それを、「CHSK」と「200510-3」のセルに分けることは出来ますでしょうか? ただし、「CHSK」の部分は毎回4文字ではなく、5文字や6文字、7文字の アルファベットの場合もありイレギュラーなのです。。。 文字の個数が決まっていれば文字列関数で出来たと思うのですが、 取り出す文字数が決まっていない場合はどうすればよいでしょうか? どうぞよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
A1に文字列が入っています。B1に=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},(a1)&1234567890))-1) C1に =RIGHT(A1,LEN(A1)-LEN(B1))と入力 後は、下にドラッグして下さい。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 Wendy02流です。 B1: =LEFT(A1,MATCH(FALSE,INDEX(ISERROR(MID(A1,ROW($A$1:$A$256),1)*1),,),0)-1) C1: =SUBSTITUTE(A1,B1,"") 文字列は、256字以降になれば表示できませんから、Row(A1:A256)にします。Index は、配列を一旦ワークシートで扱える状態にしています。全角でも可能です。
お礼
ご回答頂き、ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
試行錯誤でやったのですが 配列数式ですが (1)英字の塊が初めに来る (2)英字の塊が2箇所に分散していない という仮定で =MID(A1,1,SUM(IF(CODE(MID(A1,ROW(H1:H7),1))>96,1,0))) と入れて、SHIFT+CTRL+ENTERの同時押しをする。 H1:H7はどこでもよく、7は英字の見込み最大文字数に置き換えてください。 96は97がaの文字コードですので使ってます。 数字部分は、MID関数で、上記+1の位置からLEN(A1)までの長さをとればよい。 配列数式にはまっているので、考えた結果です。
お礼
詳細な回答をありがとうございました。
- boy_boy
- ベストアンサー率55% (56/101)
こんにちは。 数字の前がアルファベットなら =MID(A1,MIN(FIND({"1","2","3","4","5","6","7","8","9","0"},JIS(A1)&"1234567890")),256)
お礼
早々のご回答ありがとうございました。
お礼
出来ました! ありがとうございました!