• ベストアンサー

Excel セル内の文字と数字をわけるには??

一つのセルの中に、文字と数字が入っているのですが、 それを別々のセルに分けたいのです。。。 例) 後楽1-1-1 → 後楽 と 1-1-1 西新宿2-2 → 西新宿 と 2-2 どなたか良い方法をご存知でしたら、教えて下さい~!!

質問者が選んだベストアンサー

  • ベストアンサー
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

↓こちらの26番「数字で始まる部分から区分」を参考にしてください。

参考URL:
http://www2.odn.ne.jp/excel/waza/function.html
kumikoara
質問者

お礼

ありがとうございます!!! HPの開設通りにしたら、できました☆☆ 感激です☆☆☆ 本当に助かりました。ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

全角文字ばかりのとき。 関数を標準モジュールに作ります。 Function fndsuu(a) s = "0123456789" For i = 1 To Len(a) For j = 1 To 10 If Mid(a, i, 1) = Mid(s, j, 1) Then fndsuu = i Exit Function End If Next j Next i fndsuu = 0 End Function 初出の数字文字が現われ出る位置を返します。 後楽1-1-1なら3を返します。 C1に後楽1-1-1があるとして 後楽は=LEFT(C1,fndsuu(C1)-1)で 1-1-1は=RIGHT(C1,LEN(C1)-fndsuu(C1)+1)で分離できます。

kumikoara
質問者

お礼

ご回答頂きましてありがとうございました。 またどうぞ宜しくお願い致します☆

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

(仮定)番地部分が半角とする。 関数でやります。 理屈の説明のため途中経過をA-G列に出します。 (A1)後楽1-1-1 (B1)=LENB(A1)     9 (C1)=JIS(A1)      後楽1-1-1 (D1)=LENB(C1)     14 (E1)=D1-B1       5 これで半角文字が5文字あることが判る。 (F1)=LEFTB(A1,B1-E1)  後楽 (G1)=RIGHTB(A1,E1)   1-1-1 結局半角部分は=RIGHTB(A1,LENB(JIS(A1))-LENB(A1)) 全角部分は=LEFTB(A1,2*LENB(A1)-LENB(JIS(A1)))

kumikoara
質問者

お礼

ご回答ありがとう御座いました。 丁寧に解説までつけていただいて、とてもありがたいです。 またどうぞ宜しくお願い致します。

noname#27115
noname#27115
回答No.2

' もし、#1さんの方法でうまくいかなかった場合、もしくはわからなかった場合・・・・ ' 例) ' 後楽1-1-1 → 後楽 と 1-1-1 ' 西新宿2-2 → 西新宿 と 2-2 ' このような規則性があるとし、イレギュラーがないとしたら ' 次のコードを[ツール]-[マクロ]-[Visual Basic Editor] ' [挿入]-[標準モジュール] で追加してください。 ' そして、データがA1にあるとしたら、 ' B1 に =WordCut1(A1) ' C1 に =WordCut2(A1) ' と入れてください。 ' 1行目に入力後、2行目以降に1行目をコピーしてください。 Function WordCut1(pStr As String) As String Dim i As Long Dim buf As String For i = 1 To Len(pStr) If IsNumeric(Mid(pStr, i, 1)) <> -1 Then buf = buf + Mid(pStr, i, 1) Else Exit For End If Next i WordCut1 = buf End Function Function WordCut2(pStr As String) As String Dim i As Long Dim buf As String For i = 1 To Len(pStr) If IsNumeric(Mid(pStr, i, 1)) = -1 Then buf = Mid(pStr, i, Len(pStr)) Exit For End If Next i WordCut2 = buf End Function

kumikoara
質問者

お礼

ご回答頂きまして、ありがとうございました。 またどうぞ、よろしくおねがいいたします☆

関連するQ&A