- ベストアンサー
エクセルのSUMPRODUCT関数についての質問
SUMPRODUCT関数を使って、1列おきにカウントさせる式をつくっていて、 セルの指定方法について疑問をもちましたので質問させていただきます。 A1からJ1に数字がはいっているとして、偶数列だけカウントします。 =SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*(A1:J1<>0)) =SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*((A1:J1)<>0)*1) 上の式で答えはでるのですが、*以降の指定の違いがわかりません。 どなたかお分かりになる方おられましたら、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
=SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*(A1:J1<>0)) =SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*((A1:J1)<>0)*1) 上のようなケースでは個々の引数の結果はFALSEまたはTRUEのどちらかで前者では0後者では1として数えられています。したがって*1を行っても行わなくても同じ結果になります。 そうではないケース例えば次のようなケースです。 A1セルに5A、A2セルに6B、A3セルに7Cといったデータが入力されており数値のみを加算する場合です。 =SUMPRODUCT(LET(A1:A3,1)) とした場合には答えは0になります。 =SUMPRODUCT(LEFT(A1:A3,1)*1) とした場合には答えは18となります。 このように個々の引数の結果がFALSEやTRUEとならないケースでは*1が必要となってきます。
その他の回答 (1)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
回答No.1
余計な定数項(TRUE)がくっついてるだけでしょう、、、
質問者
お礼
お礼が遅くなってすいません。 有難うございました。
お礼
お礼が遅くなって申し訳ありません。 わかりやすく、ご丁寧な回答、有難うございます。 ずっとモヤモヤしていたのが、すっきりしました! また、数値部分だけ計算できるとは知りませんでした。 教えていただいて有難うございました!!