• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SUMPRODUCTとワイルドカード)

SUMPRODUCTとワイルドカードを使った県の合計を求める方法

このQ&Aのポイント
  • 「県のみ合計」という条件が入った場合に、SUMPRODUCTとワイルドカード(*県)を使って作業列を作らずに数式を組み立てる方法を教えてください。
  • Vista Excel2007を使用しています。
  • また、SUMPRODUCTの数式の組み方についても質問があります。

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

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

こんばんは! ワイルドカートではないのですが・・・ 表示したいセルに =SUMPRODUCT((ISNUMBER(FIND("県",A1:A5))*(B1:B5)*(C1:C5))) または =SUMPRODUCT((ISNUMBER(FIND("県",A1:A5)))*1,B1:B5,C1:C5) としてみてはどうでしょうか? 都道府県名以降に○○市などがあっても対応できます。 ※ 後者の数式は各列を配列にしていますので、 A列を「1」または「0」にするために *1 としています。 前者の数式は「TRUE」「FALSE」に直接数値をかけていますので、*1 は必要ありません。m(_ _)m

noname#224629
質問者

お礼

早々と回答いただき感謝です。 日頃のご活躍拝見させていただいております。 No1様の補足欄の完了後確認しますと、No2様の回答をいただいているのに気付きました。 ちょっと行き違いでしたね。 補足の質問より先に回答していただいた気分です!(実際そうなんですが…) >都道府県名以降に○○市などがあっても対応できます。 >後者の数式は各列を配列にしていますので、A列を「1」または「0」にするために *1 としています。 →まさにお聞きしたかったことを回答してくださっていたのでびっくりしました。 説明してくだっさたことをしっかり読んで、頭に入れようと思います。 ありがとうございました。

noname#224629
質問者

補足

いい回答を二つもいただけましたので、そろそろ締め切らせていただきます。 ベストアンサー悩みましたが、No2様とさせていただきます。 ISNUMBERとFINDは頭に浮かんでいたのに、ネストのやり方が悪くダメだと思ってしまっていました…。ちょっと情けなかったです。 No2様の数式でばっちりでした。 わかりやすい解説、ありがとうございました。 この場を借りて… No1様、素晴らしい回答をいただきましたのにごめんなさい。 No1様の回答内容を先に頭に入れたことで、No2様の回答がすんなり頭に入ってきました。 エラー表示云々は今後役立つことと思います。 これに懲りず、今後ともよろしくお願いします。 気持ちの上ではお二人ともベストアンサーでした。 ありがとうございました。 お二人に感謝です!

その他の回答 (1)

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

一例です。 =SUMPRODUCT((RIGHT(A1:A5,1)="県")*1,B1:B5,C1:C5) =SUMPRODUCT((B1:B5)*(C1:C5))や=SUMPRODUCT(B1:B5*C1:C5)は、単に配列*配列であり、文字列(""の空も含む)が入るとエラーになりますが、=SUMPRODUCT(B1:B5,C1:C5)では文字列をゼロとして処理するのでエラーになりません。 今回答も、条件列と集計列は「*」で連結しないで=SUMPRODUCT(B1:B5,C1:C5)の様に分けて記述するようにして下さい。

noname#224629
質問者

お礼

早々と回答していただき、ありがとうございます。 なるほどです。 今回の例では確かに最後の文字が都道府県のいずれかになっていましたね。 >=SUMPRODUCT(B1:B5,C1:C5)では文字列をゼロとして処理するのでエラーになりません。 →試してみましたところ、教えていただいた通りの結果になりました。  今後このあたりを意識して使い分けたいです。 わかりやすく説明してくださり頭が下がります。 ありがとうございました。

noname#224629
質問者

補足

>=SUMPRODUCT((RIGHT(A1:A5,1)="県")*1,B1:B5,C1:C5) →RIGHTに関してはわかるのですが、「*1」は何を意味するのでしょうか? あと… 今回はA列には都道府県まででしたが、「市」以降も入力されていた場合、どうすればいいですか? 試しにFINDやISNUMBER、ワイルドカードを使ってみましたが、うまくいきません。 もうちょっとやってみます。