質問: エクセルで数字とアルファベットと文字列を分割する方法 こんばんは。 エクセルのセルで数字とアルファベットの文字列を分割する方法を教えて下さい。 100ab3.4c → "100" "ab" "3.4" "c" 間にスペースやカンマなど無く、文字数は異なります。 数字は小数点がある場合と無い場合があります。(上記の "100" "3.4" のように) 同じ列に同様のデータが数件~数千件あり、まとめて分割したいです。 関数もしくはマクロ(vba)で可能であれば教えて下さい。 最近マクロの勉強を初めたのですが、方法が思いつきません。。。 宜しくお願いします。
回答: >関数もしくはマクロ(vba)で ということなので、参考までに数式による解決を。 元のデータがa列1行目以下に入っているとします。 1.b列は何も入力しない 2.c1セルに下記の数式を入力 =mid($a1,sumproduct(len($b1:b1))+1,match(isnumber(--b1),index(isnumber(--mid($a1&b1,sumproduct(len($b1:b1))+if(isnumber(--b1),index(row($1:$20),),1),if(isnumber(--b1),1,index(row($1:$20),)))),),0)-1) 3.c1セルを右方・下方にフィル 元のデータが文字から始まる場合はc列から分割して表示されます。 元のデータが数字から始まる場合はd列から分割して表示されます。 元のデータが必ず数字から始まるのであれば、 b1:="" として下方にフィルすれば、c列から表示されます。 分割後の個々の数値・文字列が20文字を超える可能性がある場合には、 $20の部分を適当に増やしてください。 分割後の個々の数値・文字列が20文字より明らかに短い場合には、 $20の部分を適当に減らせば少し軽くなります。 excel2003で動作確認済。