[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データの形を変えて表示したい』(ららら)
CSV出力で出された大量のデータの形を変えたいです。
自分なりに探してみたのですが、質問の仕方がわるいよでなかなか見つからず、質問させていただきました。
A B C D E F 1 取引番号 日時 会社名 支店 商品名 個数 2 1 4/1 鈴木商店 東京 りんご 3 3 2 4/1 鈴木商店 東京 みかん 4 4 3 4/2 鈴木商店 千葉 ぶどう 2 5 4 4/2 田中商店 埼玉 りんご 5 このように出力されたのもを
      A        B        C         D         E        F     G
 1 取引番号  日時  会社名   支店   りんご  みかん  ぶどう  
 2     1     4/1  鈴木商店   東京     3
 3     2     4/1    鈴木商店   東京          4
 4     3     4/2    鈴木商店   千葉                       2
 5     4      4/2    田中商店     埼玉     5
という形に変えたいです。
ピポットテーブルではなく、関数やマクロでできないでしょうか。
宜しくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows8 >
マクロでしたら、こんな感じで。
 Sub Sample()
    Dim 項目辞書
    Set 項目辞書 = CreateObject("Scripting.Dictionary")
    Dim 最終行 As Long
    最終行 = Cells(Rows.Count, "A").End(xlUp).Row
    Dim 行 As Long
    For 行 = 2 To 最終行
        If Cells(行, "E").Value <> "" Then 項目辞書(Cells(行, "E").Value) = True
    Next
    Range("G1").Resize(1, UBound(項目辞書.keys) + 1) = 項目辞書.keys
    Dim 列 As Long
    For 列 = 0 To UBound(項目辞書.keys)
        項目辞書(Cells(1, 列 + 7).Value) = 列 + 7  '// G列 = 7
    Next
    For 行 = 2 To 最終行
        If Cells(行, "E").Value <> "" Then
            Cells(行, 項目辞書(Cells(行, "E").Value)).Value = Cells(行, "F").Value
        End If
    Next
    Columns("E:F").Hidden = True
  ' Columns("E:F").Delete    '// If you don't need original data
 End Sub
(Mook) 2014/06/05(木) 11:09
早速の返信ありがとうございました。
しかし、私のやり方がおかしかったのか行列の入れ替えはできたのですが、個数も一列になってしまいうまくできませんでした。
(ららら) 2014/06/05(木) 11:15
教えたいていただいたマクロを試してみました。
うまくできました!!
ありがとうございました。
今まで時間がかかっていたものが一気にできるので助かりました。
(ららら) 2014/06/05(木) 11:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
 Modified by kazu.