No.5ベストアンサー
- 回答日時:
[No.4補足]へのコメント、
》 2の式を入れましたが上手く行きませんでした。
》 #VALUE!となってしまいます。
失礼しました。
ステップ2に書いた式の直後に次の一文を書き漏らしていました。
⇒【お断り】上式は必ず配列数式として入力のこと
ご存知かも知れませんが、入力法が、下記の通り、通常とは異なります。
1.該当式をコピーして指定のセルに入力(でも、まだ Enterキーを叩かない!)
 ̄ ̄(#VALUE!となっていたら、そのセルを選択して、F2キーをツンして直ぐに)
2.Ctrl+Shift+Enter を「エイヤッ!」と叩き付け
3.[数式バー]を眺めて、下記のように、入力した式が { }で囲まれていることを確認
{=IF(COLUMN(A1)>$H2,"",INDEX($A$1:$F$1,SMALL(IF($B2:$F2>0,COLUMN($B2:$F2),""),COLUMN(A1))))}
【お断り】決して、上以外の方法で { }で囲んではなりませぬ。
No.4
- 回答日時:
1.式 =COUNTA(B2:F2) を入力したセル H2 を下方にオートフィル
2.次式を入力したセル I2 を右方および下方にオートフィル
 ̄ ̄ =IF(COLUMN(A1)>$H2,"",INDEX($A$1:$F$1,SMALL(IF($B2:$F2>0,COLUMN($B2:$F2),""),COLUMN(A1))))
3.列Lは空白のままに放置して、次式を入力したセル M2 を右方および下方にオートフィル
 ̄ ̄ =IF(COLUMN(A1)>MAX($H$2:$H$5),"",L2&" "&I2)
4.次式を入力したセル R2 を下方にオートフィル
 ̄ ̄ =SUBSTITUTE(TRIM(N2)," ",",")
No.3
- 回答日時:
ただ該当するデータを1セルにまとめるだけなら TEXTJOIN関数でできます。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
ただ Excelのバージョンが 2016で Office365サブスクライバーであること
が大前提となります。
この回答へのお礼
お礼日時:2017/10/16 22:29
回答ありがとうございます。
エクセルが2016バージョンでなかったので、確認できませんでした。
新しいバージョンのエクセルが欲しいものです。
No.1
- 回答日時:
こんばんは!
抽出するのは複数列でよいのであれば、関数で出来ると思いますが、
質問文では1セルにカンマで区切って表示をお望みのようなので、VBAでの一例です。
タイトルに
>データ抽出、集計方法
とありますので、↓の画像のように
元データはSheet1にあり、Sheet2に抽出、集計をするようにしました。
尚、Sheet2のA列は入力済みだとします。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, j As Long, wS As Worksheet, c As Range
Dim lastRow As Long, lastCol As Long, myStr As String
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet2")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
Range(.Cells(2, "B"), .Cells(lastRow, "C")).ClearContents
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
Set c = .Range("A:A").Find(what:=wS.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
For j = 2 To wS.Cells(1, Columns.Count).End(xlToLeft).Column
If wS.Cells(i, j) <> "" Then
myStr = myStr & wS.Cells(1, j) & ","
With .Cells(c.Row, "C")
.Value = .Value + wS.Cells(i, j)
End With
End If
Next j
.Cells(c.Row, "B") = Left(myStr, Len(myStr) - 1)
myStr = ""
Next i
.Columns.AutoFit
End With
End Sub
※ Sheet1のA列のデータに重複はない!という前提です。
※ 関数でないので、Sheet1のデータ変更があるたびにマクロを実行する必要があります。
これで画像のような感じになります。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) エクセルで年月ごとの売り上げを集計する方法を教えてください 7 2022/06/01 17:06
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Visual Basic(VBA) 日付を重複させずに数えたい 4 2022/12/04 16:26
- PowerPoint(パワーポイント) パワーポイントで資料を作る時 エクセルで集計したデータなどを貼り付けています。 そうすると パワーポ 3 2023/05/23 09:51
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
2の式を入れましたが上手く行きませんでした。
#VALUE!となってしまいます。
クロス集計のエクセルデータと今回質問した集計データの2種類ありまして、今回質問した集計データ形式にまとめたいため、質問しました。