質問: 複数条件での値参照をする関数 excel2007を使っています。 以下のような表があります。 店番 月度 個数 111 4 1 111 5 0 113 4 0 112 4 1 113 5 2 別のシートに以下の表があります。 店番 4月個数 5月個数 111 112 113 この4月個数の列と、5月個数の列に関数で値を参照させたいと思います。 店番をa1セルとすると、b2セルには店番が111の4月の個数を表示させたいです。 b2に =if(iserror(vlookup(a2,元!a:b,2,0)),"",if(vlookup(a2,元!a:c,2,0)<>4,"",vlookup(a2,元!a:c,3,0))) c2に =if(iserror(vlookup(a1,元!a:b,2,0)),"",if(vlookup(a1,元!a:c,2,0)<>5,"",vlookup(a1,元!a:c,3,0))) このような式を入れると、4月か5月どちらか上に書いた方しかデータが表示されませんでした。 更新ボタンやトリガーを使わずにできるといいので、ピボットやvbaではなく関数でやりたいと思っているのですが、どのようにすれば良いか分かりません。 使える関数があれば、ぜひ教えて下さい。
回答: no1の方が紹介されています。sumproduct関数になると思いますが、 sumproduct関数の様な配列関数は、この様なシートに右フィル、下フィルして多用すると、入力の作業など含めて重くなります。 >更新ボタンやトリガーを使わずにできるといい 関数を使用することになりますが、重くなることあります。 >ピボット トリガーすることになりますが、通常の作業に影響がない。 もしシートが月順に並んでいるようであれば、配列関数ではなく sumifとmatch関数やoffset関数で組み合わせることもできるので 負担を減らすことが可能です。