[[20160520210900]] 『列にあるカテゴリー毎のデータを行に転記をしたい』(みかん) ページの最後に飛ぶ

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

 

『列にあるカテゴリー毎のデータを行に転記をしたい』(みかん)

エクセル2010です。

?@の表を?Aの表のようにまとまるよう一気に転記したいです。

?@の表 (B列に入力しているものは重複してません)

   A      B
1 りんご  青森
2 りんご  秋田
3 りんご  山口
4 トマト  群馬
5 柿     和歌山
6 柿     山梨
7 レモン  兵庫

?Aの表

   A      B    C     D
1 りんご  青森  秋田  山口
2 トマト  群馬
3 柿     和歌山 山梨
4 レモン  兵庫

今までは列から行へのコピーを一行ずつしてたのですが、
100行位あるので一気に転記したいです。

何方か教えて下さい。
よろしくお願いいたします。

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


ちょっと考えてみましたが思いつきませんでした。
マクロでもよいでしょうか。

(マナ) 2016/05/20(金) 22:46


 元シートをSheet1だとして、別シートに。

 A1 : =Sheet1!A1
 A2 : =IFERROR(VLOOKUP("*",IF(COUNTIF(A$1:A1,Sheet1!A$1:A$1000)=0,Sheet1!A$1:A$1000),1,FALSE),"")
      これを Ctrl/Shift/Enter で入力

 A2 を下にずずずっとフィルコピー

 B1 : =IFERROR(IF($A1="","",INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$1000=$A1,ROW($A$1:$A$1000)),COLUMN(A1)))),"")
      これを Ctrl/Shift/Enter で入力し、右にずずずっとフィルコピーし、そのまま下にフィルコピー

 Sheet1 を変更すれば、別シートも変更されます。

 ★ A2 の式はネットから拾ってきた式で、中身はよくわかっていません。

(β) 2016/05/20(金) 22:52


 マクロ案一例です。
 いったんアップしたものを、上書きで書き直しました。

 Sub Sample()
    Dim dic As Object
    Dim c As Range
    Dim tmp As Variant
    Dim i As Long
    Dim j As Long
    Dim v As Variant

    Set dic = CreateObject("Scripting.Dictionary")

    With Sheets("Sheet1")
        With .Range("A1", .Range("A" & Rows.Count).End(xlUp))
            ReDim v(1 To .Rows.Count, 1 To .Rows.Count)
            For Each c In .Cells
                If Not dic.exists(c.Value) Then dic(c.Value) = Array(dic.Count + 1, 0)
                tmp = dic(c.Value)
                i = tmp(0)
                j = tmp(1) + 1
                v(i, j) = c.Offset(, 1).Value
                dic(c.Value) = Array(i, j)
            Next
        End With
    End With

    With Sheets("Sheet2")
        .UsedRange.ClearContents
        .Range("A1").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.keys)
        .Range("B1").Resize(dic.Count, UBound(v, 2)).Value = v
        .Select
    End With

 End Sub

(β) 2016/05/20(金) 23:17


マナさん

早々にありがとうございました。
マクロはほとんど使わないですが、教えて頂いたマクロ式を貼り付けて
マクロを回したら出来ました。
とても助かりました。
教えて頂きありがとうございました!
(みかん) 2016/05/21(土) 06:52


お礼を言う相手を間違えていますよ

(マナ) 2016/05/21(土) 10:47


コメント返信:

[ 一覧(最新更新順) ]


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