- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数の縦方向に並んだ表を並べ変える方法(2))
縦方向の表の並べ変え方法とデータ抽出方法
このQ&Aのポイント
- 複数の縦方向に並んだ表を並べ変える方法やデータの抽出方法について質問です。質問内容の要点を以下にまとめました。
- 縦方向に並んだ表のデータを抽出する方法や配列を使ったデータの並べ替え方法についてお知恵をお借りしたいです。Windows7とエクセル2010を使用しています。
- 縦に並んだ表のデータを自動的に抽出・並べ替えする方法について調べています。お手数ですが、ご教示いただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
B列の空白セルを基準に関数で分割する方法を提示します。 例示のレイアウトならC1セルに以下の式を入力して右方向および下方向にオートフィルすればご希望のリストを作成できます。 =OFFSET($B$1,SMALL(INDEX(($B$1:$B$1000<>"")*10000+ROW($1:$1000),),COLUMN(A1))+ROW(A1)-1,0)&"" 各質問の回答の種類にばらつきがある場合は(たとえば回答の種類で最大が4種類で最小が2種類の場合)、C2セルの数式を以下のように変更し、右方向および下方向にオートフィルしてください。 =IF(C1="","",OFFSET($B$1,SMALL(INDEX(($B$1:$B$1000<>"")*10000+ROW($1:$1000),),COLUMN(A2))+ROW(A2)-1,0)&"")
その他の回答 (2)
noname#204879
回答No.2
1.セル C2 に次の[条件付き書式]を設定 セルの値が 次の値に等しい 0 フォント色 白 2.セル C2 に次式を入力して、此れを右方および下方にドラッグ&ペースト =IF(C1<>0,OFFSET(INDIRECT(ADDRESS(MATCH(C$1,$B:$B,0),2)),ROW(A1),0),0) 【補足】理解できなければ、潔く諦めましょう。
- watabe007
- ベストアンサー率62% (476/760)
回答No.1
参考に Dim rng As Range, i As Long Set rng = Range("B1", Cells(Rows.Count, "B").End(xlUp)).SpecialCells(2) For i = 2 To rng.Areas.Count rng.Areas(i).Copy Cells(1, i + 1) Next
お礼
おかげさまで問題を解決することができました。 エクセル関数の本を引っ張りだして悪戦苦闘していましたが、この回答にはたどり着けなかったと思います。 本当にありがとうございました。