PR

Excelで行列の入れ替えができない原因|縦横を入れ替えて貼り付ける方法

Excelで行列の入れ替えができない原因と、コピーやTRANSPOSE関数で縦横を変える方法 Excel
記事内に広告が含まれています。

Excelで表を作成していると、

「縦に並んだデータを横向きにしたい」
「[行/列の入れ替え]がグレーアウトして選べない…」
「コピーしても行列を入れ替えて貼り付けできない…」

ということがあります。

Excelでは通常、データをコピーして[行/列の入れ替え]を選ぶだけで、縦方向のデータを横方向へ、横方向のデータを縦方向へ変更できます。

しかし、操作方法やデータの状態によっては[行/列の入れ替え]を使用できません。

特に確認したいのが、次の2つです。

・Ctrl+Xで「切り取り」している
・データがExcelの「テーブル」になっている

この記事では、Excelで行列の入れ替えができない原因と対処法を初心者向けに解説します。

Excelで行列を入れ替える基本的な方法

まずは、通常の行列の入れ替え方法を確認しておきましょう。

たとえば、A列に次のようなデータが並んでいるとします。

商品A
商品B
商品C

これを、

商品A商品B商品C

のように横方向へ変更できます。

操作手順は次のとおりです。

■コピーして行列を入れ替える
1. 入れ替えたいセル範囲を選択する
 ↓
2. [Ctrl]+[C]でコピーする
 ↓
3. 貼り付け先のセルを選択する
 ↓
4. 右クリックする
 ↓
5. [貼り付けオプション]から[行/列の入れ替え]を選択する

これで、縦方向と横方向を入れ替えて貼り付けできます。

コピーして行/列の入れ替えを選択

Excelで行列の入れ替えができない・グレーアウトする原因

[行/列の入れ替え]が表示されない、または選択できない場合は、まず次の原因を確認してみましょう。

Ctrl+Xで切り取っている

特に間違えやすいのが、Ctrl+Xで切り取ってから行列を入れ替えようとしているケースです。

行列を入れ替えて貼り付ける場合は、

[Ctrl]+[X]:切り取り

ではなく、

[Ctrl]+[C]:コピー

を使用します。

切り取りでは行/列の入れ替えは選択できない

Microsoft公式の案内でも、行列の入れ替えでは切り取りではなくコピーする必要があると案内されています。

[行/列の入れ替え]が使えない場合は、一度[Esc]キーで操作を解除し、元データを[Ctrl]+[C]でコピーし直してみましょう。

Excelテーブルになっている

もう1つ注意したいのが、データがExcelテーブルになっている場合です。

Excelテーブル内では、通常の[行/列の入れ替え]機能をそのまま使用できません。

テーブルでは行/列の入れ替えはできない

テーブルを通常のセル範囲へ戻してから操作します。

■テーブルを通常のセル範囲へ戻す
1. テーブル内のセルをクリックする
 ↓
2. [テーブル デザイン]タブを開く
 ↓
3. [範囲に変換]をクリックする
 ↓
4. [はい]を選択する
 ↓
5. データを[Ctrl]+[C]でコピーする
 ↓
6. [行/列の入れ替え]で貼り付ける

テーブルデザインから範囲に変換を選択

これで通常のセル範囲として行列を入れ替えられます。

なお、テーブルを解除したくない場合は、テーブル外のセルで後述するTRANSPOSE関数を使う方法もあります。

貼り付け先には十分な空きスペースを用意する

行列を入れ替えると、必要になる行数と列数も逆になります。

たとえば、「10行×2列」のデータを入れ替えると、「2行×10列」になります。
そのため、貼り付け先には十分な空きスペースを用意しておきましょう。

また、貼り付け先にすでにデータが入力されている場合は、上書きされる可能性があります。
元データとは少し離れた空白セルを選んでから[行/列の入れ替え]を実行すると分かりやすいでしょう。

TRANSPOSE関数で縦横を入れ替える方法

コピーして貼り付ける方法ではなく、数式で行列を入れ替えることもできます。
使用するのがTRANSPOSE関数です。

たとえば、A2:A4のデータを横方向へ入れ替える場合は、次のように入力します。

=TRANSPOSE(A2:A4)

Microsoft公式のTRANSPOSE関数の説明にあるように、動的配列に対応したMicrosoft 365などでは、数式を入力して[Enter]キーを押すと、結果が複数のセルへ自動的に展開されます。

数式はテーブル外の空白セルに入力し、結果の展開先も空けておきましょう。展開先にデータがあると[#SPILL!]エラーになることがあります。
動的配列に対応していない旧バージョンのExcelでは、あらかじめ出力範囲を選択して数式を入力し、Ctrl+Shift+Enterで確定する必要があります。

TRANSPOSE関数は古いバージョンのExcelではCtrl+Shift+Enterで確定する

貼り付けとTRANSPOSE関数はどちらを使う?

単純に表の向きを変えたいだけなら、コピー→[行/列の入れ替え]が簡単です。

一方、元データを変更したときに入れ替え先も連動させたい場合は、TRANSPOSE関数が便利です。

方法向いているケース
行/列の入れ替えで貼り付け一度だけ縦横を変更したい
TRANSPOSE関数元データの変更を反映させたい

迷った場合は、まず[Ctrl]+[C]でコピーして[行/列の入れ替え]を使えば問題ありません。

「並び替え」と「行列の入れ替え」は別の機能

Excelには似た操作として「並び替え」がありますが、行列の入れ替えとは目的が異なります。

並び替えは、

A
B
C

というデータを、

C
B
A

のように同じ方向のまま順番だけ変更する機能です。

一方、行列の入れ替えは、

・縦方向 → 横方向
・横方向 → 縦方向

のように、表の行と列を入れ替える操作です。

「データの順番を変更したい」のか、「縦横を入れ替えたい」のかで使う機能を選びましょう。

👉縦横を入れ替えるのではなく、データを昇順・降順などに並べ直したい場合は、こちらの記事も参考にしてください。

まとめ

Excelで行列の入れ替えができない場合は、まずCtrl+X(切り取り)ではなくCtrl+Cでコピーしているか確認しましょう。

また、Excelテーブル内では[行/列の入れ替え]をそのまま使用できません。

その場合は、

・テーブルを[範囲に変換]してから入れ替える
・TRANSPOSE関数を使う

という方法があります。

一度だけ縦横を変更するなら[行/列の入れ替え]、元データと連動させたいならTRANSPOSE関数、と使い分けると分かりやすいでしょう。

👉複数の表を縦方向につなげたい場合は、行列の入れ替えではなくVSTACK関数が便利です。

👉1列に並んだデータを指定した個数ごとに折り返したい場合は、WRAPROWS関数を使う方法もあります。

ろじゃー

仕事・子育てに奮闘中の社会人です。
仕事でも日常生活でも、ちょっとでも便利になることが紹介できるブログを書いています!
 
仕事柄、PC操作やエクセル、VBAなどは得意です!
Excel歴は10年以上の事務職。
関数やVBAを活用して、資料作成やデータ分析をはじめとした様々な業務の効率化・自動化に取り組んできました。
 
このブログでは、実際の業務で使える効率化テクニックを発信しています。
「わからない」や「困った」など問題を抱える方や、もっと効率化したいと思っている方に、少しでも役立てれば幸いです!

ご質問・ご相談など、お気軽にご連絡ください。

🥷 「現代で暮らすゆる忍者」ラインスタンプシリーズ公開中!日常や仕事、夫婦の会話など様々なシーンを製作しています
▶ LINEスタンプ一覧はこちら

ろじゃーをフォローする
ご質問・ご相談はこちらへ!
 ろじゃー|日々、ちょっとずつ良くなることを目指すブロガー
Excel歴10年以上。VBAや関数、業務効率化などを発信中。
📩 お問い合わせはこちら
Excel
シェアする
ろじゃーをフォローする

コメント

タイトルとURLをコピーしました