• ベストアンサー

2007のIFSから2003のIFへの変更について

A-C列の条件に該当するD列の「あ」をカウントする場合の =COUNTIFS(D2:D5000,"あ",A2:A5000,100,B2:B5000,"山",C2:C5000,7) という数式を2003でも使えるものに訂正したいのですが、どのように修正したらよいですか。(実際には条件列がもっと多いのですが) ※SUMIFSからSUMIFに変更する場合も同様の考え方になりますか

  • enimy
  • お礼率86% (225/259)

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

=COUNTIFS(D2:D5000,"あ",A2:A5000,100,B2:B5000,"山",C2:C5000,7) は次のような式になりますね。 =SUMPRODUCTS((D2:D5000="あ")*(A2:A5000=100)*(B2:B5000="山")*(C2:C5000=7)) 例えばこのような条件でE列の数値を合計するのでしたら次のような式になります。 =SUMPRODUCTS((D2:D5000="あ")*(A2:A5000=100)*(B2:B5000="山")*(C2:C5000=7)*(E2:E5000))

enimy
質問者

お礼

単純にIFSをIFに変えることしか頭にありませんでした。 2003の関数本を開いてみたらSUMを配列数式として使う項目がありました。どうしたらここを開くことに気付けるのかナ?の感じです。 取り急ぎ送付する表の訂正はできそうです。 配列数式はCtrl+Shiftで確定となっていますが、このケースもそうですね。(やってみます) ありがとうございました。

その他の回答 (1)

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

こんにちは! セル数をカウントすれば良いわけですね? 一例です。 表示させたいセルに =SUMPRODUCT((A2:A5000=100)*(B2:B5000="山")*(C2:C5000=7)*(D2:D5000="あ")) でOKかと思います。 もし条件列が増えても同じように *()として、()の中に (列範囲指定=条件)と続けてみてください。 以上、参考になれば幸いでが 的外れなら読み流してくださいね。m(__)m

enimy
質問者

お礼

参考になりました。 どうしてこの式になるのか理解がイマイチですが、あとで検証してみます。 ありがとうございました。

関連するQ&A

  • 複数条件でのカウント

    データの個数のカウントで行き詰りましたので質問させていただきました。 複数条件で検索するのですが、その条件の中に AND と OR があります。 現状ではCOUNTIFSを足していって算出していますが、場合により条件が多くて とんでもなく長い式になってしまっています。 なんとか簡潔に短い式にまとめられないかと思いまして試行錯誤したり調べたり してみたのですが答えが出ませんでしたので質問に至りました。 現状では以下の様になっております。 A列・・・2ケタの数字 B列・・・数字・文字列の混合 データは約1000行あります。  このデータから、A列の 10 or 15 のデータで、 かつB列の 4 or 1_100 のデータの個数を求める式です。 =COUNTIFS(A1:A1000,C1,B1:B1000,D1)+COUNTIFS(A1:A1000,C1,B1:B1000,D2) +COUNTIFS(A1:A1000,C2,B1:B1000,D1+COUNTIFS(A1:A1000,C2,B1:B1000,D2) 条件を変えていろいろカウントしたいので、 C1~C2にA列の検索条件を入力するセルとし、 D1~D2にB列の検索条件を入力するセルとしております。 上記の式は条件がそれぞれ2個ずつとなっておりますが、 片方だけで6個までいく事もあり、その場合式がかなり長くなります。 これをどうにかして簡潔に短くまとめたいと思っております。 ご存知の方がおられましたらご教授下さい。 よろしくお願いいたします。

  • エクセル2007countiifs機能について

    複数のデータが存在するシートから A列がD1の同じ値、B列が2008年12月のデータ、 C列が2009年1月になっているデータの件数を確認したいとき E1セルにどのように入力すべきでしょうか。 A B C D E 1 1 2008/12/1 2009/1/1 1 数式 カウント対象 2 2 2008/12/1 2009/1/1 カウント対象外 3 1 2009/ 1/1 2009/1/1 カウント対象外 4 1 2008/12/1 2009/2/1 カウント対象外 =COUNTIFS(a:a,d1,b:b,"<2008/12/31")-COUNTIFS(a:a,d1,b:b,"<2009/1/31")-・・・? お助けいただければ幸いです。。。

  • エクセル、COUNTIFS関数の範囲指定について

    エクセル2010です。 「A1の文字列が、B列とC列の中から合致し、さらにD列の"○○"という条件を満たすものはいくつあるか」 という数式を作りたいです。 写真でいうと、B・C列の中から中央区があるかどうか、さらにその中に山田がいるか、という検索式です。 そこで、COUNTIFS関数を使い、fxボタンで半自動で作ったところ、 =COUNTIFS(B:C,A1,D:D,"山田") となったのですが、なぜか結果はエラーになってしまっています。 どうやら検索条件の範囲が「B:C」になっているのが問題なのか、B:BやC:Cだけにすると、ひとつの列なら正常に計算するようです。 そこで式を二つに分け、プラスでつなげてみました。 =COUNTIFS(B:B,A1,D:D,"山田")+COUNTIFS(C:C,A1,D:D,"山田") こうしてみると一応成功しました。 しかし動作が重くなり、処理に数秒かかるようになってしまいました。 (B:Bなどひとつの列なら、数式を記入した瞬間に結果がでます) できれば数式は短くシンプルにしたいので、前述の短い形式のようにならないものか、と思います。 COUTIFS関数で、検索範囲を「○列~△列」のようにできないものでしょうか? アドバイスをよろしくお願いします。

  • SUMIFとIFの組み合わせ方

    実際の関数のため、シート参照があり分かりにくくてすみません。 SUMIF関数で合計する「条件と範囲」を変えたい場合の質問です。 最初はSUMIFの中で条件を入力してみたのですが、そもそも以下にあるように真と偽だけでは、偽(それ以外の場合)はすべて計算されてしまうため、IFを用いて先に判断してからとおもったのですが、値が0のままです。 IFとSUMIFの使い方が解るかた教えていただけたら幸いです。 IFとSUMIF以外でも回答あればよろしくおねがいします。 【IFの元、B6もしくはC6に値が入っているなら処理をする、両方に値が入っているか値が入っていないなら空欄】 =IF(AND($B6<>0,$C6=0),"勘定",IF(AND($B6=0,$C6<>0),"項目","")) 【上記IFに対してSUMIFで必要な範囲から合計金額を集計】 =IF(AND($B6<>0,$C6=0),SUMIFS(入力【契約書】!$D:$D,入力【契約書】!$E:$E,$C6,入力【契約書】!$I:$I,D$3,入力【契約書】!$J:$J,D$4),IF(AND($B6=0,$C6<>0),SUMIFS(入力【契約書】!$D:$D,入力【契約書】!$C:$C,$B6,入力【契約書】!$I:$I,D$3,入力【契約書】!$J:$J,D$4),""))

  • エクセルの集計方法

    エクセルで2つの条件に合致するものだけカウントしたいのですが、「countif」を二つ使うとエラーが出てしまいます。  具体的にいうと…   A列:氏名   B列:スーパーの種類(a,b,c,d,e)   C列:買うものの種類(A,B,C,D,E)  B列で「b」、C列で「D」に該当する人数を数えたい  …という場合の数式を知りたいのです。    オートフィルターだといちいち選ばなければならないので、数式で2列に該当するものだけカウントしたいと思っています。

  • EXCEL IF関数 AND、OR関数

    数式がわからず、お力添えください。 以下の「D」の「○」「×」を数式で入力するのが目標です。 数式で表すことができますでしょうか? 条件としましては、 B>Cのとき、Aの文字列が「X1またはX2」の場合は、「○」、それ以外は「×」 C>Bのとき、Aの文字列が「Y1またはY2」の場合は、「○」、それ以外は「×」 それ以外のとき、(B=C,どこかが空白のとき)は、空白  A  B  C  D  X1 37 63 ×  X2 78 22 ○  Y1 45 55 ○  Y2 29 71 × ご教授お願いいたします。

  • 【Excel】SUMIFSのコピーが連番になる

    条件が複数の場合の関数のSUMIFSについて、作り方は一応わかったのですが、コピーするとどうしてもセルが連番になってしまいます。 条件が一つの場合はSUMIFを使います。 たとえば添付画像の「種目」別の合計をだしたい場合、 =SUMIF(B:B,G6,D:D) という式になりますが、これを複数の条件とする場合にはSUMIFSを使うようですが、各「年」ごと、各「種目」の合計をさらに「店舗」ごと個別計算し、その結果を表2に示す場合、 =SUMIFS(D2:D596,A2:A596,H2,B2:B596,G5,E2:E596,H3) という式でよいかと思いますが、これを「種目」すべてにコピーすると、上の式のセルがすべて連番になってしまうのです。 たとえば =SUMIFS(D3:D597,A3:A597,H3,B3:B597,G6,E3:E597,H4) このようにです。 冒頭に述べた =SUMIF(B:B,G6,D:D) の場合、たとえば下のセルにコピーすると =SUMIF(B:B,G7,D:D) というようにG列だけ変化します。 連番になってしまうと、参照元がまったく別のものになってしまいます。 「合計対象範囲」「条件範囲」はセルの範囲を指定するという説明です。 https://www.becoolusers.com/excel/sumifs.html しかしこれは合計結果がひとつづつの場合ですが、この添付画像のような複数の項目の、複数の条件の場合、同式の内容のみコピーさせるにはどうしたらいいのか困っております。

  • countifs関数

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

  • COUNTIFSでの"a"がカウントされないのは?

    2007にて、列Bの55と列Cの"a" が一致する場合の列Aの"あ"をカウントする式として下記にて問題なくカウントされています。 =COUNTIFS(A2:A5000,"あ",B2:B5000,55,C2:C5000"a") 別の条件から"a"をカウントしたく、上記のカッコの中の部分を下記のようにすると「0」となりカウントされません。 (C2:C5000,"a",D2:D5000,1,E2:E5000,"△") "a"を"?"とするとカウントはされますが、b,cも含まれるため役にたちません。 C列の書式も標準となっております。どこにアナがあるでしょうか? この関数を使っていて気づいたのですが、2行目は絶対参照にしているのですが、データが頻繁に増えるため5000行のところは相対となっています。式のコピーにより行番号がずれ不一致となると機能しません。 これだと、列によって対象範囲(行番号)を変えるということが出来ないのですが対処法はあるのでしょうか?

  • Excel2007でCOUNTIFS前ゼロ否定条件

    Excel2007 のCOUNTIFS関数での否定条件の 指定方法について教えてください。 VBAのマクロの中で  (略)  For i = 1 to 10    Cells(i, "B").Formula = "=COUNTIFS(" & "A1:A10, $C$" & i & ")"  Next i   のような形で COUNTIFSを利用しています。    COUNTIFSの条件に <>を使って否定条件を指定したいのですが、以下の  ように期待した動作になりません。     例   A      B       C        D            1 '080  一般品    <>'080      =COUNTIFS(A1:A5,C1)  2 '020  一般品    <>一般品  =COUNTIFS(B1:B5,C2) 3 '040  一般品 4 '060   特別品  5 '080    一般品  セルC1の記述を変えた結果は以下の通りです。       C1      D1      備考 1)  <>'080   5    3 が入ってほしい。 2)  <>080   5    ' の有無で結果は変わらず。     '(シングルクォーテーション)は接頭辞で上記結果には無関係と理解。 3)  "<>'080"   0    "<>'080" 全体を条件値として認識してしまう。 4)  '080      2   当然 5)  <='060    3   当然   ちなみに C2に <>一般品 と条件を設定すると D2には1と期待通りの値が入ります。  1)2) の結果から A列に記述されている'080と セルC1の式に書か  れた '080 が、なぜか別の値と評価され 結果 D1が 5 となっていると理解しています。 A列のシングルクォーテーションは削除、A列の書式を文字列とし 文字列"080"とIF関数で比較すると以下の結果でした。   A    B     B列の式            1 080   FALSE  IF(A1<>"080",TRUE,FALSE)   2 020   TRUE IF(A2<>"080",TRUE,FALSE) 3 040   TRUE IF(A3<>"080",TRUE,FALSE) 4 060    TRUE  IF(A4<>"080",TRUE,FALSE) 5 080    FALSE IF(A5<>"080",TRUE,FALSE)   Excelの「数式」メニュー -「ワークシート分析」-「数式の検証」で C1セルに <>'080 、<>080、"<>'080" 、<='060 を指定した時、それぞれ 1) COUNTIFS(A1:A5,"<>'080")   2) COUNTIFS(A1:A5,"<>080")   3) COUNTIFS(A1:A5,"""<>'080""") 5) COUNTIFS(A1:A5,"<='060")  と評価されています。   また VBAのテクニックを解説するWebなどでは、"<>"と値'080を& でつなげる方法も紹介されていましたが、上記の場合結局 COUNTIFS(A1:A5,"<>080") → 5 と評価されて  しまいます。      文字列同士で比較すれば、期待する結果になりそうですが 条件の書き方には工夫がいりそうです。どのように記述すればよいでしょうか   お知恵をお借りしたくいと思います。どうかよろしくお願い致します。 以上

専門家に質問してみよう