Excelで複数の列を行に転置する方法

  • これを共有
Hugh West

複数の列を行に変換する必要がある場合が多いため、Excelで複数の列を行に変換することは、ユーザーがよく行う操作です。 エクセル機能 , トランスポーズ , INDIRECT そして INDEX の機能を持つ。 パワークエリ と同様に VBAマクロ は、列を行に変換することができます。

例えば、私たちが 従業員名 給与データ また、やむを得ない事情により、列と行の入れ替えを行う必要があります。

この記事では、Excelで複数の列を行に転置するためのいくつかの方法を紹介します。 エクセル機能 , 機能 , パワークエリ そして VBAマクロ .

Excelワークブックをダウンロードする

列を行に変換する.xlsm

Excelで複数の列を行に転置する6つの簡単な方法

方法1:貼り付けオプションを使って複数の列を行に転置する

Excel では、次のような複数の形式でデータを貼り付けることができます。 価値 , , トランスポーズ のみです。 フォーマット などを使用することができます。 コンテキストメニュー トランスポーズを貼り付けるオプション を使用して、列を行に変換します。

ステップ1. 移調したい範囲全体をハイライト表示します。 右クリック を付けています。 コンテキストメニュー が表示されます。 コンテキストメニュー 選択 コピー .

ステップ2. ここで、任意の空白セル(=)を選択します。 G4 ) が範囲に隣接している場合 右クリック をクリックします。 トランスポーズ から 貼り付けオプション .

🔼 また、この画面で ペースト・スペシャル ウィンドウを使用する キーボードショートカット CTRL+ALT+V を選択します。 トランスポーズ から ペースト・スペシャル をクリックします。 よっしゃー .

🔼実行する。 トランスポーズ からのオプション コンテキストメニュー または ペースト・スペシャル は、次の図のように、選択した複数の列を行に変換することになります。

続きを読む エクセルで行と列を入れ替える方法(5つの方法)

方法2:TRANSPOSE関数で列を行に転置する

があります。 トランスポーズ 機能 は、列と行を直接変換することができます。 トランスポーズ の構文は、列の数や範囲の大きさに関係なく使用できます。 トランスポーズ 関数は

TRANSPOSE(配列)

ステップ1. 隣接する任意のセル(例)において、以下の数式を使用します。 G4 ) を使って列と行を変換します。

=transpose(b4:e12)

こちら B4:E12 は配列の引数です。

ステップ2. ヒット エンタメ すると、一瞬ですべての列が行に変換されます。

🔄 時には、データセットに含まれる 空白のセル で、転置した後にExcelが挿入する 0's この注意点を回避するためには、以下のように トランスポーズ という関数があります。 イフ 機能 を使用すると、空白を無視することができます。 この場合、適用される数式は

=TRANSPOSE(IF(B4:E12="","",B4:E12))

続きを読む: エクセルで列を複数行に転置する方法(6つのメソッド)

方法3:INDIRECT関数で列から行に変換する

リンクを確立したり、既存の範囲からデータを取り出したりしたいケースでは INDIRECT 機能 . INDIRECT の機能を注入しています。 COLUMN の構文は、範囲内のエントリーを参照します。 INDIRECT 関数は

INDIRECT (ref_text, [a1])

ステートメントで定義されています。

ref_text 参考文献(テキストとして)。

a1 をブーリアン表示します。 A1 または R1C1 スタイルのセル参照。 デフォルトは A1 スタイル = . [オプション]の場合

ステップ1. 任意の空白のセルに後者の数式を入力します(例. G4 ).

=INDIRECT("b"&COLUMN()-3))

があります。 ret_text (すなわち "b"&COLUMN()-3 ) があります。 2 の部品を使用しています。 第1回 COLUMN 機能 を渡すと 列番号 第2回 カラム名 . ref_text これらを組み合わせて 2 であれば、セル参照となります。 3 よりも少ない。 COLUMN その結果、最終的な結果は、以下のようになります。 B(7-3) = B4 したがって B4 にセルエントリが表示されます。 G4 .

ステップ2. 繰り返し ステップ1 で、これまでの式を以下の式に置き換えます。 G5 , G6 そして G7 .

=INDIRECT("c"&COLUMN()-3))

=INDIRECT("d"&COLUMN()-3))

=INDIRECT("e"&COLUMN()-3))

これらすべて 3 式は、前の式と同じ引数を宣言する。 そして、それぞれのセルのエントリをフェッチする(すなわち G5=C4 , G6=D4 そして G7=E4 ).

ステップ3. を使用します。 フィルハンドル を実行すると、セルの右側に数式が適用され、それぞれのセルの項目が意図したとおりに転置された状態で表示されます。

続きを読む: エクセルVBA:セルアドレスから行番号と列番号を取得する(4つのメソッド)

類似の読み物

  • Excelのグラフで行と列を入れ替える方法(2通り)
  • エクセルで複数の行や列を追加する(あらゆる方法)
  • エクセルの計算式を使って1列おきにスキップする方法(3つの方法)
  • Excel VBA:行番号と列番号で範囲を設定する(3例)
  • Excelで値に基づいて列番号を検索する方法

方法4:INDEX関数を使って列を行に転置する

に似ています。 方法3 は、その INDEX 機能 の構文は、指定された位置からデータを取得します。 INDEX 関数は

INDEX(array, row_num, [col_num])

ステップ1. 任意の空白セルに以下の数式を記入します。 G4 .

=index($b$4:$e$14,column()-6,1)

式では B$4:$E$14 を指します。 勢揃い の引数です。 COLUMN 関数は,数式が挿入された列番号を返す(すなわち,, G4 )。 したがって COLUMN()-6 結果( 7-6 ) 1 かわりに 行番号 に対して 勢揃い ...そして、すでに 1 col_num の中で 勢揃い .

ステップ2. の計算式を反復する。 G5 , G6 そして G7 を変更するだけで col_num をクリックすると、下の画像のようになります。

=index($b$4:$e$14,column()-6,2)

=index($b$4:$e$14,column()-6,3)

=index($b$4:$e$14,column()-6,4)

これらの式は、同じ 勢揃い , 一行目 列2 , 3 そして 4 計算式が取得した結果の値が、列のヘッダを表しているのがわかります。

ステップ3. をドラッグしてください。 フィルハンドル をクリックすると、列方向のエントリを水平方向に挿入することができます。 これにより、列が行に変換されます。

続きを読む エクセルで列のインデックス番号を調べる方法(2つの方法)

方法5:Power Queryを使用して、複数の列を行に転置する。

パワークエリ は、データセットを必要に応じて変換するための強力なツールです。 パワークエリ が提供されます。 トランスフォーム を含む複数のオプションが表示されるタブがあります。 トランスポーズ が利用できます。 トランスポーズ 操作で、複数の列を行に変換することができます。

ステップ1. データセット全体を選択し、Go to データ >クリックしてください。 テーブル/レンジから から データの取得と変換 の項を参照)。

ステップ2. Excelでは、データセット全体を テーブル その結果 テーブルの作成 のダイアログボックスが表示されます。 をクリックします。 よっしゃー .

ステップ3. 一瞬でExcelに読み込まれます。 パワークエリエイトエディタ をクリックすると、下図のように表示されます。

➠ 選択してください。 トランスフォーム のセクションをご覧ください。

➤ クリックしてください。 トランスポーズ .

ステップ4. を実行した後 トランスポーズ の操作で、移調されたデータを読み込む必要があります。 に移動します。 ホーム >クリックしてください。 閉じる & 読み込む 選択 閉じる & 読み込む .

転置されたデータを新しいワークシートに読み込むのにしばらく時間がかかります。 最終的には、以下の画像からわかるように、複数の列と行を変換してデータを読み込みます。

続きを読む: Excelで複数の行を列に変換する方法(9つの方法)

方法6:VBAマクロを使用して、複数の列を行に転置する

ブイビーエー マクロ は、結果重視の追求が超効率的です。 複数の列を行に転置するマクロを2行ほど書けばよいのです。

ステップ1. マクロを挿入するには、まず マイクロソフトビジュアルベーシック 使って ALT+F11 次に、以下を選択します。 インサート (より)。 ツールバー )>をクリックします。 モジュール を挿入してください。

ステップ2. に以下のマクロを貼り付けます。 モジュール .

 Sub ColumnToRowTransposing() Dim wrkRng As Range Dim trgtRng As Range Set wrkRng = Application.InputBox(Prompt:="Provide Columns", Type:=8) Set trgtRng = Application.InputBox(Prompt:="Select destination cell", Type:=8) wrkRng.Copy trgtRng.Select Selection.PasteSpecial Paste: =xlPasteAll, Operation:=xlNone, SkipBlanks: =False, Transpose: =True Application.CutCopyMode = False End Sub 

マクロは、まず、転置する範囲と転置されたデータを挿入するセルを VBA 入力ボックス 機能 .次に、その ペースト・スペシャル メソッドは、指定されたセルに範囲全体を転置データとして貼り付けます。

ステップ3. を使用します。 F5 キーでマクロを実行します。 マコは、最初の 入力ボックス をクリックして、範囲を挿入します。 範囲を指定してから よっしゃー .

ステップ4. その後、Excelは 第2回 入力ボックス を入力し、セルを指定することができます。 クリック において よっしゃー .

🔼 最後に、Excelはデータセット全体の列を行に変換します。

VBAマクロ を提供することで、空白セルを処理することができます。 スキップブランクス の文オプションがあります。 お客様のデータに合わせて、マクロを修正することができます。

続きを読む: エクセルマクロ:複数の行を列に変換する(3例)

結論

この記事では、複数の特徴や機能、また、そのデモを行います。 VBAマクロ は、複数の列を行に転置するためにExcelで使用します。 トランスポーズ 関数は,最も便利な方法で列と行を変換する。 他の関数として,I エヌディレクト または INDEX 以上、Transposingについてご理解いただけたでしょうか? また、ご質問やご意見がありましたら、コメントください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。