[[20140928092255]] 『日付の集約方法について』(さんま) ページの最後に飛ぶ

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

 

『日付の集約方法について』(さんま)

一覧表データから集約用紙を作成しているのですが
日付の集約方法がわかりません
だれか教えてください

sheet1

A B C
12/ 1 あ 10
12/ 5 あ 15
12/10 い 10
12/23 あ 10
12/ 5 い 10

sheet2

A B C
12/1.23 あ 10
12/5 あ 15
12/5.10 い 10

のようにsheet1のデータをsheet2の表に集約して
日付も集約したいのですが方法がわかりません教えてください

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 質問
 1)12/1 あ 10
   12/1 あ 15
   この場合はどうしますか?

 2)月をまたいだ場合はどうしますか?
( 稲葉) 2014/09/28(日) 10:54

稲葉サン
こんにちは

1)ですが
BC列の内容が重複していなければそれぞれ計上します

sheet1のB.Cの重複を削除してsheet2にその内容をはりつけそ内容と
一致する日付をA列にまとめる

2)月をまたぐことはありません
(さんま) 2014/09/28(日) 11:27


 こんなんでいかがでしょう?
     Sub 旬の魚()
        Dim dic As Object
        Set dic = CreateObject("Scripting.Dictionary")
        Dim tbl, BC As String, A As Date
        tbl = Sheets("Sheet1").Range("A1").CurrentRegion.Value
        For i = 1 To UBound(tbl, 1)
            A = tbl(i, 1)
            BC = tbl(i, 2) & Chr(2) & tbl(i, 3)
            If Not dic.exists(BC) Then
                dic.Add BC, Format(A, "m/d")
            Else
                dic(BC) = dic(BC) & Format(A, ",d")
            End If
        Next i
        With Sheets("Sheet2")
            .Range("A1").Resize(dic.Count) = Application.Transpose(dic.items)
            .Range("B1").Resize(dic.Count) = Application.Transpose(dic.keys)
            .Range("B1").Resize(dic.Count).TextToColumns _
                DataType:=xlDelimited, _
                Other:=True, _
                OtherChar:=Chr(2), _
                FieldInfo:=Array(Array(1, 1), Array(2, 1))
        End With
    End Sub

( 稲葉) 2014/09/28(日) 13:39


http://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=165415&rev=0
(マルチーズ) 2014/09/30(火) 10:16

コメント返信:

[ 一覧(最新更新順) ]


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