• ベストアンサー

Exel2003で特定の文字列を含む行の数字を拾う方法

初めての質問です。失礼があったらすみません。 Excel2003を使用していますが、『特定の文字を含む行の数字を拾って足し合わせていく』というマクロを組みたいと考えています。 例えば、 パンダ 200 コアラ 210 ねずみ 300 パンダ 400 ねずみ 100 といった表であれば、『パンダ』を特定の文字列として指定し、 自動的にパンダの文字列を含む数字「200」と「400」を足し合わせた結果が出力されるようなマクロを組みたいです。 マクロほぼ初心者ですので、コピペで使用できるようなマクロを教えていただけると嬉しいです。よろしくお願いします。

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

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

こんばんは! VBAでないので参考にならなかったら無視してください。 ↓の画像でE2セルに =IF(D2="","",SUMIF(A2:A100,"*"&D2&"*",B2:B100)) という数式を入れています。 これでD2セルに検索したい文字列の1文字でも入力すれば それを含むB列の合計が表示されるはずです。 以上、参考になれば良いのですが 最初に書いたように的外れなら読み流してくださいね。m(__)m

white7lies
質問者

お礼

tom04さん 非常にお早い返事ありがとうございます! いえいえVBAでなくともまったく問題ないです。 むしろ関数だけでできた方が何倍も嬉しいです。 勝手にこれはマクロくまなきゃできないだろうと思い込んで質問してしまいました。 非常に分かりやすく教えていただきありがとうございました。 おかげさまで仕事が思っていたより早く終わりました。

その他の回答 (1)

回答No.2

「マクロを組みたい」ということですので、SUMIF関数を使いましょう、という回答では的外れになるのでしょうか。 とっくにご存じかもしれませんが、一応書いてみます。 たとえば、「パンダ」「コアラ」の列がA列、数字がB列だとします。 そしてC・D列にその合計結果を表示する表を作成するとします。 上のパンダの例だと、C1 D1には「パンダ 600」と表示したいことになりますね。 そうするとD1セルに =SUMIF(A:A,C1,B:B) と入力することになります。 これは、「A列のなかで、C1(この場合パンダ)と一致するものについて、Bを合計する」 という意味になります。 オートフィルでD2以降にコピーして完成です。

white7lies
質問者

お礼

terayama1935さん お返事ありがとうございます。 お恥ずかしながらSUMIF関数も知りませんでした。 マクロどころか関数ひとつで解決する問題だったのですね。 非常に明確に、簡単な式を教えてくださり助かりました。 ありがとうございました。

関連するQ&A