質問: excel 複数の検索値の合計を出したいのですが excel2010でどのように関数を使えばよいかわからずに困っています。 どなたかご教示ください。 sheet2sheet3 a1111 a1 a2222 a2 b1333 b1 b2444 b2 a2 555 z3666 c1777 a2888 このようなbookがあります。 検索値はsheet2の列の4つ(実際には20程)で、この4つをsheet3の列(実際には40程)か ら全て抽出しての列右の数値の合計を出したいのですがどうしてもできません。 今回の例の場合 (a1/111)(a2/222)(b1/333)(b2/444)(a2/555)(a2/888) の合計2,453を 任意のセルに返したいのです。 sheet2のようなsheetがたくさんあるので関数を使ってコピーして算出したいのですが vlookup・sumif・sumifs・countif・dsum等々調べましたが私にはどうしてもできません。 ピボットテーブルやマクロまで詳しくないので関数で何とか算出できないかとご相談です。 お詳しい方どうぞよろしくお願いいたします。
回答: 少々ご質問文の中に曖昧さを感じるのです。 なので、的から外れていたら申し訳ないです。 例えば、ここ > sheet3の列(実際には40程)か ら全て抽出して これは ・実際は(例えば)b列に40行ほどデータがある ・実際は(例えば)b列~ao列まで40列ほどデータがある どちらでしょう? 前者なら単純にsumif関数で =sumif(sheet3!$a$2:$a$41,sheet2!a1,sheet3!$b$2:$b$41) でいけるかもしれません。 後者の場合は作業用の列にsum関数で合計を出しておいて、 同様にsumif関数で何とかなるかもしれません。 コレを > 検索値はsheet2の列の4つ(実際には20程) この数だけ準備して、最終的に合計してやればokだと思われます。 前者でsumifs関数で一度に処理するのであれば、 =sumifs(sheet3!$b$2:$b$41,sheet3!$a$2:$a$41,sheet2!a2,sheet3!$a$2:$a$41,sheet3!a3・・・20ほど繰り返す) で強引にできないこともないです。 式が長くなりすぎて何が何だか分からなくなっちゃいますけどね。 なので個人的にはsumifs関数は好みでなかったりします。 ※ココでは半角スペース・タブの大半は消去されて詰まってしまいますね。 全角スペースに置き換えてみるとうまくいくかもしれませんよ。