プロが教える店舗&オフィスのセキュリティ対策術

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列以降のセルを使って関数でできないでしょうか?
ご説明がうまくできなくて申し訳ないです。
よろしくお願いいたします。

A 回答 (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)
    • good
    • 3
この回答へのお礼

すごい!!ものすごく感動しました。
そうか、こうするのか!と。
本当にありがとうございました。
おかげ様でとっても助かりました。

お礼日時:2006/04/07 21:29

   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
    • good
    • 3
この回答へのお礼

私が目指していたのはまさにこの方法でした!
そしてLENのあたりでつまづき・・・
おかげ様ですっきりいたしました。
どうもありがとうございました。

お礼日時:2006/04/07 21:27

1.A列を『昇順』に並べ替えます


  すると先頭が数字だけの上に集まります

2.先頭が数字のものだけ選択し、そのままB列に貼り付けます。

3.先頭がアルファベットのセルの右側(仮にB100とします)
=MID(A1,SEARCH(1,A100),3)&LEFT(A1,SEARCH(1,A100)-1)
を入力し、した方向へコピーします。

これでB列には先頭が数字のものだけになるかと思います。

一度お試しください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ただ・・・数字は1で始まるとは限らないんです。。。
私のご説明がわかりにくかったです、
すみません。

お礼日時:2006/04/07 21:28

数字の開始が必ず「1」なら、


FINDで、位置を探し、
LEFT関数とMID関数で取り出せますね。
MID関数で取り出した数字と
LEFT関数で取り出した英字を
「&」でつなげばよろしいかと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
質問を投稿後、すぐにご回答いただいたのに
私の書き方が悪くて、すみません。
数字は0~9の組み合わせで、1~始まるとは限らないんです。。。
でもでも、ありがとうございました。

お礼日時:2006/04/07 21:31

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