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

商品管理のチェックの為下記の形でデータを入力しています。
A   B      C    D     E
1 会社名 Aグループ 数量  Bグループ 数量
2 A社 A-1   10   B-2   5
空白行
3 B社 A-2   8    B-1   4
空白行
4 C社 A-1   5   B-3   20


別のシートに商品グループを集計(同一商品は合計)
したいのですが、自動で反映できるマクロ、もしくは
関数を教えていただけないでしょうか。

よろしくお願いします。

質問者からの補足コメント

  • 説明不足ですみません。
    集計シートではグループ関係なく
      A   B    C
    1 A-1 合計数量
    2 A-2 合計数量
    3 B-1 合計数量
    4 B-2 合計数量
    5 B-3 合計数量

    上記のように集計したいです。
    また、各会社の商品は必ずA、Bとあるわけではなく
    空白の場合もあります。
    ピボットで各グループ毎に集計はできるのですが
    1列まとめて反映させる必要があるので
    よろしくお願いします。

      補足日時:2015/11/09 14:58
  • 説明不足ですみません。
    集計シートではグループ関係なく
      A   B    C
    1 A-1 合計数量
    2 A-2 合計数量
    3 B-1 合計数量
    4 B-2 合計数量
    5 B-3 合計数量

    上記のように集計したいです。
    また、各会社の商品は必ずA、Bとあるわけではなく
    空白の場合もあります。
    ピボットで各グループ毎に集計はできるのですが
    1列にまとめて反映させる必要があるので
    よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/11/09 15:44

A 回答 (4件)

1列にまとめて集計する場合は、【集計用のシートのA列の値】を分岐条件にします。


集計用シート(添付画像左)
Sheet1(添付画像右・元データ)

「集計用シートB1」
=IF(LEFT(A1,1)="A",SUMIF(Aグループ,A1,A数量),SUMIF(Bグループ,A1,B数量))

名前を定義しない場合はこのようになります。

「集計用シートC1」
=IF(LEFT(A1,1)="A",SUMIF(Sheet1!$B$1:$B$500,A1,Sheet1!$C$1:$C$500),SUMIF(Sheet1!$D$1:$D$500,A1,Sheet1!$E$1:$E$500))

計算結果は同じになります。

下までペーストします。
「入力したデータを別のシートに自動で反映さ」の回答画像3
    • good
    • 0

こんにちは!



Sheet1のデータをSheet2に集計するとします。
一例です。
↓の画像のように作業列を設けてみてはどうでしょうか?

画像ではSheet1のG2セルに
=IF(COUNTIF(B$2:B2,B2)=1,1000+COUNTIF(B:B,"<"&B2)+COUNTIF(B$2:B2,B2),"")
H2セルに
=IF(COUNTIF(D$2:D2,D2)=1,3000+COUNTIF(D:D,"<"&D2)+COUNTIF(D$2:D2,D2),"")
という数式を入れ G2・H2セルを範囲指定 → H2セルのフィルハンドルでこれ以上データは増えない!という句依頼まで下へコピー!

そしてSheet2のA2セルに
=IFERROR(INDEX(Sheet1!B:D,SUMPRODUCT((Sheet1!G$1:H$1000=SMALL(Sheet1!G$1:H$1000,ROW(A1)))*ROW(A$1:A$1000)),INT(SMALL(Sheet1!G:H,ROW(A1))/1000)),"")

B2セルに
=IF(A2="","",SUMIF(Sheet1!B:D,A2,Sheet1!C:E))

という数式を入れ、A2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーすると
画像のような感じになります。m(_ _)m
「入力したデータを別のシートに自動で反映さ」の回答画像4
    • good
    • 0

関数で集計する一例をご紹介します。



名前を定義しました。

$B$1:$B$500 Aグループ
$C$1:$C$500 A数量
$D$1:$D$500 Bグループ
$E$1:$E$500 B数量

集計用のシートを作成します。
構成は添付図のようになっています。

B1セルの関数
=SUMIF(Aグループ,A1,A数量)

E1セルの関数
=SUMIF(Bグループ,D1,B数量)

下までペーストすれば完了です。

B10,E10(赤いセル)に入っている関数は
=SUM(B1:B9)
=SUM(E1:E9)
です。

B11,E11(黒いセル)に入っている関数は
=SUM(全データ!C:C)(A数量の列)
=SUM(全データ!E:E)(B数量の列)
「入力したデータを別のシートに自動で反映さ」の回答画像2
    • good
    • 0

AグループとBグループは独立している前提で


ピボットテーブルを2つ作ればよいのでは?
更新は、自動化する必要があるけど。

添付図参照、当方XL2003
バージョンにより作り方が変わります
「入力したデータを別のシートに自動で反映さ」の回答画像1
この回答への補足あり
    • good
    • 0

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