• ベストアンサー

エクセル関数で(A:A)が使えない?

=SUMPRODUCT((A:A=C1)*(B:B=D1),C:C) とやったところエラーになりました。 そこで、=SUMPRODUCT((A1:A567=C1)*(B1:B567=D1),C1:C567) に書き直したら出来ました。 関数によって(A:A)が使えない場合があるのでしょうか。 毎月データ数(行数)が変動するので、(A:A)が使えないのなら、(A1:A30000)としようかなとは思っているのですが、疑問に思いましたので、質問させていただきました。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 ヘルプの「仕様」の中に、 #ワークシートの配列   使用可能メモリに依存。 #また、配列では列全体を参照することはできません。たとえば、配列で列全体 C:C や範囲 #C1:C65536 を参照することはできません。 となっていますので、配列数式を用いるときは、列全体を指定することが出来ません。 なお、詳しく、この挙動を調べてみると、空白の部分は配列数式では認識はしているのですが、メモリの負担にはなっていないようです。本当に、配列数式が自由に使えるようになったのは、Excel2002以上からです。それまでは、他にも配列個数の制限が存在していました。(Excel2000の仕様は、Excel2002と同じように書かれてはいましたが、それは違っていたようです。)

noname#153814
質問者

お礼

そのようですね。 ありがとうございました。

関連するQ&A