• ベストアンサー

COUNTIFSで名前の定義を使用する方法

はじめまして。 添付ファイルのような表があり、それぞれA班のりんご・みかんそれぞれの合計。B班のりんご・みかんのそれぞれの合計を出したいのですが、うまくいきません。 名前の定義 A1:A3 … A班 B1:B3 … B班 B8セルには下記の計算式を入れています。 =COUNTIFS(A12:A19,A班,B12:B19,A8) 解決方法がわかる方、どなたか教えて頂けないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

提示された数式は、配列数式ですので以下のようにSUMPRODUCTで集計してください。 =SUMPRODUCT(COUNTIFS($A$12:$A$19,A班,$B$12:$B$19,A8))

jcasey
質問者

お礼

素早い回答ありがとうございました! この式で難なくこたえを出すことが出来ました! 今ある表をそのまま利用出来るのと、一番シンプルな式でしたので、ベストアンサーとさせていただきます。

その他の回答 (3)

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

こんにちは! すでに色々回答が出ていますので、参考程度で・・・ COUNTIFS関数を使うとすると↓の画像のように作業用の列を設けた方が簡単だと思います。 区分けは2種類(A班・B班)だけだとして 「名前定義」を利用しています。 作業列C2セルに =IF(COUNTIF(A班,A2),"A班","B班") という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そしてF2セルに =COUNTIFS(C:C,E$1,B:B,E2) H2セルに =COUNTIFS(C:C,G$1,B:B,G2) という数式を入れ、それぞれをフィルハンドルで下へコピー! これで画像のような感じになります。m(_ _)m

jcasey
質問者

お礼

ご回答ありがとうございました。 参照する表は、データをシステムから落として来るため、出来るだけ作業列を追加しないやり方を考えてました! こちらのやり方も今後の勉強の為に、覚えておこうと思います。 ご丁寧にありがとうございました!

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

COUNTIFS関数は、AかつBかつC の様な条件設定しかできません。 あなたのしたいことは、Aが1~3の何れかで、かつB という様な条件です。 「かつ」はできるけど、「または」はCOUNTIFS関数できないのです。 名前の定義を使っているから出来ないのでなく、 「=COUNTIFS(A12:A19,A班,B12:B19,A8)」 では、条件に「A班」と複数のセルをしている事が原因です。 COUNTIFSのみで行うとすれば、 =COUNTIFS(A12:A19,"A",B12:B19,A8)+COUNTIFS(A12:A19,"B",B12:B19,A8)+COUNTIFS(A12:A19,"C",B12:B19,A8) という長い式になります。 (あなたのやりたいことはこいうことです) せっかくつけた名前を使いたい場合は、 =COUNTIFS(A12:A19,INDEX(A班,1),B12:B19,A8)+COUNTIFS(A12:A19,INDEX(A班,2),B12:B19,A8)+COUNTIFS(A12:A19,INDEX(A班,3),B12:B19,A8) といった式になります。 皆さんの回答の通りCOUNTIFSにこだわらなければ、以下の様な感じでもできます。 =SUMPRODUCT(((A12:A19="A")+(A12:A19="B")+(A12:A19="C"))*(B12:B19=A8))

jcasey
質問者

お礼

なぜ出来ないのかずっと考えて居ましたが、kyboさんのおっしゃる通りですね…! 理由が解ってスッキリしました。 ご丁寧にありがとうございました!

noname#204879
noname#204879
回答No.2

COUNTIFSに固執しない別解です。 セル B8: =SUMPRODUCT(COUNTIF(INDIRECT(A$7),$A$12:$A$19)*($B$12:$B$19=A8)) セル B8 をセル E8 にコピー&ペースト

jcasey
質問者

お礼

なるほど! 他のやり方もあるんですね! 勉強の為にこちらの式も参考に、やってみます。 ありがとうございました!

関連するQ&A

  • EXCELのCOUNTIFSについて

    ある集計表を作っており、「COUNTIFS」の導入を目指して勉強中です。 そこで疑問が生じましたので質問いたします。 例えば、A1のセルに「○」、B1のセルに「×」を打ち、そしてC1には○と×の合計数を数えるために「=COUNTIFS(A1:B1,"○","×")」と入力しましたが、「この関数に対して、少なすぎる引数が入力されています。」と出ます。 このエラーを回避しC1に○と×の合計数である「2」が入るようにすればどうすればよいでしょうか。別にCOUNTIFSには拘りません。もっと良い方法があるのでマクロはわからないので関数を教えてください。 また、私のつたない質問の意味が分からない方の回答はお控えくださいますよう、お願いいたします。

  • エクセル2003でCOUNTIFS

        A     B 1   カゴ   りんご 2   カゴ   りんご 3   棚    りんご 4   カゴ   みかん 問題:カゴには、何種類のフルーツが入っていますか? 答え:2種類 と、この答えをCOUNTIFS で出せることがわかったのですが、 2003年バージョンのエクセルだと、どのような数式になりますでしょうか? いろいろ調べたのですが、思ったより難しくて…やはり降参です(ToT) シンプルな数式で、どうにかできないでしょうか??

  • countifs関数

    countifs関数で複数条件に合うものをカウントしたいのですが たとえばA列にあるリンゴとミカンとバナナの中で B列にあるA商店 C列にある掛け売り といったようなカウントをする場合 どのように設定すればいいのでしょうか?

  • 表を利用した名前の定義・入力規則設定について

    はじめまして。 エクセルの入力規則・名前の定義でどうしても分からない事が ありましたので、教えて頂けますでしょうか? 【前提】以下のような表が作成されているとします。 A列   B列 果物   りんご 果物   みかん 果物   いちご 野菜   ピーマン 野菜   にんじん 野菜   なす その他  肉 その他  魚 【要望】 セルC1に、果物のみ(「りんご」「みかん」「いちご」)が表示 されたドロップダウンリストを作成します。 同様に、セルD1に、その他のみ(「肉」「魚」)が表示 されたドロップダウンリストを作成します。 【質問】 要望を満たす為に、入力規則を設定したいのですが、  >前提にある表の中から、  >A列が果物であるデータだけを取り出し、  >そのB列をリストの元の値とする とする方法が分かりません。 「りんご」「みかん」「いちご」だけを選択し、名前定義をする、 という方法もあると思いますが、 そうではなく、あくまで「果物」というキーを指定して 名前を定義したいのです。 以上、よろしくお願いします。

  • エクセル2003 期間+文字を摘出して合計する

    エクセル2003を使用してます。 期間は2012/7/21~2012/8/20まで 一覧表の中からその期間内にある 「みかん」 の文字があるところの金額だけを合計で出す …という計算式を作りたいのですが…どのように組んだらいいですか? 例)   Aセル       Bセル    Cセル(金額) 1 2012/7/26    ごぼう    400 2 2012/8/3     みかん   150 3 2012/8/17    りんご    300 4 2012/8/20    みかん   180 ・ ・ ・ 10 2012/8/31  みかん     150 みかん 合計  330 このような感じで期間を指定して、みかんの文字あるセルの数字だけを合計する計算式があるようでしたら教えてください。

  • エクセルで同じ名前のものの数量を足したい

    表をまとめる作業をやっていて、同じ名前のものの数量を足して1行にしたいです。 初心者なので全くわかりません! A     B みかん   1 みかん   3 みかん   2 りんご   4 りんご    2 となっているものを A     B みかん   6 りんご   6 にするにはどのようにすればいいでしょうか???

  • 名前の定義(Excel2003)

    名前の定義についてのご質問です。 例えばA1に「果物」、A2~A4にみかん、りんご、バナナとして、A1~A4を選択し[挿入]⇒[名前]⇒[作成]⇒[上端行] これでA2~A4は「果物」という名前がつきます。 ここからが問題なのですが、 A1に「1月」、A2~A32に、1日、2日、3日・・・、31日として、A1~A32を選択し[挿入]⇒[名前]⇒[作成]⇒[上端行] 結果、A2~A32を選択すると「_1月」という名前がつきます。 なぜ、アンダーバーが付いてしまうのでしょうか? また、アンダーバーと消そうとすると、 「ジャンプ先のセル参照、または選択する範囲の名前を正しく入力してください。」と出ます。 解決法が分かる方、お願いします。

  • 名前の定義を自動でできる方法ってないでしょうか?

    名前の定義を自動でできる方法ってないでしょうか? セルA1に 定義する名前 セルA2に 範囲(はじまり) セルA3に 範囲(終わり) ドッロップリストにて定義した名前を表示する。 例えば、A1 野菜:B1 肉 A2 キャベツ:B2 豚 A3 レタス :B3 牛 D1にドロップダウンリストで範囲をA1:B1で選択 E2でドロップダウンリストで範囲をINDIRECT(D1)で選択 名前の定義を 範囲(A1:A3)名前を(上端行) 範囲(B1:B3)名前を(上端行) としていた場合。 B1を魚、B2を鯛、B3を鯵に変えた場合、自動的に名前の定義(名前)が「肉から魚」に変わり 鯛や鯵をドロップダウンリストに表示したいのですが? 出来るのでしょうか?

  • エクセル「COUNTIFS」でエラーになります。

    セルF10~P10で”○”が連続して3つ並んでいるかどうか調べるのに先日教えて頂いた「COUNTIFS」関数を使ってみたのですがERRORになってしまいます。 添付のファイルの斜線罫線部のセルは除きたいのですがどうすればよいでしょうか? また教えて頂けると幸いです。  =IF(COUNTIFS((G10:I10,M10),"○",(H10:I10,M10:N10),"○",(I10,M10:O10),"○")>3,"A","B")

  • エクセルのCOUNTIFSについて

    エクセルで、COUNTIFS ORを使ってカウントした際(例:同一セル内に=COUNTIFS(A)+COUNTIFS(B)で検索等)、該当したセルデータを抽出する方法を教えて下さい。 ※エクセル2016、アクセス2016等 何卒、よろしくお願いいたします。

専門家に質問してみよう