アプリ版:「スタンプのみでお礼する」機能のリリースについて

私のPCは、2007なのですが、相手のエクセルが2003らしく、SUMIFSが使えなくて途方に暮れています。

シート1に

会社名,商品コード,商品名,販売個数,販売時間
A社,1001,下着,4,12:30
B社,1002,肌着,4,12:40
A社,1001,下着,2,15:30
B社,1001,下着,2,17:30
A社,1002,肌着,4,18:40

のようなシートがあり、

シート2に

商品名,A社販売数,B社販売数
下着,6,2
肌着,4,4

といった表を作りたいのですが、
販売数の6を出すのに、SUMIFSがないと方法が分からずに途方に暮れています。
何か良い方法はないでしょうか?

A 回答 (2件)

こんにちは!


Excel2003までだとSUMPRODUCT関数で対応するようになります。
SUMPRODUCT関数は配列数式になってしまいますので、
極端にデータ量が多い場合はオススメしません。
3000行程度であれば大丈夫だと思いますが、とりあえず1000行目まで対応できる数式にしてみました。

↓の画像で左側がSheet1・右側がSheet2とします。
余計なお世話かもしれませんが、Sheet2のA列商品も重複なしに表示するようにしています。

Sheet1に作業用の列を1列設けます。
作業列F2セルに
=IF(COUNTIF(C$2:C2,C2)=1,ROW(),"")
という数式を入れオートフィルでずぃ~~~!っと下へコピーしてきます。

そしてSheet2のA3セルに
=IF(COUNT(Sheet1!F:F)<ROW(A1),"",INDEX(Sheet1!C:C,SMALL(Sheet1!F:F,ROW(A1))))

B3セルに
=IF($A3="","",SUMPRODUCT((Sheet1!$C$2:$C$1000=$A3)*(Sheet1!$A$2:$A$1000=B$1),Sheet1!$D$2:$D$1000))
という数式を入れ隣のC3セルまでコピー!

最後にA3~B3セルを範囲指定 → C3セルのフィルハンドルで下へコピー!
これで画像のような感じになります。

※ 注意点 ※
項目行の1行目は範囲指定しないようにします。
D1セルを範囲指定してしまうとエラーとなりますので、
数値列は文字列セルを範囲指定しないようにしてください。m(_ _)m
「2003にSUMIFSがなくて困っていま」の回答画像1
    • good
    • 0
この回答へのお礼

tom04さん完璧すぎます。

感動して鳥肌が立ってます(今も!)僕にとってはものすごいことです。

本当に感謝します。
OKWEVEにお金を支払う機能がないのが残念です。

お礼日時:2013/10/21 15:23

条件が一つなのがSUMIF()、複数指定できるのがSUMIFS()。



SUMIFSは2007から追加された関数ですから、2003では使用できません。

ですが、すべて"等しい"という条件ならば、条件式1つでも書けます。

例えばF列に「=A1&TEXT(B1,"0")」などとして、会社名と商品コードを結合した列を作ります。

そうしてF列を対象に、「=SUMIF(F1:F999,"=A社1001",D1:D999)」というような集計をすれば、「A社かつ商品コード1001」の集計は取れることになります。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!