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

画像のようにリストのシートにデータを入れています。
これを集計というシートに
B列の名前の重複は削除してC列に新規の合計D列には取消の合計を出したいのですが
よろしくお願いいたします。

「B列の名前の重複を削除して別のシートに集」の質問画像

A 回答 (3件)

こんばんは!



画像が小さくて詳細が判りませんが、やり方だけ・・・
元データはSheet1にあり、Sheet2に表示するとします。
No.2さんがおっしゃっているようにSUMIF関数を使うのが簡単です。
ただ、重複なしに抽出するのが大変なので、↓の画像のように作業用の列を設けてみてはどうでしょうか?

Sheet1のE列を作業列としています。
作業列E2セルに
=IF(COUNTIF(B$1:B2,B2)=1,ROW(),"")

という数式を入れこれ以上データはない!というくらいまで下へフィル&コピーしておきます。
Sheet2のB2セルに
=IFERROR(INDEX(Sheet1!B:B,SMALL(Sheet1!E:E,ROW(A1))),"")

C2セルに
=IF($B2="","",SUMIF(Sheet1!$B:$B,$B2,Sheet1!C:C))

という数式を入れC2セルのフィルハンドルで隣りのD2セルまでフィル&コピー
最後にB2~D2セルを範囲指定 → D2セルのフィルハンドルで下へコピーすると
画像のような感じになります。

※ 作業列が目障りであれば、遠く離れた列にするか非表示にしてください。

※ 極端にデータ数が多い場合(数千行・数万行など)はVBAの方が簡単かもしれませんね。m(_ _)m
「B列の名前の重複を削除して別のシートに集」の回答画像3
    • good
    • 0

こんにちは



添付図がよく読めませんが、名前を重複を省いてリストアップできれば、集計はSUMIF関数等で簡単にできると思います。

リストアップするのに一番簡単なのは「フィルターオプション」を利用する方法で、抽出先を指定しておくのが良いでしょう。
http://www11.plala.or.jp/koma_Excel/contents6/ma …

抽出は、関数でもできないことはありませんが、それなりに面倒になります。
例えばB列に名前があって、そこから重複を省いて抽出するには
(下の式は、仮に、B2:B100を対象範囲としています)
=IF(B2="","",IFERROR(INDEX(B:B,SMALL(IF(COUNTIF(OFFSET($B$2,0,0,ROW($B$2:$B$100)-1),$B$2:$B$100)=1,ROW($B$2:$B$100)),ROW(B1))),""))
の配列数式(Ctr+Shift+Enterで確定)を、下方にフィルコピーすれば抽出できます。

抽出さえできてしまえば、その値と同じ値のセルを条件としてSUMIFで集計すれば求められると思います。
    • good
    • 0

ピボットテーブルで集計をして、データをコピーペーストすればよいのではないでしょうか。

    • good
    • 0

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