- ベストアンサー
SUMPRODUCT関数で複数条件適用されない
- 【集計】B~AF列の日付、A列の品名が【Sheet1】A列の日付、C列の品名と一致したら【Sheet1】E列の数量を【集計】の該当するセルに抽出する式をSUMPRODUCT関数で作成しましたが、正しい値が入りません。
- 数式に間違いがないか確認してください。
- 他の方法でも同様の集計を行う方法がありますか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.4・5です! 何度もごめんなさい。 もう一つ見逃していたコトがありました。 お示しの数式をよくよく確認してみると Sheet名の前後にアポストロフィーらしきものがついていますね? これは必要ありません。 それと括弧の数も少ないと思います。 (数式全体を見ていて、細かい部分を見逃していました) No4で当方が投稿した数式をこの画面からNo.4の数式を そのままコピー&ペーストしてみてください。 おそらく大丈夫だと思います。m(_ _)m
その他の回答 (5)
- tom04
- ベストアンサー率49% (2537/5117)
No.4です! たびたびごめんなさい。 投稿後一つだけ気になることがありました。 お示しの数式には「集計!」が含まれていますが、 「集計」Sheetに数式を入れる場合、Sheet名を指定する必要はないと思います。 もちろんSheet名を入れても構いませんが、数式を入れたSheet名が ちゃんと「集計」となっているかどうかというコトも確認してみてください。 どうも失礼しました。m(_ _)m
お礼
ご指摘ありがとうございます!
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! ↓の画像はExcel2003でやってみたものです。 「集計」SheetのB3セルに =IF($A3="","",SUMPRODUCT((Sheet1!$A$3:$A$200=B$2)*(Sheet1!$C$3:$C$200=$A3)*(Sheet1!$E$3:$E$200))) という数式を入れ列方向・行方向にオートフィルでコピーしています。 ちゃんと表示されました。 一つ気になるのが日付がシリアル値かどうか?というコトですが、 No.2さんの補足を読ませていただくと別段問題ないように思われます。 ちなみに↓の画像の「集計」SheetのB2セルには =IF(MONTH(DATE($A$1,$C$1,COLUMN(A1)))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"") という数式を入れAF列までオートフィルでコピーしています。 (セルの表示形式はユーザー定義から d ) 品名に関しては問題ないというコトなので、日付部分をもう一度確認してみてはどうでしょうか? それでもダメならごめんなさいね。m(_ _)m
お礼
回答ありがとうございます! ご丁寧に入力までしていただいて、お手数おかけしてます;; ご提示の数式で一度やってみます!
- keithin
- ベストアンサー率66% (5278/7941)
再掲: >あなたが「入れたつもり」の内容でご相談も書かれていますが,それぞれのセルを選んだ時に数式バーに実際に現れる内容を良く確認して,一致している,いないを確認しなければなりません。 自分のやったことに間違いは無いと思い込んでるのでしたら,残念ですがフォローできる内容はありません。 間違いはないはずだと思いながらも,データを入れ直してみる,新しいシートで試しにやり直してみるなどしてみると,良い結果が得られるかもしれません。
補足
散々確認したうえで質問を投稿させていただいております。 もちろん、式の入力をやり直したり別のシートで確認したりしました。 それでも結果が得られないので質問しているのです。 こうなると、もうお手上げでしょうか? 他者様から見て、質問させていただいている数式に誤りは見当たらないのですよね? 諦めざるを得ないのでしょうか。
- keithin
- ベストアンサー率66% (5278/7941)
ご利用のエクセルのバージョンが不明ですが,Excel2007以降を使いSUMIFS関数で計算するのが良い方法です。 現在の数式でゼロになってしまう理由は, 1)シート1のA列の「日付」の具体的な内容と,集計シートの2行目の「日付」の具体的な内容が食い違っている たとえばシート1は去年の日付,集計シートでは今年の日付になっている たとえばシート1はちゃんと年/月/日で記入しているのに,集計シートでは「1」などのように違う内容が書かれている など。 あなたが「入れたつもり」の内容でご相談も書かれていますが,それぞれのセルを選んだ時に数式バーに実際に現れる内容を良く確認して,一致している,いないを確認しなければなりません。 2)シート1のC列の商品名称が,たとえば「りんご」じゃなく「りんご□」(□はスペース)などのように食い違っている などが原因と推測できます。
補足
大変失礼致しました。 Excel2003です。 日付内容同じで、表示形式だけが異なります。 2012/10/1→2012/10/1 2012/10/1→10/1 このように、右のように表示される設定としています。 またご指摘の品名入力についてですが、プルダウンリストから選択となりますので無駄なスペース等が入力されていることはありません。
- mu2011
- ベストアンサー率38% (1910/4994)
Sheet1のA列日付と集計2行目日付の書式が相違しているからだと思いますが如何でしょうか。
補足
表示形式は違いますが、そのせいではないようです。
お礼
アポストロフィーが問題ではなく、まさに括弧の数が問題でした! 別のファイルで同じような数式でOKだった記憶なのです(笑) やはり確認は作成した人間が何度やってもだめですね。。 別の人間に確認してもらったら間違いが発見できていたやも知れないですね。。 ほんとにありがとうございました! 的確なご指摘、感謝してもしきれないです!
補足
ほんと、ご丁寧に確認までしていただいて恐縮です。 ひとつ訂正です。 わかりやすいようにSheet1としてありますが実はシート名が【出荷台帳】となっております。 そこでご指摘のアポストロフィーが前後についているとの件ですが、シートを''がついてしまいます。 Sheet1tいう名称の場合は、つかないようですね。。。。 せっかくご丁寧にご教示くださったのに、ほんとに申し訳ございません。