簡単な例を示します。
(D列の月日はExcelで認識されている日付とします)
A B C D F E
1 品名 月日 数量
2 ぶどう 5月1日 5
3 みかん 5月1日 10
4 ぶどう 5月1日 15
5 りんご 5月1日 20
6 ぶどう 5月1日 25
7 バナナ 5月1日 20
8 いちご 5月2日 10
9 ぶどう 5月2日 30
10 りんご 5月2日 20
11 バナナ 5月2日 5
このような表で
「ぶどう」と「5月1日」の組合わせとなるのは何個かというとき
Excel2007の COUNTIFS関数では
=COUNTIFS(B2:B11,B2,D2:D11,D2)
=COUNTIFS(B2:B11,"ぶどう",D2:D11,"5/1")
=COUNTIFS(B2:B11,"ぶどう",D2:D11,39934)
などで 3 が求められますが、
SUMPRODUCT関数でも
=SUMPRODUCT((B2:B11=B2)*(D2:D11=D2))
=SUMPRODUCT((B2:B11="ぶどう")*(D2:D11=39934))
などで 3 が求められます。
(39934は 2009年5月1日 のシリアル値)
ちなみに
「ぶどう」と「5月1日」の組合わせの時のE列の数量の合計を求めるというとき
Excel2007の SUMIFS関数で
=SUMIFS(F2:F11,B2:B11,B2,D2:D11,D2)
=SUMIFS(F2:F11,B2:B11,"ぶどう",D2:D11,"5/1")
=SUMIFS(F2:F11,B2:B11,"ぶどう",D2:D11,39934)
などで 45 が求められます。
SUMPRODUCT関数では
=SUMPRODUCT((B2:B11=B2)*(D2:D11=D2)*(F2:F11))
=SUMPRODUCT((B2:B11="ぶどう")*(D2:D11=39934)*(F2:F11))
などで 45 が求められます。
別解を提案しようと思います。
> A B C D F E
> 1 品名 月日 数量
> 2 ぶどう 5月1日 5
> 3 みかん 5月1日 10
> 4 ぶどう 5月1日 15
もうひとつ列を作って、それを検索キーにするといいと思います。
たとえばG列を増設して、G2には =TEXT(B2,"yyyymmdd")&B2 のように
入れます。印刷用の資料であれば、上記の仕掛けを入れた上で、
G列を非表示にしてしまうという手もあります。
------------------------
IIJIMA Hiromitsu さんが示されたことでは
その個数を求める場合は COUNTIF 関数
その合計を求める場合は SUMIF 関数
これを使用すればよいです。
>> A B C D F E
>> 1 品名 月日 数量
>> 2 ぶどう 5月1日 5
>> 3 みかん 5月1日 10
>> 4 ぶどう 5月1日 15
>
> もうひとつ列を作って、それを検索キーにするといいと思います。
> たとえばG列を増設して、G2には =TEXT(B2,"yyyymmdd")&B2 のように
> 入れます。
この表のまま話を進めますが、G2に入れるべき式は =TEXT(D2,"yyyymmdd")&B2 です。
要するに、日付TEXT関数に渡して20090501のような文字列に変換し、
「&」で品名欄の文字列とつなげます。