フッターコンテンツにスキップ
EXCEL ツール

How to Unhide Columns in Excel: A Complete Step-by-Step Guide

Excel でデータを転置するとは、行を列に、または列を行に変換することを意味します。 これは、データセットが読み取り、分析、または表示が難しい構造の場合に便利です。 Excel の転置機能は、ワークシートのデータのレイアウトを変更するために、行を列に、列を行に変換します。

たとえば、販売データの縦のリストを報告のために横の形式にしたり、インポートされたデータをテンプレートに合わせて再形成したりすることができます。

このガイドでは、Excel ワークブックで組み込みのツール、数式、およびプログラムによる自動化手法を使用してデータを転置する方法について説明します。 最終的には、ワークフローに合った方法が正確にわかるようになります。

方法 1: ペースト特別を使用してデータを転置する

これは最も一般的で最速の方法です。

  1. 転置したいデータ範囲を選択します。
  2. Ctrl + C を押してコピーします。
  3. ワークシートの新しい場所で右クリックします。
  4. ペースト特別をクリックします。
  5. 転置オプションをチェックします。
  6. "OK"をクリックします。

あなたの行が列に、またはその逆に変換されます。

Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026): 画像 1 - Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026) の関連画像 1/5

Add image alt text

この方法が最適な場合

この方法は、一度のデータ変換には最適です。

いつ使用すべきか

  • 迅速なフォーマット変更
  • 小〜中のデータセット
  • 報告調整
  • データ再編成

使用しない場合

  • 頻繁に変化する動的データ
  • 大規模な自動データセット

方法 2: Excel の TRANSPOSE 関数を使用する

TRANSPOSE 関数は、オリジナルデータと転置データ間に動的なリンクを作成します。

  1. 転置サイズと同じ空の範囲を選択します。

    1. 数式を入力します:
    =TRANSPOSE(A1:D3)
    =TRANSPOSE(A1:D3)
    The provided code appears to be a formula from a spreadsheet application like Excel, rather than C# code. If you have C# code that needs conversion to VB.NET, please provide the correct C# code for conversion.
    $vbLabelText   $csharpLabel
  2. Ctrl + Shift + Enter (古い Excel バージョンの場合) または最新の Excel では Enter を押します。

Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026): 画像 2 - Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026) の関連画像 2/5

Add image alt text

この方法が最適な場合

この方法は、データセット間のライブ更新が欲しいときに最適です。

いつ使用すべきか

  • 動的なダッシュボード
  • リンクしたレポート
  • リアルタイムの更新
  • データモデリング

使用しない場合

  • 静的レポート
  • 一度だけのフォーマットタスク

方法 3:Power Queryを使用してデータを転置する

Power Query はデータ変換に強力なツールです。

  1. データ範囲を選択します。
  2. データタブに行きます。
  3. テーブル/範囲からをクリックします。 4.Power QueryEditor で、変換を選択します。

    1. 転置をクリックします。

Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026): 画像 3 - Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026) の関連画像 3/5

画像の代替テキストを追加

  1. データを Excel に戻してロードします。

Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026): 画像 4 - Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026) の関連画像 4/5

Add image alt text

この方法が最適な場合

この方法は、構造化されていて繰り返し可能なデータ変換に理想です。

いつ使用すべきか

  • 大規模データセット
  • データクリーニングワークフロー
  • ビジネスインテリジェンスレポート
  • 再利用可能な変換

使用しない場合

  • 迅速な編集
  • シンプルなスプレッドシート

方法 4: 手動リフォーマットでコピーして貼り付けする

小規模データセットでは、手動調整で十分なことがあります。

  1. データをコピーします。
  2. 新しい領域に貼り付けます。
  3. 行と列を手動で再配置します。
  4. 必要に応じてフォーマットを調整します。

この方法が最適な場合

この方法は非常に小規模または不規則なデータセットに役立ちます。

いつ使用すべきか

  • 迅速な編集
  • シンプルなリスト
  • 一度だけの調整
  • 非構造的データ

使用しない場合

  • 大規模データセット
  • 精度が重要なレポート

方法 5:VBA自動化を使用してデータを転置する

繰り返しタスクには、VBA が転置を自動化できます。

  1. ALT + F11 を押してVBAエディターを開きます。
  2. 挿入 → モジュールをクリックします。

  3. 以下のコードを貼り付けます。

Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026): 画像 5 - Excel でデータを転置する方法:行と列を切り替える 5 つの簡単な方法 (2026) の関連画像 5/5

画像の代替テキストを追加

  1. マクロを実行します。
Sub TransposeData()
    Dim sourceRange As Range
    Dim targetRange As Range
    Set sourceRange = Range("A1:F9")
    Set targetRange = Range("A12")
    targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
    Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
Sub TransposeData()
    Dim sourceRange As Range
    Dim targetRange As Range
    Set sourceRange = Range("A1:F9")
    Set targetRange = Range("A12")
    targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
    Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
Option Strict On



Sub TransposeData()
    Dim sourceRange As Range
    Dim targetRange As Range
    sourceRange = Range("A1:F9")
    targetRange = Range("A12")
    targetRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = _
        Application.WorksheetFunction.Transpose(sourceRange.Value)
End Sub
$vbLabelText   $csharpLabel

この方法が最適な場合

この方法は繰り返しのデータ変換タスクに理想です。

いつ使用すべきか

  • 自動化された報告システム
  • 大規模データセット
  • 繰り返しの変換
  • エンタープライズワークフロー

使用しない場合

  • 一度きりの使用
  • 非技術的なユーザー

よくある問題とトラブルシューティング

転置したデータが自動で更新されないのはなぜですか?

ペースト特別を使用する場合に発生します。

解決策:

  • 動的リンクには TRANSPOSE 公式を使用
  • 更新が必要な場合は静的な貼り付けを避ける

転位後の Excel が REF エラーを表示するのはなぜですか?

通常、出力範囲がソースと重なると発生します。

解決策:

  • 出力範囲が空であることを確認する
  • 転置データを別のエリアに移動する

転置したデータのフォーマットが正しくないのはなぜですか?

フォーマットは常に自動で引き継がれません。

解決策:

  • 転置後にフォーマットを再適用する
  • より良いコントロールにはPower Queryを使用

TRANSPOSE が Excel バージョンで動かないのはなぜですか?

古いバージョンでは特別な配列入力が必要です。

解決策:

  • Ctrl + Shift + Enter を使用
  • または代わりにペースト特別法を使用

適切な方法の選択

さまざまなシナリオにはさまざまなアプローチが必要です。

| シナリオ |最適な方法| |---|---| |迅速な一度の変更|ペースト特別| |動的データ|TRANSPOSE 関数| |大規模なデータセット|Power Query| |手動による小規模編集|コピーして調整| |自動化ワークフロー|VBA|

開発者向け: IronXL を使用して Excel データを転置する

自動化されたシステムでは、レポートを生成したりデータセットを処理する際に、データ構造化がしばしば要求されます。 このような場合には、手動の転置は実用的ではありません。

ここで、Iron Software の .NET Excel ライブラリであるIronXLが便利になります。 開発者は Excel データを読み取り、プログラムで再構成することができます。 これはドキュメント自動化とデータ処理のために設計されています。

例: IronXL を使用してデータを転置する

using IronXL;
using System;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var data = sheet["A1:D3"].ToArray();
int rows = data.GetLength(0);
int cols = data.GetLength(1);
WorkBook newBook = WorkBook.Create();
WorkSheet newSheet = newBook.CreateWorkSheet("Transposed");
for (int i = 0; i < rows; i++)
{
    // Copy it to new blank cells
    for (int j = 0; j < cols; j++)
    {
        newSheet[j, i].Value = data[i, j].Value;
    }
}
newBook.SaveAs("TransposedData.xlsx");
using IronXL;
using System;
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var data = sheet["A1:D3"].ToArray();
int rows = data.GetLength(0);
int cols = data.GetLength(1);
WorkBook newBook = WorkBook.Create();
WorkSheet newSheet = newBook.CreateWorkSheet("Transposed");
for (int i = 0; i < rows; i++)
{
    // Copy it to new blank cells
    for (int j = 0; j < cols; j++)
    {
        newSheet[j, i].Value = data[i, j].Value;
    }
}
newBook.SaveAs("TransposedData.xlsx");
Imports IronXL
Imports System

Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
Dim data = sheet("A1:D3").ToArray()
Dim rows As Integer = data.GetLength(0)
Dim cols As Integer = data.GetLength(1)
Dim newBook As WorkBook = WorkBook.Create()
Dim newSheet As WorkSheet = newBook.CreateWorkSheet("Transposed")

For i As Integer = 0 To rows - 1
    ' Copy it to new blank cells
    For j As Integer = 0 To cols - 1
        newSheet(j, i).Value = data(i, j).Value
    Next
Next

newBook.SaveAs("TransposedData.xlsx")
$vbLabelText   $csharpLabel

これにより、開発者はデータの再形成タスクを完全に自動化することができます。

IronXLでできること

  • Excel データセットを読み取り、再構成する
  • データ変換ワークフローの自動化
  • フォーマットされたレポートを生成
  • Excel を他の形式に変換
  • 数式とフォーマットを適用する

インストール

NuGetパッケージマネージャ経由でIronXLをインストールしてください:

Install-Package IronXL.Excel

結論

Excel でのデータの転置は、スプレッドシートを再構築し、可読性を向上させるための強力な技術です。 クイック変更のためにペースト特別を使用するか、動的な更新のために TRANSPOSE 機能を使用するか、高度な変換のためにPower Queryを使用するかにかかわらず、Excel はあらゆるユースケースに柔軟なオプションを提供します。

開発者や自動化システム向けには、IronXL は Excel データの管理に完全なコントロールを提供し、大規模なデータセットをプログラムで転置し、操作するのを容易にします。

適切な方法を使えば、どのような報告や分析の要件にも合うようにデータをすばやく再形成できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね