- ベストアンサー
数値とアルファベットに分ける(エクセル)
例えばA列に ABCD1234 KJD234 LO2335 FDRTY3523 上記のように品番が入力されていたとします これをアルファベットをB列に数値をC列に 分ける簡単な方法はありませんか? やはり、関数しかないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 A1 からデータが始まるとして、 B1 の数式:(アルファベット部) =LEFT(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)&1234567890))-1) C1 の数式:(数字部) =RIGHT(A1,LEN(A1)-LEN(B1)) とし、B1:C1 を選択して、データ終端までフィルでコピーです。 関数のままが嫌なら、最後にコピー&形式を選択して貼り付け で値にすれば 良いと思います。
その他の回答 (3)
》 やはり、関数しかないでしょうか? 「やはり」の関数しか知らないもので… C1: {=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),99)} B1: =SUBSTITUTE(A1,C1,"")
お礼
返信ありがとうございます 関数を考えていただいてありがとうございます 参考になります
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >やはり、関数しかないでしょうか? 関数ではご存知だということですね。 関数なら、数値がどこにあろうとも、文字と数字が入り混じり合っていけなければ、この文字と数字を別けるのは、関数で可能です。この数式は定石のひとつで、国内外で割りに有名のようですですから、それでお出来になら、私は、十分だと思いますが、それをより制限した方向を求めるとなると、逆に、難しくなると思います。マクロもダメなのですか? そうすると、私は、手動で細かく別ける以外は、Excel内では不可能だと思います。 正規表現置換の機能のあるテキストエディタに、そのデータを移し変えて、それで、 ([A-Z])([0-9]) → \1\t\2 なお、半角の場合は、それぞれの文字は半角にしてくださいね。 そして、セルに貼り付けたらどうでしょうか?
お礼
返信ありがとうございます 『正規表現置換の機能のあるテキストエディタに、そのデータを移し変えて、それで、 ([A-Z])([0-9]) → \1\t\2 なお、半角の場合は、それぞれの文字は半角にしてくださいね。』 この文章の意味はさっぱりわかりませんので 勉強します 助言ありがとうございます
- akio_myau
- ベストアンサー率34% (515/1480)
簡単な方法はありません。 関数で行うにしても数字の桁数や文字の桁数などが決まっていないとかなり難しくなります。場合によっては出来ない場合も。 上のような桁数だけで数値が3桁もしくは4桁であれば式で出すことも出来ますが、もっと多くの桁もありえるのであればもう少し具体的な範囲を書いてください。
お礼
返信ありがとうございます 桁数はいくつでも 上記のKenKen_SPさんの方法で可能かなと 思ったのですが。
お礼
返信ありがとうございます 私もこの方法で行ったのですが 周りの皆がエクセルの初心者なので 覚えてもらうのが困難かと思いまして 質問いたしました。 ありがとうございます