EXCEL関数の配列の考え方について
EXCEL関数の配列について、ご教授願います。
具体的には、集計作業で条件を絞り込む時、例えば、列Aでは文字列「あ」又は「い」を含み、列Bでは文字列「う」、「え」、または「お」を含むデータ数を集計する場合、
=SUMPRODUCT((A1:A100={"あ","い"})*(B1:B100={"う","え","お"}))・・・(1)
私はいつもこの方法を使用しています。この場合、列Aでの条件数(「あ」「い」の2つ)と列Bでの条件数(同3つ)が異なっている場合でも、特に問題は起こりません。
但し、これを下記のように書き換えます。
=SUMPRODUCT(ISNUMBER(FIND({"あ","い"},A1:A100))*ISNUMBER(FIND({"う","え","お"},B1:B100)))・・・(2)
(2)式は(1)式と同じ意味を示すはずですが、こちらは#N/Aでエラーとなります。調べてみたところ、列Aの条件数(2つ)と列Bの条件数(3つ)が異なる場合(どちらかの条件数が1の場合を除く)、エラーになるという事実は判明しましたが、計算式内部でどのような処理が行われた結果、そうなったのか、全く分かりませんでした。恐らく、EXCELの配列や行列式の考え方が両者で異なっているからだと思うのですが、ネットで調べてもその答えらしきものを見つけることができませんでした。
これについて、ご存知の方、どうぞご教授下さいます様、お願い致します。
お礼
でました!(^▽^)人 R1C1参照形式でも教えてくださり、ありがとうございました。