• ベストアンサー

Excelマクロ 別セルの文字列を関数の条件部分に代入したい

Excelで、マクロを使い以下のようなことをしようとしていますが 煮詰まってしまい困っております。どなたかお助けいただけないでしょうか。 初心者ですので、勉強不足で申し訳ございません。 1. A列にずらりと語句が並んでいる(B列は数値のデータ) 2. C列にマクロでSUMIF関数を自動的に入れていく 3. 2のSUMIF関数の「条件」に、A列の語句を代入していく 4. 3の語句の前後にはワイルドカード「*」を入れる 5. 2~4を繰り返し、A列の語句の数だけB列に作成 具体的に申しますと、下記のような関数なのですが、 =SUMIF($A$1:$C$100,"*中央区*",$B$1:$B$100) この例で言いますと、"中央区"の部分のみをA列から 一つずつ拾ってきたいのです。 ワイルドカードを使う必要がなければマクロは不要(セルのアドレスを 予め設置しておけばOKのはず)だと思いますが、 どうしてもワイルドカードでデータを拾う必要が生じています。 文字列を取ってきて組合わせていくマクロが存在するのでしょうか、 リファレンスや検索エンジンで一週間ほど調べましたがどうにも解決しませんでした。 どうかよろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>ワイルドカードを使う必要がなければマクロは不要 ワイルドカードであってもマクロは不要です。C1セルに  =SUMIF($A$1:$A$100,"*"&A1&"*",$B$1:$B$100) を入力してC100までコピーしてください。

harmoniodeon
質問者

お礼

迅速なご回答、ありがとうございます、無事に解決いたしました!! ほんと、勉強不足ですね。。。 マクロレベルの話ではないとは。。。 本当にありがとうございます! 資料作成がやっと終わりました! No2の方のご指摘通り、質問の例題が間違っていたのですが、 質問の意図を汲んでいただきありがとうございました。

その他の回答 (1)

  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.2

"*中央区*"という条件ってことはA列の値は 札幌市中央区1丁目 津市港区3丁目 中央区5丁目 ひたちなか市浜野2-3 などということですよね?そのA列の値を拾って、どういう基準で中央区だけを取り出して前後にワイルドカードをつけるつもりでしょうか?やりたいことが解りません。

harmoniodeon
質問者

補足

質問をきちんと読んでいただき、ありがとうございます。 矛盾した例題を書いてしまいました。申し訳ございませんでした。 QA参照用に、質問の例題部分を修正させていただきます。 ------ 1. A列にずらりと語句が並んでいる 2. B列にマクロでSUMIF関数を自動的に入れていく 3. 2のSUMIF関数の「条件」に、A列の語句を代入していく 4. 3の語句の前後にはワイルドカード「*」を入れる 5. 2~4を繰り返し、A列の語句の数だけB列に作成 具体的に申しますと、下記のような関数 =SUMIF(別シート!$A$1:$B$100,"*中央区*",別シート!$B$1:$B$100) 中央区"の部分のみをA列から一つずつ拾う ------- ご指摘誠にありがとうございました。 No.1の回答をいただき解決いたしました。

関連するQ&A