• ベストアンサー

エクセルの関数を教えて下さい。

PCはXPでエクセル200です。 A1セルに「山2」と入力してあります。 B1セルを「=A1」とするとB1に「山2」」となりますが B1セルには英数の「2」となるように英数だけをピックアップして表示させたいのですが… 宜しくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

例示のデータなら、例えば右一文字を文字列として抽出して、それを数値化すればできます。 =RIGHT(A1,1)*1 上記の数式でうまくいかない場合は、実際のデータの文字列と数字の組み合わせの規則を具体例をあげて例示されたほうが良いと思います。

maccoi_021
質問者

お礼

皆さん回答有難う御座いました。 MackyNo1さんの回答のヒントのおかげで 思ってる通りの事が出来ました。 3桁の英数を抽出するには =RIGHT(A1,3) で出来ました。

maccoi_021
質問者

補足

回答有難う御座います。 質問の内容がはっきりしていなかったようで 大変申し訳御座いませんでした。 MackyNo1さんの回答の通りだと0~9まではOKでしたが 3桁までの英数字を抽出したいのです。 A1が「路上26」とか「路外103」とかの場合 B1は「26」・「103」になるようにしたいのです。 宜しくお願いします。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 他の方々も仰っているように少し情報が少ないように思います。 単に質問通りに「漢字1文字+数字1文字」だけなら簡単にできると思います。 ただし、そんな単純なことではないと思います。 >英数の「2」となるように英数だけをピックアップして・・・ とありますので、先走り過ぎているかもしれませんが、A列に入っている文字列には 全角・半角の英数字が複数混在しているとしての一例です。 VBAになってしまいますけど、 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → 実行です) Sub test() 'この行から Dim i, j As Long Dim str, buf As String For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For j = 1 To Len(Cells(i, 1)) str = Mid(Cells(i, 1), j, 1) If str Like "[0-9,0-9,A-Z,a-z]" Then buf = buf & str End If Next j Cells(i, 2) = buf buf = "" Next i End Sub 'この行まで こんな感じですが、参考にならなかったら無視してください。m(__)m

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>英数だけをピックアップ  ⇒抽出文字数は右1文字だけ、入力データは数字だけなのでしょうか。   もう少し補足して下さい。

関連するQ&A