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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで80万行、50列位のデ...
-
ゼロを表示
-
Excelの計算が合いません。 諸...
-
Excelの警告について
-
今まで文字化けなく開けていたc...
-
EXCELの散布図で日付が1900年に...
-
エクセルでファイルの最終更新...
-
エクセルの数式バーのフォント...
-
作成した数式を値として表示し...
-
ExcelでASCを使って全角を半角...
-
Excelセルを跨いで合計を出す方法
-
Excel 大小比較演算子による「...
-
Excel関数について教えてくださ...
-
マクロの処理が遅くなった
-
エクセルで入力すると隣のセル...
-
Excel関数について教えてくださ...
-
エクセルの文字が途中から消える
-
エクセルを使用して、円周率を...
-
エクセルのセル内に分数などの...
-
条件付き書式設定で罫線を引き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報
2の式を入れましたが上手く行きませんでした。
#VALUE!となってしまいます。
クロス集計のエクセルデータと今回質問した集計データの2種類ありまして、今回質問した集計データ形式にまとめたいため、質問しました。