• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SUMPRODUCT 「#NUM」を回避して集計)

Excel2000で複数条件集計をする方法

このQ&Aのポイント
  • Excel2000を使用して複数条件の集計を行いたい場合、SUMPRODUCT関数を使用することができます。指定した条件を満たすセルの合計を取得することができますが、数値の範囲に時間の変換式が組み込まれている場合、集計結果に「#NUM」と表示されることがあります。
  • 集計結果に「#NUM」が表示される場合、ISERROR関数を使って「#NUM」を無視するような式を組み込むことができます。具体的には、SUMPRODUCT関数の結果がエラーの場合、代わりに0を表示するような式を書くことができます。
  • また、検索範囲が日々変化する場合は、範囲設定を動的に行うことができます。具体的には、範囲の最終行を自動的に取得する関数を使って、範囲設定を行うことができます。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

とりあえず出来る方法としては =SUM((INT(B6:B1000)=B3)*(C6:C1000=C3)*IF(ISNUMBER(D6:D1000),D6:D1000,0)) をCtrl+Shift+Enterで入力すると,できます。 もちろん既に寄せられているアドバイスの通り,D列のエラーを事前に解消しておくのが最適なのは言うまでもありません。 また計算できることが目的じゃなくSUMPRODUCT関数が使いたいご質問だったときは,他の方のアドバイスをお待ち下さい。

noname#244523
質問者

お礼

ご回答ありがとうございます。 上記の式で完璧な動作をしてくれました。 SUMPURODUCTにこだわっていたのではなく、Excel2000でSUMIFSが使えず、複数条件で検索するとSUMPRODUCTを勧めるサイトが多かったために一番有効なのだと思い込んでおりました。 普段全く関数を使う機会がないので戸惑っておりましたが、たくさんの方に回答して頂きとても感謝しております。 直接的に解決へと導いて下さいましたkeithinさんの回答をベストアンサーとさせて頂きます。 本当にありがとうございました。

その他の回答 (2)

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

D列には =HOUR(N4-O4)*60+MINUTE(N4-O4) のデータが有ってそれの集計をするとのことですか? それにしても上の式は正しいのですか? N4やO4のデータは時間の入ったデータになっているのですね。でしたら次のような式にしてエラーの表示を無くすようにすることでしょう。 例えば =IF(COUNT(N4:O4)<>2,"",IF(N4>=O4,HOUR(N4-O4)*60+MINUTE(N4-O4),0)) 又は =IF(COUNT(N4:O4)<>2,"",IF(N4>=O4,HOUR(N4-O4)*60+MINUTE(N4-O4),HOUR(O4-N4)*60+MINUTE(O4-N4)))

noname#244523
質問者

お礼

ご回答ありがとうございます。 D列のエラーを表示しないようにすることが一番の近道だと思います。 諸事情によりなるべくD列の式には手を加えず解決をしたかったのですが、最終的にその方法も試行してみました。 結果は惨敗でしたが(笑) 教えて頂いた式も大変参考になりました。 今後に活かしたいと思います。 ありがとうございました。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

まずは、 > 必ず1ヶ所に「#NUM」が表示されます。 これの原因を調べ、対策を取る方が簡単です。 > どちらの式でも =(IF(ISERROR~ 等を試してみましたが、やはりうまくいきませんでした。 > 勉強不足の為、使い方の認識が根本的に違っているのかもしれません。 どうやって記載したのかが書かれていないので、違っているかどうかも判断できません。 でも、間違っているのは「使い方」ではなく、エラーをそのままにしておくという「考え方」ですよ。

noname#244523
質問者

お礼

ご回答ありがとうございます。 ご指摘はごもっともです。 いろんなサイトを参照し試行していたので経緯を書くとだいぶ長くなってしまうと思い割愛させて頂きました。 データ参照範囲は別の人が作った式だったので、なるべく手をつけずに解決する方法を模索しておりました。 まずは、エラーを出さないようにすること。 この考え方はしっかり今後に活かしたいと思います。 ありがとうございました。

関連するQ&A