- 締切済み
エクセルの英数入り交じったデータに、ハイフンを入れるにはどのようにすれば良いでしょうか・・・
はじめまして。 今、エクセルにてデータ整備をしています。 英数入り交じったデータにハイフンを入れるのですが、 数が多いため、できれば数式で処理したいと思っています。 単純に、全てのセルの同じ箇所(例えば4ケタ目の後、などに) ハイフンを入れるだけの数式なら問題ないのですが、 英数の文字数がデータによってマチマチです。 結果的には、全てのデータを「英字 -(ハイフン)数字」にしたいと思っています。 英語と数字を見分けて、かつ、ハイフンを間に入れるような数式はあるのでしょうか? 何か良い方法があれば、ぜひ教えていただだければと思います。 どうぞ宜しくお願いいたします。 例)ABCD1234 → ABCD-1234 AB12345 → AB-12345
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- maron--5
- ベストアンサー率36% (321/877)
◆文字+数字 であれば =LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1)&"-"&LOOKUP(10^10,RIGHT(A1,COLUMN(1:1))*1) または、 =SUBSTITUTE(A1,LOOKUP(10^10,RIGHT(A1,COLUMN(1:1))*1),"-"&LOOKUP(10^10,RIGHT(A1,COLUMN(1:1))*1))
- imogasi
- ベストアンサー率27% (4737/17069)
IsNumeric関数が使えるようです。 VBAは好き嫌いあるようですが。 Sub test01() d = Range("A65536").End(xlUp).Row For j = 2 To d s = Cells(j, "A") For i = 1 To Len(s) If IsNumeric(Mid(s, i, 1)) Then Cells(j, "B") = Left(s, i - 1) & "-" & Right(s, Len(s) - i + 1) GoTo p01 End If Next i Cells(j, "B") = s p01: Next j End Sub 結果 ab123 ab-123 大阪市234 大阪市-234 福岡t34 福岡t-34 sdfgh sdfgh cvb cvb
- gucchi-you
- ベストアンサー率51% (54/105)
以前のこちらの回答が参考になると思います。 あとはB1&"-"&C1としていただければ。 ただし、セルを3つ使うことになりますが。。。 http://oshiete1.goo.ne.jp/qa2333142.html
お礼
早速やってみました!! どうもありがとうございます。 以前に同じような質問があったのですね。。。 ものすごく助かりました。