• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2003にSUMIFSがなくて困っています。)

ExcelのSUMIFSが使えない!2007と2003の互換性の問題とは?

このQ&Aのポイント
  • 2003年のExcelでSUMIFS関数が使えない問題に直面しています。自分のPCは2007年のExcelを使用していますが、相手のExcelが2003年のようです。
  • シート1には会社名、商品コード、商品名、販売個数、販売時間のデータがあります。シート2では商品名と各会社の販売数をまとめた表を作りたいのですが、販売数の計算でSUMIFS関数を使えないため、解決策に困っています。
  • 使用しているExcelバージョンの違いによって、SUMIFS関数が使えない問題に直面しています。2003年のExcelではSUMIFS関数は利用できず、2007年以降のバージョンでのみ使用可能です。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 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

satisfied999
質問者

お礼

tom04さん完璧すぎます。 感動して鳥肌が立ってます(今も!)僕にとってはものすごいことです。 本当に感謝します。 OKWEVEにお金を支払う機能がないのが残念です。

その他の回答 (1)

  • asciiz
  • ベストアンサー率70% (6809/9681)
回答No.2

条件が一つなのがSUMIF()、複数指定できるのがSUMIFS()。 SUMIFSは2007から追加された関数ですから、2003では使用できません。 ですが、すべて"等しい"という条件ならば、条件式1つでも書けます。 例えばF列に「=A1&TEXT(B1,"0")」などとして、会社名と商品コードを結合した列を作ります。 そうしてF列を対象に、「=SUMIF(F1:F999,"=A社1001",D1:D999)」というような集計をすれば、「A社かつ商品コード1001」の集計は取れることになります。

関連するQ&A