以下のように各ID毎に、縦持ちでデータを持っているとします。
ID データ
ABC golf
ABC baseball
ABC basketball
DEF baseball
DEF soccer
GHI soccer
GHI golf
GHI volleyball
GHI basketball
JKL swimming
それを以下のように各ID毎に、横持ちで1行で表したいです。
ABC golf, baseball, basketball
DEF baseball, soccer
GHI soccer, golf, volleyball, basketball
JKL swimming
ID数が膨大で、かつデータの種類が多岐に渡るため、
エクセルでなくても構わないのですが、上記を簡単に実現できる方法をご存知の方教えてください!
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは!
>それを以下のように各ID毎に、横持ちで1行で表したいです。
セルは別々になっても良い!というコトとして・・・
VBAになりますが、一例です。
元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。
Sub Sample1() 'この行から//
Dim i As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
wS.Cells(c.Row, Columns.Count).End(xlToLeft).Offset(, 1) = .Cells(i, "B")
Next i
End With
Application.ScreenUpdating = True
wS.Activate
MsgBox "完了"
End Sub 'この行まで//
※ 関数でないのでデータ変更があるたびに
マクロを実行する必要があります。m(_ _)m
No.3
- 回答日時:
マクロ音痴な私なら、[No.2]の d-q-t-pさんのアイディアに飛び付いてソレで終わりです。
だけど、それまでにアーでもない、コーでもないと考えていたので、私自身の備忘録そして貴方への別解として、記しておきます。「縦持ちデータ」を添付図の Sheet1 とします。それを「横持ちデータ」として Sheet2 に実現します。
ちなみに、初耳の「縦持ち(横持ち)」、中々乙な表現ですね。どの業界の言葉なのでしょうか?
1.Sheet1 の列Aを[コピー]して、Sheet2 の列Cに[貼り付け]
2.Sheet2 の列Cを選択して、[データ]→
 ̄ ̄[データツール <重複の削除>]
3.下の各セルにそれぞれ右側の式を入力
 ̄ ̄ A2: =MATCH(C2,Sheet1!A:A,0)
 ̄ ̄ B2: =COUNTIF(Sheet1!A:A,C2)
 ̄ ̄ D1: =IF(COLUMN(A1)>MAX($B:$B),"","Events"&COLUMN(A1))
 ̄ ̄ D2: =IF(COLUMN(A1)>$B2,"",OFFSET(Sheet1!$A$2,$A2-2+COLUMN(A1)-1,1))
4.範囲 A2:B2 のフィルハンドルをマウスで「エイヤッ!」
 ̄ ̄とダブクリ
5.セル D1 を右方へズズーッとオートフィル
6.セル D2 を右方へ(1行目が表示されている列まで。此処で
 ̄ ̄はセル G4 まで)ズズーッとオートフィル
7.範囲 D2:G2 のフィルハンドルをマウスで「エイヤッ!」
 ̄ ̄とダブクリ
ありがとうございます!
OFFSET関数など難しいですね。。。
どんな処理をしているのか、がよくわかっていませんが、実現できました。
こんな方法もあるんですね。
ありがとうございます。
No.2
- 回答日時:
この「, 」がセルで分けるのか何なのかよく分かりませんが 見たまま
だと解釈します。
A列が昇順にソート
C2:=IF(A2=A3,B2&", "&C3,B2)
フィルハンドルをダブルクリック
C列をコピー→その場で値貼り付け
[データ]の[重複を削除]
ID列を指定して[OK]
B列を削除
でいいと思います。
一つのセルにカンマ区切りで値をすべて入れられるのはものすごく良いですね!
本当はセルは分けたかったのですが、CSVで保存すればほとんど同じことですね。
マクロも使わず解決できるのは素晴らしい方法です。
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 I like soccer and baseball. はOがsoccer and baseball 4 2022/08/16 22:41
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- 英語 一般動詞の疑問文、否定文の作り方 5 2022/11/10 18:17
- Excel(エクセル) Excelで、半角スペースをTABに変換する 5 2022/10/18 14:18
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- その他(スポーツ) 札幌ドームの話 1 2022/08/16 23:03
- 英語 canを過去形で使うとどう感じる? 8 2022/09/12 18:23
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) EXCELで同一セル内で自動的に改行されてしまう(難問) 6 2023/04/16 00:51
- その他(ブラウザ) webサイトに表示する画像の向きを変える(左右に回す)方法 3 2023/01/20 08:28
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
アクセスで教えてください。 縦持ちデータを横持ちデータに変更したいです。 項目数が多くてクロス集計で
Access(アクセス)
-
ACCESSで縦に並んだテーブルデータを横に並べることは出来ますか?
Access(アクセス)
-
Accessで縦と横を入れ替えたい
その他(プログラミング・Web制作)
-
-
4
VBA 縦のデータを横にするコード
IT・エンジニアリング
-
5
【アクセス】クエリで、行と列を入れ替えるには?【access】
Access(アクセス)
-
6
エクセルで横データを縦に並べ変えたいです。
財務・会計・経理
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exselの質問です
-
エクセルの日付に時差を加算 #V...
-
(マクロ)vlookupの元データを同...
-
Excelのデーターを消して保存し...
-
Excelの数式について教えてくだ...
-
pdfの表をexcelにはりつけて計...
-
エクセルの「赤」の印刷がうま...
-
エクセルで特定のセルに入力が...
-
エクセル おすすめフォント
-
一つのセルに(例えばA1)入力...
-
Excelの関数について教えてくだ...
-
関数の説明
-
Excelにいついて質問です。
-
[オプション]の[アクセスビリテ...
-
VBAについての質問です
-
Excelについて
-
CSVファイルについて質問です。
-
エクセルの「入力規則」のプル...
-
エクセルファイルがファイルの...
-
エクセルであるセルに数字を入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報