• ベストアンサー

Excel関数:3行ごとのデータを計算する

3行ごとのデータを計算する関数で、エラーになります。 どこが誤っているか、ご教授いただけますか。 =SUMPRODUCT((MOD(ROW(I4:I346),3)=1)*I4:I346)

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

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

参照しているI4:I346がすべて数字であれば、式自体はあってます。 表に問題があるかもしれません。 例えば、I5のセル等に文字列が入っているとか・・ その場合以下の式で対応できます。 =SUMPRODUCT(IF(MOD(ROW(I4:I346),3)=1,I4:I346,""))

y-kichi
質問者

補足

該当するセルは、他のエクセルシートのデータを引っ張ってきています。 去年度までは使えていたのですが、本年度ように更新したら、エラーとなってしまいました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

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

>本年度ように更新したら、エラーとなってしまいました。 アナタの数式がエラーになっているのは判っています。そういうご相談だったのですから。 それでそれぞれ寄せられた回答の数式を実際に試してみた結果は、一体どうだったのですか? 例えば回答2の数式を試して確かにエラーになったのでしたら、ご相談を投稿する以前にI4:I346の範囲の中で既に計算エラーが出ているのが原因です。 よくよく確認し、まずI列の中からエラーを解消してください。

すると、全ての回答が全文表示されます。
回答No.3

多分I4:I346のどこかに、文字列が含まれているためでしょう。空文字列「""」も文字列に該当するため、パッと見では分からないこともあります。お気を付けください。 No.2さんの式では、文字列を「0」として計算するので、エラーが回避されます。むしろ回避したくないという場合は、質問者さんの式で正解です。

y-kichi
質問者

補足

該当するセルは、他のエクセルシートのデータを引っ張ってきています。 去年度までは使えていたのですが、本年度ように更新したら、エラーとなってしまいました。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

=SUMPRODUCT((MOD(ROW(I4:I346),3)=1)*1, I4:I346) としてみてください。

y-kichi
質問者

補足

該当するセルは、他のエクセルシートのデータを引っ張ってきています。 去年度までは使えていたのですが、本年度ように更新したら、エラーとなってしまいました。

すると、全ての回答が全文表示されます。

関連するQ&A