• ベストアンサー

異なるシート間でCOUNTIFを使いたいのですが

異なるシート間で集計をとりたいのですが、作業グループとCOUNTIFがいまいちわからず、困りました。 Sheet1からSheet18までで、それぞれC7からC20までの範囲に、検索条件『ソーダ水』を求めたいのですが、 =COUNTIF('Sheet1:Sheet18'!C7:C20,"ソーダ水") とすると♯VALUE と出てしまいます。 ちなみに、Sheet1だけの範囲で、 =COUNTIF('Sheet1'!C7:C20,"ソーダ水") とつくってみると、ちゃんと出来ます。 グループで関数をつくるときに、何か加えなければならないのでしょうか。

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

  • ベストアンサー
  • rin01
  • ベストアンサー率43% (33/76)
回答No.2

こんばんは~♪ ふたたび~です。。。 通常1つのシートで数える場合は、SUMIFを使います ので。。。 =SUMPRODUCT(SUMIF(INDIRECT("'Sheet"&ROW($1:$18)&"'!C7:C20"),"ソーダ水",INDIRECT("'Sheet"&ROW($1:$18)&"'!D7:D20"))) こんな式になります。。 "ソーダ水" の部分は、どこかのセルへ ソーダ水 と入力しておいてそのセル参照でもいいですネ!! 。。。Ms.Rin~♪♪

dodododon
質問者

補足

大変勉強になりました。 自分でつくってみた式が、 =SUMPRODUCT(SUMIF(INDIRECT("'Sheet"&ROW($1:$18)&"'!C7:C20"),"ソーダ水",SUMIF(INDIRECT("'Sheet"&ROW($1:$18)&"'!D7:D20") というもので、エラーが出たんです。 ちょっとしたことに気がつかなかったり、確信がもてないまま式を見よう見真似でつくったりすると、ぜんぜんだめですね・・・ 答えの式を見て、なるほど、と感心しました。 どうもありがとうございました。お世話になりました。

その他の回答 (2)

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

昨日今日でも3質問で同じことを私は言っているが、現状のエクセルは別シートにデータを作ると、関数しか念頭に無い人には、何かしようとすると苦しいのだ。少しエクセルを使えばそのことは判るはず。 それに対して (1)プログラムを組む必要があるが組んだものを利用する   A.MS社が用意したもの 統合、3D集計・集計   B.フリーソフトの類 (2)VBAを勉強し自分でプログラムを作る などの対処法があると思う。 ーー 下記に、(1)のAのカテに当たる、「統合」でやってみる。 実例も質問するとき下記のように書くべきと思う。 たまたま統合機能では、ソーダ水・酒とかの出現順序は同じでなくてよい。 Sheet1 A1:D3 商品名 個数 単価 合計 酒 4 1000 4000 ソーダ水 3 350 1050 Sheet2  A1:D4 商品名 個数 単価 合計 ソーダ水 5 350 1750 酒 7 1000 7000 ジュース 10 400 4000 Sheet3 A1:D4 商品名 個数 単価 合計 梅酒 6 1000 6000 ジュース 3 400 1200 ソーダ水 9 350 3150 ーー Sheet4において データー統合ー合計(別内容質問にはデータの個数もある) Sheet1!A1:D3 Sheet2!A1:D4 Sheet3!A1:D4 になるように、範囲指定バー(斜め矢印クリック+シートタブ指定+セル範囲指定)と追加ボタンクリックを3回繰り返し行う。 「統合の基準」は「左端列」 OKで 結果 商品名 酒 11 2000 11000 ソーダ水 17 1050 5950 梅酒 6 1000 6000 ジュース 13 800 5200 なぜか見出しが出ないのと、単価が合計されてしまっているのがおかしいが(前者は何か方法があるかも)参考にしてください。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/tougou.html などWEB(Googleなど)で「エクセル 統合」で照会したものを勉強してください。

  • rin01
  • ベストアンサー率43% (33/76)
回答No.1

こんにちは~♪ COUNTIFは、複数シートの串刺し計算は出来ませんので それぞれのシートの同じセルで、COUNTIFで計算して おいて、SUM関数で串刺し計算してはいかがでしょうか。。。 あまりお勧めできませんけれど。。。 こんな式でも計算は出来ますが。。。 シート名が連続している場合です。 >Sheet1からSheet18までで、それぞれC7からC20までの範囲に、 =SUMPRODUCT(COUNTIF(INDIRECT("'Sheet"&ROW(1:18) & "'!C7:C20"),"ソーダ水")) ご参考にどうぞ。。。 。。Ms.Rin~♪♪

dodododon
質問者

補足

=SUMPRODUCT(COUNTIF(INDIRECT("'Sheet"&ROW(1:18) & "'!C7:C20"),"ソーダ水")) でカウントできました。ありがとうございます! と、ふと重大なことに気がつきました。ソーダ水の注文の集計をカウントしても意味がなかったのです。ソーダ水が何個売れたか、という集計でした・・・! それで、Sheet1からSheet18までの、それぞれC7からC20までは、注文内容で、D7からD20は、その個数になります。 ソーダ水の注文があった場合、それが何個出たのか、という集計をする計算方法はどうしたらよいでしょうか。 もしソーダ水がSheet1からSheet18までのC7からC20にあれば、その右隣のセル、すなわちソーダ水の販売個数を数えたいということです。 すみませんが、教えてください。  C    D   E   F 商品名  個数 単価  合計 ソーダ水  3  350  1050 というふうになっているのです。

関連するQ&A

専門家に質問してみよう