エクセルの表の「行と列を入れ替えて同一シートや別シートに貼り付けたい」という場面はよくありますよね。
2つの便利な機能を、キーボード ショートカットと合わせてご紹介しますね。
覚えておくと便利ですよ~。
単に行と列を入れ替えるだけなら、「行列の入れ替え」か「形式を選択して貼り付け」
最初にコピー元の表をコピーします。
表全体を選択して「ホーム」タブを開いて「コピー」を選択してもよいですし、選択後 [Ctrl] + [C]を押してもコピーできます。
「貼り付けオプション」から「行列の入れ替え」を選択する
これが一番単純な方法です。
貼り付け先の先頭セルを選択し、そのまま[Ctrl] + [V] で貼り付けます。
ペーストした表の右下に(Ctrl)と表示される小さなクリップボード アイコン「貼り付けのオプション」の下向き矢印で展開し、「行列の入れ替え」を選択します。
これだけで、ペーストした表の行列が入れ替わります。
「形式を選択して貼り付け」で「行/列の入れ替え」を選択する
「形式を選択して貼り付け」パネルを表示して「行/列の入れ替え」をしても同様に行と列を入れ替えて貼り付けることができます。
「形式を選択して貼り付け」パネルは下記2つの手順で表示できます。
「ホーム」の「貼り付け」から、貼り付け先先頭セル右クリックまたはキーボードショートカットで「形式を選択して貼り付け」パネルを表示する
1つ目は、「ホーム」タブの「貼り付け」を展開して「形式を選択して貼り付け」を選ぶ手順です(下図左側参照)。
2つ目は、貼り付け先の先頭セルに移動して右クリックをして表示されるサブメニューから「形式を選択して貼り付け」を選ぶ手順です(下図右側参照)。
3つ目は、貼り付け先先頭セルを選択した後、[Ctrl] + [Alt] +[V]のキーボードショートカットを使っても「形式を選択して貼り付け」パネルを表示できます。
「形式を選択して貼り付け」パネルで「行/列入れ替え」にチェックを入れる
上記2つのどちらの手順でも、下図の通り「形式を選択して貼り付け」パネルが表示されます。
左上「貼り付け」は「すべて」を選択しましょう。
元のセルの塗りつぶしや計算式を含めてすべてを維持して貼り付けることができます。(罫線は維持されない場合があります。)
パネル右下の「行/列の入れ替え」にチェックを入れましょう。
その後、[OK]を押します。
「形式を選択して貼り付け」で行列を入れ替えて貼り付けた結果
表の行と列を入れ替えることができました。
個別のデータだけでなく、合計欄に入力した計算式も、そして、セルに設定した塗りつぶしも元の表のままです。
これらのやり方で、同一シートだけでなく別シートにも行列を入れ替えた表を貼り付けることができます。
しかし…
総合計部分G7に設定してあった二重罫線は正しく反映されませんでした。
また、
ペーストした表は元の表とは別の表になりますから、元の表でデータを改変してもペーストした表にはその改変は反映されません。
元の表のデータ改変をペーストしたデータにリアルタイムで反映したいのであれば、以下で説明するTRANSPOSE関数を使って行列を入れ替えましょう。
元データと入れ替え先のデータを連動するなら、「TRANSPOSE関数」を使って行列を入れ替える
元の表のデータに加えたデータを行列を入れ替えた表にリアルタイムで反映させる必要があるなら、TRANSPOSE関数を使って行列を入れ替えた表を作成しましょう。
TRANSPOSE関数を使って行列を入れ替える
最初に行列を入れ替える表を表示する範囲を選択しておきます。
今回のサンプルでは、A11を先頭セルとして行列を入れ替えた表を作成しています。
元の表がA1からG7までの7R X 7C (7行 X 7列)ですので、A11から7R X 7Cの範囲を選択しました。
次に、画面上部の[fx]をクリックして「関数の挿入」パネルを表示させ、下記2つの項目を選択して[OK]をクリックします。
関数の分類: すべてを表示
関数名: TRANSPOSE
次のパネルで、元の表の範囲を選択します。
「配列」の項目のカーソルがが点滅している状態で、元の表の範囲をクリック & ドラッグすれば、「配列」の欄にセルの範囲が入力されます。
もちろん手動でセルの範囲(下図サンプルでは「A1:G7」)を入力しても構いません。
配列の範囲を入力したら、[Ctrl] + [Shift] + [Enter] を押します。
TRANSPOSE関数を使って行列を入れ替えた表の装飾、その他の注意点
TRANSPOSE関数を使って行列を入れ替えた表には、元の表の装飾は反映されません。
下図の通り、セルの塗りつぶし、罫線、数値の表記(カンマ付き表示)などが何もない状態になります。
書式のコピー
元の表の書式をそのままコピーするなら、「ホーム」の「書式のコピー/貼り付け」を使ってもよいでしょう。
最初に、元の表をコピーし、「ホーム」の「書式のコピー/貼り付け」をクリックします。
次に、TRANSPOSE関数で作成した表の先頭セル(下図サンプルではA11セル)をクリックします。
元の表の書式(セルの塗りつぶし、カンマ区切り数値表示、罫線)が反映されました。
しかし…
元の表とまったく同じ場所に同じ書式が適用されますので、元の表のB1(アクセサリー)に適用した緑の塗りつぶしはB11(1月)のセルに適用されています。この点は、「行列の入れ替え」か「形式を選択して貼り付け」で作成した表とは異なります。
元の表の空白セルはゼロと表示される
元の表に空白なセル(今回のサンプルではA1セル)があると、TRANSPOSE関数で作成した表ではゼロと表示されます。
また、TRANSPOSE関数で作成した表のゼロ(今回のサンプルではA11)を消去すると、「配列の一部を変更することはできません」と関数のエラーが表示されてしまいます。
TRANSPOSE関数で作成した表の中のデータを直接的に編集はできません。
データの編集は元の表で行わなければなりません。
今回のサンプルでは、元の表の空白セル(A1)に「売上」という言葉を追加してみました。
データの編集は元の表で行う
上の点とも関連しますが、TRANSPOSE関数で行列を入れ替えた表のデータは直接的に編集できません。
データの編集は元の表で行わなければなりません。
例えば、下のサンプルでは1月のアクセサリーの売上金額(B12セル)を編集しようとしたところ、「配列の一部を変更することはできません」とエラーが表示されてしまいました。
元の表を変更すれば、TRANSPOSE関数で行列を入れ替えた表のデータも変更されます。
以上 エクセルで行列を入れ替える表の作成手順を説明しました。
ご参考になれば幸いです♪
GoogleスプレッドシートでのTRANSPOSE関数の使い方は、こちらの記事をご参照ください。