- ベストアンサー
Excel同一セル内の、アルファベットと数字の順番を入れ替えについて教えてください
ExcelのA列のセルに、アルファベットと数字の組み合わせが3000行くらい入っています。 アルファベットは1~3個でA~Z、 数字も1~3個で0~9 の組み合わせです。アルファベットと数字の配置は A1 A12 A123 AB1 AB12 AB123 ABC1 ABC12 ABC123 の9通りか、数字が先にくる場合の9通りのいずれかです。 (アルファベットと数字はそれぞれまとまっていて、入り混じることはありません) これを、 1A 123ABC のように、数字を前に持ってくるように統一したいのです。 もともと数字が前に入っているセルはそのままで有効です。 マクロを使わず、B列以降のセルを使って関数でできないでしょうか? ご説明がうまくできなくて申し訳ないです。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=RIGHT(A1,LEN(A1)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890))+1)&LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890))-1)
その他の回答 (3)
A B C D 1 A1 1 A 1A 2 A21 21 A 21A 3 A321 321 A 321A 4 BA1 1 BA 1BA 5 AB12 12 AB 12AB 6 BA123 123 BA 123BA 7 XYZ1 1 XYZ 1XYZ 8 LMN21 21 LMN 21LMN 9 ABC231 231 ABC 231ABC B1: {=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),3)} (配列数式) C1: =SUBSTITUTE(A1,B1,"") D1: =B1&C1
お礼
私が目指していたのはまさにこの方法でした! そしてLENのあたりでつまづき・・・ おかげ様ですっきりいたしました。 どうもありがとうございました。
- keirika
- ベストアンサー率42% (279/658)
1.A列を『昇順』に並べ替えます すると先頭が数字だけの上に集まります 2.先頭が数字のものだけ選択し、そのままB列に貼り付けます。 3.先頭がアルファベットのセルの右側(仮にB100とします) =MID(A1,SEARCH(1,A100),3)&LEFT(A1,SEARCH(1,A100)-1) を入力し、した方向へコピーします。 これでB列には先頭が数字のものだけになるかと思います。 一度お試しください。
お礼
ご回答ありがとうございます。 ただ・・・数字は1で始まるとは限らないんです。。。 私のご説明がわかりにくかったです、 すみません。
数字の開始が必ず「1」なら、 FINDで、位置を探し、 LEFT関数とMID関数で取り出せますね。 MID関数で取り出した数字と LEFT関数で取り出した英字を 「&」でつなげばよろしいかと思います。
お礼
ご回答ありがとうございます。 質問を投稿後、すぐにご回答いただいたのに 私の書き方が悪くて、すみません。 数字は0~9の組み合わせで、1~始まるとは限らないんです。。。 でもでも、ありがとうございました。
お礼
すごい!!ものすごく感動しました。 そうか、こうするのか!と。 本当にありがとうございました。 おかげ様でとっても助かりました。