アプリ版:「スタンプのみでお礼する」機能のリリースについて

例えばA列に
ABCD1234
KJD234
LO2335
FDRTY3523
上記のように品番が入力されていたとします
これをアルファベットをB列に数値をC列に
分ける簡単な方法はありませんか?
やはり、関数しかないでしょうか?

A 回答 (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 を選択して、データ終端までフィルでコピーです。
関数のままが嫌なら、最後にコピー&形式を選択して貼り付け で値にすれば
良いと思います。
    • good
    • 9
この回答へのお礼

返信ありがとうございます
私もこの方法で行ったのですが
周りの皆がエクセルの初心者なので
覚えてもらうのが困難かと思いまして
質問いたしました。
ありがとうございます

お礼日時:2006/08/11 20:27

》 やはり、関数しかないでしょうか?



「やはり」の関数しか知らないもので…

C1: {=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),99)}
B1: =SUBSTITUTE(A1,C1,"")
    • good
    • 2
この回答へのお礼

返信ありがとうございます
関数を考えていただいてありがとうございます
参考になります

お礼日時:2006/08/11 20:31

こんにちは。



>やはり、関数しかないでしょうか?

関数ではご存知だということですね。

関数なら、数値がどこにあろうとも、文字と数字が入り混じり合っていけなければ、この文字と数字を別けるのは、関数で可能です。この数式は定石のひとつで、国内外で割りに有名のようですですから、それでお出来になら、私は、十分だと思いますが、それをより制限した方向を求めるとなると、逆に、難しくなると思います。マクロもダメなのですか?

そうすると、私は、手動で細かく別ける以外は、Excel内では不可能だと思います。

正規表現置換の機能のあるテキストエディタに、そのデータを移し変えて、それで、
([A-Z])([0-9]) → \1\t\2
なお、半角の場合は、それぞれの文字は半角にしてくださいね。

そして、セルに貼り付けたらどうでしょうか?
    • good
    • 0
この回答へのお礼

返信ありがとうございます
『正規表現置換の機能のあるテキストエディタに、そのデータを移し変えて、それで、
([A-Z])([0-9]) → \1\t\2
なお、半角の場合は、それぞれの文字は半角にしてくださいね。』
この文章の意味はさっぱりわかりませんので
勉強します
助言ありがとうございます

お礼日時:2006/08/11 20:29

簡単な方法はありません。


関数で行うにしても数字の桁数や文字の桁数などが決まっていないとかなり難しくなります。場合によっては出来ない場合も。
上のような桁数だけで数値が3桁もしくは4桁であれば式で出すことも出来ますが、もっと多くの桁もありえるのであればもう少し具体的な範囲を書いてください。
    • good
    • 1
この回答へのお礼

返信ありがとうございます
桁数はいくつでも
上記のKenKen_SPさんの方法で可能かなと
思ったのですが。

お礼日時:2006/08/11 20:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A