• ベストアンサー

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/17068)
回答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/17068)
回答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

  • Excelで文字と数字のセルを数字だけにするには・・・

    Excel2002で、一つのセルに文字と数字が混ざっている(kj256など)を貼り付けた場合に、自動的に数字だけにするにはどのような設定をすればよいのでしょうか? 使用したいのは、kw3364をコピー&ペーストしてきて、貼り付けた瞬間にセルの中が数字の3364になる、といった感じの内容です。 よろしくお願いします。

  • Excelでセル内の数字だけ取り出したい。

    1セル内に最大40文字程度の半角英数カナが混在しています。 例:1234abcdアイウ3456efghijk これが数千行あるのですが、集計のため数字にしたく、 しかも数字連続と次の数字連続の間にスペースを入れたいです。 例:1234 3456 かなり調べましたが、関数では数字を取り出すだけでも40文字は不可能のように思います。 マクロで置き換えを連続させて文字を消すのは思いつくのですが、 今少しスマートな方法はありますでしょうか?

  • エクセル 同一セル内の文字・数字を分けたい

    お世話になります。 セル内にある「11あいう」などを「11」と「あいう」といった感じで二つのセルに分けたいのですが、関数でいい方法ありませんか? 半角数字・全角文字です。 「10」~「99」の間にしか「あいう」は付いておらず、「あいう」以外の文字はありません。 宜しくお願いいたします。

  • エクセルで文字と数字が入っているセルを足すには

    エクセルで文字と数字が一緒に入っているセルの数字 だけを合計することはできるでしょうか? 例えば、休8のようなセルです。 よろしくお願いいたします

  • エクセルの文字と数字

    あるセルの中に違うセルの文字を読み込んだ後にもう一つのセルにある数字から1~8の数字を引くことは可能でしょうか?

  • エクセルでセルに入っている数字と数字を|でつなぎ一つのセルに

    横に並びあう複数のセルに文字列で5桁の数字が入っています。 これらを"|"をつかってつなげ、一つのセルに入れたいのですが、 いい方法はないでしょうか。 ▼最終形がこのようになり、一つのセルに入れたいのです。 20432|20433|20434 どうぞよろしくお願いいたします。

  • 同一セル内に数字・文字がある場合の計算式

    同一セル内に数字・文字がある場合の計算式 エクセルにおける表計算で困っています。 表計算をする場合、通常はセル内に数字のみを入力し合計値を求めてました。 例:100+100 合計200 しかし、同一セル内に文字が入ってきた場合は、合計値を求めても計算ができません。 例:100円+100円 合計0 セル数が少なければ電卓でも出来ますが、多い場合や平均値を求める場合に効率が悪くなります。 セル内の文字を読み取ることなく、数字データだけ読み取る方法はありますか?

  • セルに入力されている数字列を 一文字ずつセルにふりわけたい

    たびたびよろしくお願いします。 ひとつのセルに6~7桁の数字が入力されてます。 (数字と数字の間にはスペースはありません) A 7桁の場合はこの数字を一文字ずつ  別のセルひとつひとつに  振り分けたいのですが 可能でしょうか? 例 「9654321」→   「9」「6」「5」「4」「3」「2」「1」 B 6桁の場合は頭にゼロを入力して   同様に別のセルひとつひとつに   振り分けたいのですが 可能でしょうか? 例 「654321」→   「0」「6」「5」「4」「3」「2」「1」  

  • エクセルのセル内での数字の並び替え

    こんにちは。 エクセルについて質問です。一つのセルの中に10桁の数字がいくつかあります。 これを同じセル内で縦に並べることは可能でしょうか? ALT + ENTERで数字を一つずつ改行するよりも何かもっと効率的な方法はあるのか、何方か教えていただけますか? (例えばマクロとかアクセスで) 数字は常に10桁なのですが、行によっては9個以上あることもあります。 例: セルA1 0011005408 8701005438 8721005627 8731005602 8741005539 8861005557 8701005441 8721005629 8861005559 ↓ これを、同じセル内で 0011005408 8701005438 8721005627 8731005602 8741005539 8861005557 8701005441 8721005629 8861005559 どうぞよろしくお願いします。

  • Excel セル内の文字列の数字の桁数を増す方法について

    エクセル2000にて、セル内に4桁、6桁、7桁、8桁の文字列の数字が、別々に入っているとき、文字列の数字が7桁の時のみ 0 を書き加えて、8桁にする方法を教えてください。 例)A1 4001 33000018 6200095 →06200095 6100092 →06100092 4176 200025 6100061

専門家に質問してみよう