ちょっと仕事で相談を受けて調べていたら、不具合っぽい動きを見つけたのでメモ代わりに。
こんな感じの表があって、各商品に対する数量合計を行いたいとき。
通常であればSUMIF関数を使うことになります。
このケースで言えば
=SUMIF(D3:F8,"リンゴ",G3:H8)
のような形ですね。
上記関数は正常に動作し、この例でいうと11を返します。
ところが、ここでSUMIFではなく、SUMIFSを使うとエラー(#VALUE!)になるということでした。
=SUMIFS(G3:H8, D3:F8, "リンゴ")
条件式としては1つしかないためにわざわざSUMIFSを使う必要はないのですが、かといって、SUMIFS関数は必ず条件を複数用意しなければならないわけではないはず。
結合セルの差異
結論から言うと、商品列は3列の結合セル。数量セルは2列の結合セルであることが原因でした。
これが、
のように、同じ数の結合であれば正常に動作しますが、異なる場合にはエラーを返してしまいます。
エラー値 #VALUE! エラーは、SUMIF または SUMIFS 関数
公式の上記ページには「条件範囲引数と合計対象範囲引数が一致しない。」という形で紹介されているのが、結合セルに対しても有効ということでしょうか…。
若干、SUMIFとSUMIFSとで判定が異なるというのは不具合なのではないだろうか?という気がしないでもないですが。。
ちなみに、結合セルをマウスで選択してしまうと複数列の範囲選択になってしまいますが、これを手動で
=SUMIFS(G3:G8, D3:D8, "リンゴ")
という形に先頭列だけを選ぶ形にすることで問題なく動作するようになります。
これも、条件範囲と合計範囲の差をなくすという意味では同じことですね。