2025年2月28日【ID:0】
メンバー限定
【Excel】選択している行のデータを縦向きに抽出
Excelで選択している行のデータを縦向きに抽出する方法について解説します。

実は、マクロを使用せずに簡単な数式のみで実現できます。
順番に手順を解説していきます。
1. 先頭行のデータを縦方向に抽出
まずは、先頭行(No.1)のデータをB列のセルに抽出していきます。
抽出する際に、横方向のデータを縦方向に転置する必要があります。
転置するには、TRANSPOSE関数を活用します。
抽出する先頭のセルB3に以下の数式を入力します。
=TRANSPOSE(D3:M3)
// D3:M3:先頭行(No.1)のデータ

数式を入力して確定することで、以下のように先頭行のデータを縦方向に変換して抽出することができます。

2. 抽出する行番号を数値にする
現状の数式は、抽出するデータが「D3:M3」と参照になっています。
=TRANSPOSE(D3:M3)
最終的には選択している行のデータを抽出する必要があるため、1行目、2行目と行番号を変更するだけで抽出対象のデータが変更できるように修正します。
こちらでは、OFFSET関数を活用して行番号で指定できるように修正します。
OFFSET関数とは、指定した範囲から指定した行数、列数移動した位置の範囲を取得することができる関数です。
OFFSET関数を活用して1行移動した先がセル「D3:M3」になるように、以下のような数式にします。
※No.1のデータが1行移動した先になるようにします。
=TRANSPOSE(OFFSET(D2:M2,1,0))
// D2:M2:移動する前の範囲
// 1:1行下へ移動
// 0:0列右へ移動

数式を入力して確定することで、以下のように抽出することができます。

OFFSET関数で指定した行数を以下のように修正するだけで、抽出するデータの行を変更することができます。
=TRANSPOSE(OFFSET(D2:M2,2,0))
// 2:2行下へ移動

3. 行番号を自動取得する
最後に、OFFSET関数で指定している行数を自動で取得する仕組みを実現します。
実は、この仕組みも数式のみで実現できます。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。

IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます