Excelでデータを転置する5つの方法(ステップバイステップガイド)
データの転置とは、行を列に変換したり、その逆を行ったりして、配列の向きを変更することを意味します。このチュートリアルでは、配列の向きを切り替えて目的の結果を得るための5つの異なる方法をご紹介します。
ビデオ: Excelでデータを転置する
特殊貼り付けで列を行に切り替える
ステップ1: 転置する範囲をコピーする
行と列を切り替えたいセルの範囲を選択し、「Ctrl」+「C」を押して範囲をコピーします。
ステップ2: 貼り付け転置オプションを選択する
宛先範囲の最初のセルを右クリックし、右クリックメニューの(「貼り付けオプション」の下にある)「転置」アイコンをクリックします。
結果
おっと!範囲がすぐに転置されました!
(AD) Kutoolsで表の次元を簡単に転置
Excelでクロス表(二次元表)をフラットリスト(一次元リスト)に変換したり、その逆を行ったりするのは、いつも非常に時間がかかり、労力が必要です。しかし、Kutools for Excelがインストールされている場合、その「テーブルの次元を変換」ツールが、迅速かつ簡単に変換を支援します。
"Kutools for Excel" - 300以上の便利な機能を含み、作業を大幅に簡素化します。今すぐ30日間の全機能無料トライアルを取得してください!
データを転置し、ソースにリンクする
範囲の向きを動的に切り替え(列を行に、またはその逆)、切り替えられた結果を元のデータセットに接続するには、以下のいずれかの方法を使用できます:
- "TRANSPOSE関数"(使いやすいが結果は編集不可)
- "INDIRECT、ADDRESS、COLUMN、ROW関数"(大きな数式だが結果の変更が可能)
- "特殊貼り付けと検索&置換"(複雑だが理解しやすい)
- "Power Query"(結果が表形式で簡単)
TRANSPOSE関数を使用して行を列に変更する
"TRANSPOSE"関数を使って行を列に、またはその逆に変換するには、以下の手順を実行してください。
ステップ1: 元のセルセットと同じ数の空白セルを選択するが、方向は異なる
ヒント: Excel 365またはExcel 2021を使用している場合は、このステップをスキップしてください。
例えば、元の表がA1:C4の範囲にある場合、それは4行3列の表であることを意味します。したがって、転置された表は3行4列になります。つまり、3行4列分の空白セルを選択する必要があります。
ステップ2: TRANSPOSE数式を入力する
数式バーに以下の数式を入力し、「Ctrl」+「Shift」+「Enter」を押して結果を得ます。
ヒント: Excel 365またはExcel 2021ユーザーの場合は、「Enter」を押してください。
=TRANSPOSE(A1:C4)
- A1:C4を実際に転置したい元の範囲に変更する必要があります。
- 元の範囲に空のセルがある場合、"TRANSPOSE"関数は空のセルを0(ゼロ)に変換します。転置中にゼロの結果を排除し、空白セルを維持するには、"IF"関数を利用することが必要です:
-
=TRANSPOSE(IF(A1:C4="","",A1:C4))
結果
行が列に変わり、列が行に変換されました。
INDIRECT、ADDRESS、COLUMN、ROW関数を使用してデータを回転させる
上記の数式は非常に理解しやすく使用も簡単ですが、欠点として、回転した表内のどのセルも編集または削除することができません。そこで、ここでは「INDIRECT」「ADDRESS」「COLUMN」「ROW」関数を使った数式を紹介します。例えば、元の表がA1:C4の範囲にある場合、列を行に変換し、回転したデータをソースデータセットに接続するには、以下の手順に従ってください。
ステップ1: 数式を入力する
宛先範囲の左上端のセル(今回の例ではA6)に以下の数式を入力し、「Enter」を押します:
=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))
- A1を実際に転置する元の範囲の左上端のセルに変更し、ドル記号はそのままにしてください。列文字と行番号の前のドル記号($)は絶対参照を示しており、数式を他のセルに移動またはコピーしても列文字と行番号が変更されないようにします。
- 元の範囲に空のセルがある場合、数式は空のセルを0(ゼロ)に変換します。転置中にゼロの結果を排除し、空白セルを維持するには、「IF」関数を利用することが必要です:
-
=IF(INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))=0,"",INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1))))
ステップ2: 数式を右および下のセルにコピーする
数式セルを選択し、そのフィルハンドル(セルの右下隅にある小さな緑色の四角)をドラッグして、必要な行数と列数だけ下方向および右方向にコピーします。
結果
列と行が即座に入れ替わりました。
特殊貼り付けと検索&置換で列を行に変換する
特殊貼り付け方法にさらにいくつかのステップを追加し、検索と置換機能を使うことで、データを転置しながらソースセルを転置されたセルにリンクすることができます。
ステップ1: 転置する範囲をコピーする
転置したいセルの範囲を選択し、「Ctrl」+「C」を押して範囲をコピーします。
ステップ2: 貼り付けリンクオプションを適用する
空白のセルを右クリックし、「特殊貼り付け」をクリックします。
「貼り付けリンク」ボタンをクリックします。
以下のように結果が表示されます:
ステップ3: 貼り付けリンク結果から等号(=)を検索して置換する
結果範囲(A6:C9)を選択し、「Ctrl」+「H」を押し、検索と置換ダイアログで「=」を「@EO」(または選択範囲に存在しない任意の文字)に置き換えます。
「すべて置換」をクリックし、ダイアログを閉じます。以下はデータがどのように見えるかを示しています。
ステップ4: 置換された貼り付けリンク結果を転置する
範囲(A6:C9)を選択し、「Ctrl」+「C」を押してコピーします。空白のセル(ここではA11を選択しました)を右クリックし、貼り付けオプションから「転置」アイコンを選択して転置結果を貼り付けます。
ステップ5: 等号(=)を取り戻して転置結果を元のデータにリンクする
転置結果データA11:D13を選択したままにし、「Ctrl」+「H」を押し、「@EO」を「=」に置き換えます(ステップ3の逆操作)。
「すべて置換」をクリックし、ダイアログを閉じます。
結果
データが転置され、元のセルにリンクされました。
Power Queryでデータを転置し、ソースにリンクする
Power Queryは強力なデータ自動化ツールで、Excelでデータを簡単に転置することができます。以下の手順に従うことで作業を完了できます:
ステップ1: 転置する範囲を選択し、Power Queryエディターを開く
転置するデータの範囲を選択します。そして、「データ」タブの「取得と変換データ」グループで、「表/範囲から」をクリックします。
- 選択したデータ範囲がテーブルでない場合、「テーブルの作成」ダイアログボックスがポップアップします。「OK」をクリックしてテーブルを作成します。
- Excel 2013または2010を使用していて、「データ」タブに「表/範囲から」が見つからない場合は、「Microsoft Power Query for Excelページ」からダウンロードしてインストールする必要があります。インストール後、「Power Query」タブに移動し、「Excelデータ」グループで「表から」をクリックします。
ステップ2: Power Queryで列を行に変換する
「変換」タブに移動します。「最初の行をヘッダーとして使用」ドロップダウンメニューで、「ヘッダーを最初の行として使用」を選択します。
「転置」をクリックします。
ステップ3: 転置されたデータをシートに保存する
「ファイル」タブで、「閉じて読み込む」をクリックして「Power Editor」ウィンドウを閉じ、新しいワークシートを作成して転置されたデータを読み込みます。
結果
転置されたデータが新しく作成されたワークシートに表として変換されました。
(AD) Kutoolsで数クリックで範囲を変換
Kutools for Excelの「範囲の変換」ユーティリティは、垂直な列を複数の列に変換したり、その逆を行ったり、行を複数の行に変換したりするのに役立ちます。
"Kutools for Excel" - 300以上の便利な機能を含み、作業を大幅に簡素化します。今すぐ30日間の全機能無料トライアルを取得してください!
関連記事
- Excelで範囲を迅速に転置し、空白セルをスキップするには?
- 範囲を転置して貼り付けると、空白セルも一緒に貼り付けられます。しかし、時々、下のスクリーンショットのように、空白セルを無視して範囲を転置したい場合があります。Excelで範囲を迅速に転置し、空白をスキップする方法はありますか?
- 1列から5行またはn行ごとに複数の列に転置するには?
- 列Aに長いデータがあり、列Aから5行ごとに複数の列に転置したいとします。たとえば、A1:A5をC6:G6に、A6:A10をC7:G7に転置し、以下のように繰り返しコピー&ペーストせずにこのタスクを処理するにはどうすればよいですか?
- 列と行を単一の列に転置/変換するには?
- Excelワークシートを使用しているとき、データの範囲を単一の列に変換または転置するにはどうすればよいでしょうか?(次のスクリーンショットを参照)この問題を解決するために、3つの簡単な方法をご紹介します。
- 列と行を単一の行に転置/変換するには?
- 複数の行と列を1つの長い行に結合するにはどうすればよいですか?簡単だと思われるかもしれませんが、数百行と列がある場合、これは非常に時間のかかる作業になる可能性があります。ここでは、それを解決するためのいくつかの簡単な方法を紹介します。
最高のオフィス生産性ツール
🤖 | Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパーLOOKUP: 複数条件のVLookup | 複数値のVLookup | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成 | 依存ドロップダウンリスト | マルチセレクトドロップダウンリスト .... | |
列管理: 特定の数の列を追加 | 列を移動 | 非表示列の可視ステータスを切り替え | 範囲と列を比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック & ワークシート管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストで電子メールを送信 | スーパーフィルター | 特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール (テキストの追加, 特定の文字を削除, ...) | 50以上 のグラフ の種類 (ガントチャート, ...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...) | 19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...) | 12 の変換ツール (単語に変換する, 通貨変換, ...) | 7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...) | ...さらに多く |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。 最も必要な機能を入手するにはここをクリック...
Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!