• ベストアンサー

Excel(エクセル)での特定文字以降の文字列抽出

Excelでの 特定文字以降の文字列抽出&条件による振り分け を自動的にする事は可能でしょうか? 例えば図のように セルA2に1200×15 セルA3に2300×3 と入力されている時 C2に15 B3に3 と表示したいです。 できれば、 後で合計を出したいので数字として扱いたいです。 よろしくお願いいたします。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆これでいいですね B2=IF(COUNTIF($A2,B$1&"×*"),SUBSTITUTE($A2,B$1&"×",)*1,"")

miruo_o
質問者

お礼

できました! 1番短くて どんな内容の式か理解できる コノ式を使わせていただきます。 ありがとうございました。

その他の回答 (7)

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

色々のタイプの回答が出ているので私も1つ。 ユーザー関数を作る。 標準もニュールに (ツールーマクローVBE-挿入ー標準モジュールの画面) Function Xafter(a) x = Split(a, "X") Xafter = Val(x(1)) End Function を入れて セルに =xafter(A1)と入れる。 上記はXは半角大文字Xに限る関数。

miruo_o
質問者

お礼

申し訳ありません(´;ω;`) まだマクロを使ったことがなかったので よくわからないながらも 書いていただいた手順通りに コピペしてみましたができませんでした

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.7

こんにちは マクロで行うのなら、こんな感じです Sub Test()   Dim v As Variant, c As Range, myC As Variant   For Each c In Range("A2:A6")     v = Split(c.Value, "×")     myC = Application.Match(Val(v(0)), Range("B1:D1"), 0)     c.Offset(, myC).Value = Val(v(1))   Next End Sub

miruo_o
質問者

お礼

申し訳ありません(´;ω;`) まだマクロを使ったことがなく、よくわからないながらも 書いていただいた文を コピペしてみましたができませんでした。

回答No.6

文字列だと以下のことが気になります。 ・全角文字が紛れ込むことはないのか ・数値と「X」との間にスペース(全角・半角)が入り込むことはないのか 以上の2点のどちらかのケースがありうると、ちょっと面倒です。

miruo_o
質問者

補足

会社のデータベースを確認したら、 指摘していただいた2点は どちらもありませんでした。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆こんな方法も B2=IF(COUNTIF($A2,B$1&"×"&"*"),SUBSTITUTE($A2,B$1&"×",)*1,"") ★右と下にコピー

miruo_o
質問者

お礼

できました! ありがとうございました。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.3

B2=IF(B$1=LOOKUP(10^10,LEFT($A2,COLUMN(1:1))*1),LOOKUP(10^10,RIGHT($A2,COLUMN(1:1))*1),"")

miruo_o
質問者

お礼

できました! ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

B2セルに次の式を入力したのちに右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF($A2="","",IF(LEFT($A2,FIND("×",$A2)-1)*1=B$1,MID($A2,FIND("×",$A2)+1,5)*1,""))

miruo_o
質問者

お礼

できました! 丁寧な手順も書いていただき とても参考になりました ありがとうございました。

  • nosense
  • ベストアンサー率28% (14/49)
回答No.1

表のセルに下記の計算式を考えてみました。 該当しないセルは“0”が表示されてしまいますが、 気に入らなければ、「書式」→条件付書式で定義してください。 試してみてください。 但し、A列の掛け算は“X”を使用することと、スペースは入れないことに注意ください。 ↓↓↓↓↓↓↓↓下記の式をセルに記載↓↓↓↓↓↓↓↓↓↓ =VALUE(IF(EXACT(LEFT($A2,FIND("X",$A2)-1),B$1)=TRUE,RIGHT($A2,LEN($A2)-FIND("X",$A2)),))

miruo_o
質問者

お礼

申し訳ありません(´;ω;`) エラーが出てしまい なぜかできませんでした。

関連するQ&A