• ベストアンサー

Excel 数式の応用

何度も同じような質問で恐縮です。 下記のような土日を除いた日付データでセルA11、A12に期首、期末の日付を指定して、期間中のプラスのデータ個数を求める式は、どのような式でできるのでしょうか? マイナスのデータの個数は、先の質問の回答で、 {=SUM(IF((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9<0)),1,0))} {=COUNT(IF((A1:A8>=A11)*(A1:A8<=A12)*(C1:C8<0),1))} または =SUMPRODUCT((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9<0)) でできるので、<0を>0にしたところいずれも違算になります。 ( 9行以降は行の挿入で新たなデータが追加されます。A列・・日付 B列・・曜日 C列・・数値等) 列行 A  B  C  1 10/01 金 3 2 10/04 月 4 3 10/05 火 空欄 4 10/06 水 -2 5 10/07 木 文字 6 10/08 金 5 7 10/11 月 0 8 10/12 火 2 9 10 ------------------------------------ 11 10/04 (期首) 2 (←セルC11にプラスのデータ数の個数を出したい) 12 10/11 (期末)

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

テストしてみました。文字の行をカウントしていますね。 {=SUM(IF((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9>0)*ISNUMBER(C1:C9),1,0))} {=COUNT(IF((A1:A8>=A11)*(A1:A8<=A12)*(C1:C8<0)*ISNUMBER(C1:C9),1))} =SUMPRODUCT((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9>0)*ISNUMBER(C1:C9)) ISNUMBER(C1:C9) で文字の行をカウントからはずしました。

now2150
質問者

お礼

再びの回答、有難うございます。 ISNUMBERがこんな所でこんなふうに使えるなんて驚きです。 配列数式もSUMPRODUCT関数も応用が利きますね。マスターしたいです。

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

文字がカウントされてしまうのでうまくいかないんですね。 =SUM(IF((A1:A9>=A11)*(A1:A9<=A12)*ISNUMBER(C1:C9)*(C1:C9>0),1,0)) これで、Ctrl + Shift + Enterでいかがですか?

now2150
質問者

お礼

再びの回答、有難うございます。 ISNUMBERがこんな所でこんなふうに使えるなんて驚きです。 配列数式もSUMPRODUCT関数も応用が利きますね。マスターしたいです。

関連するQ&A

専門家に質問してみよう