Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelでn行ごとに行を列に転置する2つの簡単な方法

大きなMicrosoft Excelのデータを扱っていると、n行ごとのデータを行から列へ転置(入れ替え)したい場面が出てくることがあります。転置作業自体は簡単ですが、手作業で行うと時間がかかってしまいます。そこで本記事では、Excelでn行ごとに行を列に効率よく転置する2つの便利な方法を、実際の画面例を交えながらわかりやすく解説します。

Excelでn行ごとに行を列に転置する2つの方法

ここでは、アルマーニグループの複数の営業担当者に関する情報が入力された大きなExcelワークシートを例に説明します。営業担当者の氏名ID番号売上高がそれぞれB列、C列、D列に入力されています。このデータを例に、INDEX関数を使った方法とVBAコードを使った方法の2通りで、4行ごとに行を列に転置してみましょう。

Excelでn行ごとに行を列に転置する2つの簡単な方法

方法1:INDEX関数を使ってn行ごとに行を列に転置する

INDEX関数を使えば、Excelでn行ごとのデータを列に簡単に転置できます。時間も節約できるおすすめの方法です。以下の手順に従って、4行ごとに行を列に転置してみましょう。

ステップ1:

  • まず、元データを確認します。今回は4行ごとに列へ転置します。

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • 次に、結果を出力するセルを選択します。ここでは作業しやすいよう、セルF5を選択します。

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • セルF5を選択したら、以下の数式を入力します。

=INDEX($B:$B,ROW(B5)*4-4+COLUMN(B5))

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • キーボードのEnterキーを押すと、セルF5にINDEX関数の結果として「David」が表示されます。

Excelでn行ごとに行を列に転置する2つの簡単な方法

ステップ2:

  • 続いて、オートフィル機能を使ってINDEX関数をF列の残りのセルにコピーします。

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • さらに、G列・H列・I列にもオートフィルで関数を展開すると、下のスクリーンショットのような目的の出力結果が得られます。

Excelでn行ごとに行を列に転置する2つの簡単な方法

ポイント: 数式内の「*4-4」の部分の「4」を任意の数字に変更すれば、5行ごと、10行ごとなど、好きな間隔で転置できます。

方法2:VBAコードを実行してn行ごとに行を列に転置する

次に、シンプルなVBAコードを使ってn行ごとに行を列に転置する方法をご紹介します。大量のデータを扱う場合や繰り返し作業が必要な場合に特に便利です。こちらも同じデータセットを使い、4行ごとに行を列に転置していきます。

ステップ1:

  • まずモジュールを開きます。開発タブから以下の順にクリックしてください。

開発 → Visual Basic

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • Visual Basicをクリックすると、「Microsoft Visual Basic for Applications」というウィンドウが開きます。このウィンドウでVBAコード用のモジュールを挿入します。以下の順に操作してください。

挿入 → 標準モジュール

Excelでn行ごとに行を列に転置する2つの簡単な方法

ステップ2:

  • 表示されたモジュールに、以下のVBAコードを記述します。
Sub Transpose_Rows_to_Columns()
    Dim x As Long
    Dim y As Long
    Dim z As Long
    Application.ScreenUpdating = False
    z = Cells(1, Columns.Count).End(xlToLeft).Column
    For y = 1 To z Step 2
        x = x + 1
        Cells(1, y).Copy Destination:=Cells(x, 1)
        x = x + 1
        Cells(1, y + 1).Copy Destination:=Cells(x, 1)
    Next y
    Cells(1, 2).Resize(1, z - 1).Clear
    Application.ScreenUpdating = True
End Sub

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • コードを入力したら、VBAを実行します。以下の順に操作してください。

実行 → Sub/ユーザーフォームの実行

Excelでn行ごとに行を列に転置する2つの簡単な方法

  • VBAコードを実行すると、下のスクリーンショットのように4行ごとのデータが列に転置されます。

Excelでn行ごとに行を列に転置する2つの簡単な方法

覚えておきたいポイント

👉 Alt + F11キーを同時に押すことで、「Microsoft Visual Basic for Applications」のウィンドウをすぐに開くことができます。

👉 リボンに開発タブが表示されていない場合は、設定で表示させることができます。以下の順に操作してください。

ファイル → オプション → リボンのユーザー設定

まとめ

本記事では、Excelでn行ごとに行を列に転置する2つの方法(INDEX関数とVBAコード)を解説しました。どちらの方法も実務での生産性向上に役立つテクニックですので、ぜひ自分のスプレッドシートで活用してみてください。ご不明な点や質問がある場合は、お気軽にコメントでお知らせください。

関連記事

  • Excelで逆転置を行う3つの簡単な方法
  • Excelで列を行に転置する6つの方法
  • Power Queryを使ってExcelで列を行に変換する方法
  • セルの値に基づいてExcelで列を行に変換する方法
  • Excelでの条件付き転置(2つの例)
  • 列をシングルクォーテーション付きのカンマ区切りリストに変換する方法
  • Excel VBAで転置を行う3つの方法
  1. Excelで依存関係をトレースする2つの簡単な方法

    Excelでデータを扱う際、依存関係のトレース(Trace Dependents)の使い方を知っておくことは非常に重要です。あるセルの値が他のどのセルに依存しているのかを把握できれば、ワークブック全体の構造理解やトラブルシューティングが格段にしやすくなります。この記事では、Excelで依存関係をトレースする2つの簡単で実用的な方法を解説します。 練習用ワークブックをダウンロードして、実際に手を動かしながら試してみてください。 Excelで依存関係をトレースする2つの方法 ここでは、「ABC商事の上半期売上」というサンプルデータセットを使用します。データは3列構成で、列B・C・Dにはそれぞれ月・

  2. Excelでサンプルごとの行数を指定したANOVA(分散分析)を実行する2つの簡単な方法

    ANOVA(分散分析:Analysis of Variance)とは、グループ内またはグループ間の平均値の差を検出するために、複数の統計モデルを組み合わせた手法です。Microsoft Excelでは、ANOVA分析のさまざまな機能を活用して結果を解釈することができます。この記事では、Excelでサンプルごとの行数を指定してANOVAを実行する2つの簡単な方法をわかりやすく解説します。シンプルかつ効率的にANOVAを活用したい方は、ぜひ参考にしてください。 Excelでサンプルごとの行数を指定したANOVAを実行する2つの方法 2つの独立変数を用いて分析を行う場合は、二元配置分散分析(Two-