• ベストアンサー

SUMPRODUCT関数

エクセル2003を使っています。 sumproduct関数で条件付の合計計算をしたいのですが 計算できる列とできない列があります。 計算可能な書式をできない列にコピーしても変わらなくエラーになります。(#VALUE!) 試しに同じ数値をCSVで保存したシートでは計算できました。 考えられる要因と対策は何でしょうか。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 >計算できない列の、合計データー列範囲に、0と空白が混在していました。  ⇒この空白がミソで未入力なら「0」と等価ですが「スペース」が入力されていると文字列となりVALUEエラーになります。 >条件範囲を変更する必要はありませんでした。  ⇒今回は空白セルに「0」を入力すればエラーになりませんが、仮に前述のような場合、   前回答での数式例にしておくとエラーにならないというだけです。 >そして奇妙な現象ですが、計算できなかった列の空白を0に置き換えて、 >計算値を正常に出した後、再度数箇所を空白にしてもエラーが出ませんでした。  ⇒対象のセルをdeleteしたのであれば未入力になりますので当然エラーにはならない。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>計算可能な書式をできない列にコピーしても変わらなくエラーになります。(#VALUE!)  ⇒エラーは数値以外での四則演算です。   条件判定列と対応データ列のand(乗算)して合計していると思うが、その対応データ列に別数式によって空データ("")となっているセルがあるとこのような結果になる。   因みにCSVに保存すると空データセルは未入力セルとなるので「0」として計算するのでエラーにならない。   例えば、、=SUMPRODUCT((条件範囲=条件)*(データ列範囲))となっているのならば、   =SUMPRODUCT((条件範囲=条件)*1,データ列範囲))としてはどうでしょうか。

hiro1955
質問者

お礼

回答ありがとうございます。 計算できない列の、合計データー列範囲に、0と空白が混在していました。 条件範囲を変更する必要はありませんでした。 合計データー範囲の空白部分を全て0にすると計算してくれました。 そこが原因かと思うのですが、もともと計算できている合計列は、 0のみ、もしくは空白のみでした。 そして奇妙な現象ですが、計算できなかった列の空白を0に置き換えて、 計算値を正常に出した後、再度数箇所を空白にしてもエラーが出ませんでした。 ちなみにこの動作は、2007で試してみました。

関連するQ&A