- 締切済み
品番で集計
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- tsubu-yuki
- ベストアンサー率46% (179/386)
「ピッキングリスト」シートのB2セルに =SUMIF(受注!A:A,A2,受注!B:B) 以下、コピー(フィルも可)。 「受注」シートの表外、特に表の上下に余計なものがあると 予期せぬ結果を導く可能性はありますが、 経験上、列全体を指定(A:Aなど)して問題は無いです。 この場合、表外に「品番」が入るなんて、 シートの構成上おかしな話だと思いますし。 「品番」という品番は無いでしょうし、 「合計」という品番も無いと思いますのでね。 この質問の内容だけを考えるなら、 列全体を指定しても問題は無く、むしろ楽と言えますね。 そんなわけで絶対「参照」も必要無いのです。 ただし、エクセルを扱う上では大事な言葉ですから、 「絶対参照」「相対参照」併せてキチンと覚えておいて損は無いですよ。 ※詳細はグーグル先生に訊いてみると良いですよ。 ついでに。 質問文添付の図に「0(ゼロ)」が表示されているので 大した問題ではないのかもしれませんが。 表示形式を例えば「#,##0;-#,##0;」などしてやると 計算結果が「0(ゼロ)」のセルを見た目空白にしてくれます。 基本的に表示形式は(セルの値が) 正の場合;負の場合;ゼロの場合;文字列の場合 という具合にセミコロン(;)で区切って指定します。 上記の例だと「ゼロの場合」を空白(省略)、 「文字列の場合を無視」した設定とみなされ、 セルの値が「0(ゼロ)」なら空白が返される、という感じです。 たまに便利に使えますので、マメ知識程度にどうぞ。
- imogasi
- ベストアンサー率27% (4737/17069)
まず受注シートのA列を対象に、データーフィルター詳細設定で 抽出先ー指定した範囲ー受注シートの空きのセル範囲を指定(たとえばH2:H100を範囲指定)ー重複するレコードは無視するにチェックーOK これでH1:H100に品番の(重複なしの)リストが出る。 それをピッキングリストシートのA2以下にコピー貼り付けする。 (結果を初めから他シートに指定できないので一旦同じシートに出して他シートに移す) そしてピッキングリストシートのB2にSUMIF関数式を入れる。 =SUMIF(Sheet1!$A$2:$A$100,A2,Sheet1!$B$2:$B$100) 式の2か所の100のところは、実際のデータ数で増やしてください。
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.3の追記です。 ピンキングリストのA列が未入力の行についてはB2セルの数式をコピーすると0が代入されます。 これを避けるにはIF関数で条件分岐させる必要があります。 =IF(A2="","",SUMIF(A:A,A2,B:B))
- bunjii
- ベストアンサー率43% (3589/8249)
>エクセル2013仕様です。 「仕様」は「使用」の誤変換と推測します。 >それをSheet名「ピッキングリスト」に、品番ごとに集計した受注個数を表示させ名前の通り、ピッキングリストを作りたいと考えています。 シート名が「ピンキングリスト」のB2セルへ設定する数式が知りたいということでしょうか? 既に正解に近い回答が出ています。 しかし、一部に誤りが有りますので修正します。 また、数式の簡素化も同時にさせて頂きます。 =SUMIF(受注!A:A,A2,受注!B:B) SUMIF関数は第1引数に検索範囲、第2引数に検索値、第3引数に集計範囲を指定します。 集計範囲に文字列のセルが含まれても無視されますので列の全範囲を指定してもエラーになりません。 シート名の「受注」のA列には2行目以下に品番が入力され、B列には2行目以下に個数が入力されているものとすれば最下行までの全行を対象に計算させても動作が鈍くなるほど負荷が掛かりませんので数式を簡略化させる意味で行番号を省きました。
- msMike
- ベストアンサー率20% (364/1804)
素朴な疑問だけど、添付図右のセル B5 が 10 になっている理由は?
- panacon
- ベストアンサー率31% (214/679)
ピッキングリストのB2の式を下記にします。 =SUMIF(受注!A$2:B$100,Sheet2!A2,受注!B$2:B$100) B2のフィルハンドルをつかんで下方にドラッグコピーします。 式の中に$を付けているのは、絶対座標でこの位置を動かさないためです。これを付けると、ドラッグした時に範囲がずれていくのを防ぎます。 式の意味は、sumif関数で、(表の全体範囲、検索する値、合計範囲)です。 表の全体の中の左列にあたるところで、検索する値ご合致したものの合計をそれぞれ計算することになります。