[[20050216142938]] 『同一項目をまとめて別シートに集計したいのですが』(キタリン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同一項目をまとめて別シートに集計したいのですが』(キタリン)

 エクセル素人です。
 皆様よろしくお願いします。
 早速ですが、Sheet1に下記のデータがあるとします。

 リンゴ   10
 いちご   30
 バナナ    5
 リンゴ   10
 オレンジ 20
 オレンジ 10
 バナナ   20

 これをSheet2に、果物別にまとめ集計を出したいのですが、
 どうしたら良いでしょうか?
 実際には項目が30個程度あり、SUMIF関数では手間がかかると思います。
 どうかよろしくお願いします。

[[20041129165050]] 『項目毎の集計について』(たつ)
 こういうのはダメですか?
 (代奈)

代奈さん
早々のご回答ありがとうございました。
おかげさまで問題が解決しました。
ありがとうございました。

 う(T_T)
 な、なんか嬉しい。。。
 (代奈@ピボット推進委員会) ←会員約1名(ーー;)


 委員会応援者約1名
[[20041110173119]]『顧客毎の売り上げ累計を出したい』(もぐ)

 (川野鮎太郎)

 統合愛好派、約1名。                            (LOOKUP)
[[20040517123225]]『集計方法を教えてください』(はぴ) 

 おぉ!
 鮎さん、元祖というか、委員会創始者だったんですね〜(*^◇^*)
 じゃあ、委員長ですね(笑)

 そうそう!   
 LOOKUPさんは統合のエキスパートでもいらっしゃるんですよね!
 あと、誰も知らない裏ワザとか(^o^)丿
 (代奈)

 私なら、ちょこっとこんなコードを書くかな??
Option Explicit
Sub てすと()
Dim MyDic As Object
Dim MyA As Variant, MyAry() As Variant
Dim i As Long, k As Long, x As Long
    Set MyDic = CreateObject("Scripting.Dictionary")
    With Worksheets("Sheet1")
        MyA = .Range("A1", .Range("A65536").End(xlUp)).Resize(, 2).Value
    End With
    For i = 1 To UBound(MyA, 1)
        If Not MyDic.Exists(MyA(i, 1)) Then
            k = k + 1
            ReDim Preserve MyAry(1 To UBound(MyA, 2), 1 To k)
            MyDic.Add MyA(i, 1), k
            MyAry(1, k) = MyA(i, 1)
            MyAry(2, k) = MyA(i, 2)
        Else
            x = MyDic(MyA(i, 1))
            MyAry(2, x) = MyAry(2, x) + MyA(i, 2)
        End If
    Next
    With Worksheets("Sheet2")
        .Range("A1").CurrentRegion.ClearContents
            MyAry = Application.Transpose(MyAry)
        .Range("A1").Resize(UBound(MyAry, 1), 2).Value = MyAry
    End With
Erase MyA, MyAry
Set MyDic = Nothing
End Sub
(SoulMan)

 おおおぉぉぉ\(◎o◎)/!
 マクロ派のSoulManさん!
 こ、これはすごい。。。一瞬の出来事でした。。。
 ちょっと、どうなっているのか頑張って謎解きしてみます(*^◇^*)/
 有難うございました〜!!
 (代奈)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.