Excelで複数の行を列に変換する方法(9つの方法)

  • これを共有
Hugh West

Excelで複数行を列に変換する最も簡単な方法をお探しなら、この記事が役に立つでしょう。 では、本記事に飛び込みましょう。

ワークブックダウンロード

複数行から列への変換.xlsm

Excelで複数の行を列に変換する9つの方法

ここで、いくつかの製品について、以下の月の売上を記録しています。 1月 まで 5月 また、このデータセットを利用して、複数の行を列に簡単に変換する方法を紹介します。

を使用しています。 Microsoft Excel 365 のバージョンがありますが、ご都合に合わせて他のバージョンもお使いください。

方法-1:転置オプションを使用して、Excelで複数の行を列に変換する

ここでは トランスポーズ オプション内 貼り付けオプション を使えば、以下の複数行を簡単に列に変換することができます。

ステップス :

➤ を押して、データセットの全範囲をコピーする。 CTRL+C .

➤ 出力させたいセルを選択します。 右クリック をマウスで選択し トランスポーズ オプションを指定します。 貼り付けオプション .

そして、データの転置(行を列に変換すること)ができるようになります。

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

方法2:TRANSPOSE関数による複数行から複数列への変換

この項では、配列関数である TRANSPOSE機能 また、以下のデータセットの複数行を複数列に変換し、データを収集するために、メインのデータセットの下に別のテーブルをフォーマットしています。

ステップス :

➤セルに次の数式を入力します。 B10 .

=transpose(b3:e8)

これです。 トランスポーズ は、範囲の行を変更します。 B3:E8 を同時に列挙する。

➤ プレス エンタメ .

その後、以下の図のように行から列への変換が行われます。

を押す必要があります。 ctrl+shift+エンター を押さずに エンタメ Microsoft Excel 365を除く他のバージョンの場合 .

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

方法-3:INDIRECT関数とADDRESS関数を使用する。

ここでは INDIRECT機能 , ADDRESS機能 , ROW機能 そして COLUMN機能 を使って,次のデータセットの行を列に変換することができます.

ステップス :

➤ セル内で次の数式を使用します。 B10 .

=indirect(address(column(b3) - column($b$3) + row($b$3)), row(b3) - row($b$3) + column($b$3)))

これです。 B3 は主データセットの開始セルである。

  • COLUMN(B3) はセルの列番号を返す。 B3

    出力 → 2
  • COLUMN($B$3) はセルの列番号を返す。 $B$3 (絶対参照でこのセルは固定されます)

    出力 → 2

  • ROW($B$3) は、セルの行番号を返します。 $B$3 (絶対参照でこのセルは固定されます)

    出力 → 3

  • ROW(B3) → は、セルの行番号を返します。 B3

    出力 → 3
  • 列(b3) - 列($b$3) + 行($b$3) になる

    2-2+3 → 3

  • 行(b3) - 列($b$3) + 列($b$3) になる

    3-3+2 → 2

  • アドレス(列(b3)-列($b$3)+行($b$3), 行(b3)-行($b$3)+列($b$3)) になる

    アドレス(3,2) → の交点にある参照を返す。 3行目 コラム2

    出力 → $B$3

  • 間接(アドレス(列(b3)-列($b$3)+行($b$3)、行(b3)-行($b$3)+列($b$3))) になる

    間接的("$b$3") セルの値を返す $B$3 .

    出力 →

➤ プレス エンタメ .

➤ ドラッグする フィルハンドル ツールを右側から下へ

最後に、メインデータセットの複数行を複数列に変更することができるようになります。

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

方法-4:INDEX関数を使って複数行を列方向に変換する

を組み合わせて使用します。 INDEX機能 , COLUMN機能 そして ROW機能 を使えば、複数行を簡単に列方向に変換することができます。

ステップス :

➤ セル内に次の数式を適用します。 B10 .

=index($b$3:$e$8,column(a1),row(a1))

これです。 B$3:$E$8 はデータセットの範囲である。 A1 は,このデータセットの最初の行と列の番号を取得するために使われます. ここでは 列番号 に対して 行番号 論と 行番号 として 列番号 引数を用いて、これらの値を入力することで、簡単に行を列に変更することができます。 INDEX機能 .

➤ プレス エンタメ .

➤ ドラッグする フィルハンドル ツールを右側から下へ

その後、以下の図のように行から列への変換が行われます。

続きを読む: エクセルで複数の行や列を追加する方法(あらゆる方法)

方法-5:INDEX-MATCH式を使用する。

このセクションでは INDEX機能 そして MATCH機能 以下のデータセットの複数行を列方向に変換するためのものです。

ステップス :

➤ まず、新しいテーブルの最初の列と最初の行を手動でトランスポーズする必要があります。

➤セルに次の数式を入力します。 B11 .

=index($c$3:$c$8,match(b$10,$b$3:$b$8,0))である。

これです。 C$3:$C$8 はデータセットの2列目,そして B$3:$B$8 はデータセットの最初の列である。

  • match(b$10,$b$3:$b$8,0)です。 になる

    MATCH("月",$B$3:$B$8,0) 文字列を含むセルの行インデックス番号を返す。 範囲内 B$3:$B$8

    出力 → 1

  • index($c$3:$c$8,match(b$10,$b$3:$b$8,0))です。 になる

    index($c$3:$c$8,1)です。 は範囲の最初の値を返します。 C$3:$C$8

    出力 → オレンジ

➤ プレス エンタメ をドラッグして フィルハンドル ツールを右側に配置します。

すると、メインデータセットの2列目が2行目として取得されます。

同様に、以下の数式を適用して残りの変換を終了します。

=index($d$3:$d$8,match(b$10,$b$3:$b$8,0))

=index($e$3:$e$8,match(b$10,$b$3:$b$8,0))である。

最後に、最初のデータセットのすべての行を、2番目のデータセットの列として取得します。

続きを読む: Excelで複数の列を行に転置する方法

類似の読み物

  • [修正しました!】Excelで行と列が両方数字になる。
  • Excelで行や列を非表示にする方法(10の方法)
  • Excel VBA:行番号と列番号で範囲を設定する(3例)

方法6:VLOOKUP関数を使って、複数の行を列に変換する

この項では VLOOKUP機能 を使用して、次のデータ表の複数行を列に転置します。

ステップス :

➤ 最初は、新しいデータセットの最初の列と最初の行を手動で転置する必要があります。

➤セルに次の数式を書き込む。 B11 .

=vlookup(b$10,$b$3:$e$8,2,false)です。

これです。 B$3:$E$8 はデータセットの範囲である。 B$10 はルックアップ値であり 2 は、データセットの2列目の値を見るためのものです。

➤ プレス エンタメ をドラッグして フィルハンドル ツールを右側に配置します。

その後、メインデータセットの2列目を2行目として取得します。

同様に、以下の所定の計算式を用いて残りの変換を完了させる。

=vlookup(b$10,$b$3:$e$8,3, false)

=vlookup(b$10,$b$3:$e$8,4,false)です。

続きを読む: エクセルで行や列を追加する方法(簡単な3つの方法)

方法-7:Power Queryを使用する

ここでは パワークエリ を使えば、複数行を列方向に簡単に転置することができます。 しかし、データセットの最初に余分な行を追加しなければならないのは パワークエリ は、最初の行をヘッダとみなして、列として変換しない。

ステップス :

➤ に進みます。 データ タブ>> データの取得と変換 グループ>> テーブル/レンジから オプションです。

その後 テーブルの作成 ウィザードが表示されます。

➤ データ範囲を選択し、その上で テーブルにはヘッダーがあります オプションを使用します。

➤ プレス よっしゃー .

その後 パワークエリエイトエディタ のウィンドウが表示されます。

➤ を押して、データセットのすべての列を選択します。 CTRL 左クリック をマウスでクリックすると同時に .

➤ に進みます。 トランスフォーム タブ>> トランスポーズ オプションです。

データセットの最初の行をヘッダーにすることもできます。

➤ に進みます。 トランスフォーム タブ>> 1行目をヘッダーとして使用する グループ>> 1行目をヘッダーとして使用する オプションです。

そして、メインデータセットの行から変換された列を取得することになります。

➤ このウィンドウを閉じるには、次のようにします。 ホーム タブ>> 閉じる & 読み込む グループ>> 閉じる & 読み込む オプションです。

のテーブルを、このように パワークエリエイトエディタ という名前の新しいシートに読み込まれます。 表5 .

続きを読む: Excelで行と列を入れ替える方法(5つのメソッド)

方法-8:VBAコードを使用して複数の行を列に変換する

この章では、このような場合に備えて ブイビーエー 複数の行を列方向に変換するコードです。

ステップス :

➤ に進みます。 デベロッパー タブ>> ビジュアルベーシック オプションです。

その後 Visual Basic エディター が開きます。

➤ に進みます。 インサート タブ>> モジュール オプションです。

その後 モジュール が作成されます。

➤ 次のコードを書いてください。

 Sub conversionofmultiplerows() Dim multiple_rows_range, multiple_columns_range As Range Set multiple_rows_range = Application.InputBox( _ Prompt:="Choose range of rows", Title:="Microsoft Excel", Type:=8) Set multiple_columns_range = Application.InputBox( _ Prompt:="Choose destination cell", Title:="Microsoft Excel", _ Type:=8) multiple_rows_range.Copy multiple_columns_range.PasteSpecial貼り付け:=xlPasteAll、操作:=xlNone、_ 空白をスキップ:=False、転置:=True End Sub 

ここでは、以下のように宣言しています。 複数行の範囲 そして 複数列の範囲 かわりに レンジ で選択する範囲に設定されています. 入力ボックス を使うことで 入力ボックス メソッドを使用します。

次に、メインのデータセットをコピーします 複数行の範囲 を作成し、貼り付け先のセルにトランスポーズとして貼り付けます。 複数列の範囲 .

➤ プレス F5 .

次に、データセットの範囲を選択する入力ボックスが表示されます。 B$3:$E$8 において 行の範囲を選択する を押してください。 よっしゃー .

すると、別の入力ボックスがポップアップ表示されます。

➤ 移動先のセルを選択する $B$10 を押してください。 よっしゃー .

最終的には、メインのデータセットの書式も以下のように、複数行から変換された列を取得します。

続きを読む Excelのグラフで行と列を入れ替える方法(2通り)

方法-9:OFFSET関数を使った複数行の列・行への変換

生徒の名前と科目、それに対応する点数が複数行になったリストがあります。 このリストの横にあるテーブルの最初の 3 行を 3 つの列に変換したいと思います。 同様に、残りの行も 3 行ごとに列に変換したいと思います。 つまり、行を列に、行を一度に変換する必要があることがおわかりいただけるでしょう。

そのために、今回は オフセット , そして COLUMN機能 .

ステップス :

➤セルに次の数式を入力します。 D4 .

=offset($b$4,column()-4+(row()-4)*3,0,1,1)

これです。 $B$4 はリストの開始セルである。

  • COLUMN() はセルの列番号を返す。 D4 式が適用されているところ。

    出力 → 4

  • COLUMN()-4 になる

    4-4 → 4 が減算されるのは、数式の開始セルが コラム4 .

    出力 → 0

  • ROW() → は、セルの行番号を返します。 D4 式が適用されているところ。

    出力 → 4

  • (ROW()-4)*3)です。 になる

    (4-4)*3 → 4 が減算されるのは、数式の開始セルが 4列目 と掛け合わせる。 3 を、変換したいので 3 の行を列にして、その都度

    出力 → 0

  • オフセット($b$4,column()-4+(row()-4)*3,0,1,1) になる

    OFFSET($B$4,0+0,0,1,1)

    offset($b$4,0,0,1,1) → オフセット の高さと幅を持つ範囲を抽出します。 1 セル発 $B$4 .

    出力 → ヨーゼフ

➤ プレス エンタメ .

➤ ドラッグする フィルハンドル ツールを右側から下へ

最終的には、複数行から列・行への変換を行うことができるようになります。

続きを読む: Excelで既存のデータを入れ替えずに行/列を移動する(3つのベストな方法)

プラクティス部門

自分で練習できるように 実践編 という名前のシートに、以下のようなセクションを作成します。 実践編 .自分でやってください。

結論

この記事では、我々は簡単にExcelで複数の行を列に変換する方法をカバーしようとしました。 あなたがそれを有用見つけることを願っています。 あなたが何か提案や質問がある場合は、コメント欄でそれらを共有すること自由に感じなさい。

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