スプレッドシートでデータの行と列を入れ替えたい場面はよくあります。例えば、縦に並んだリストを横に展開したい場合や、表の向きを変更して見やすくしたい場合です。この記事では、TRANSPOSE関数を使う方法と、コピー&ペーストの転置オプションを使う方法の2つを詳しく解説します。それぞれの特徴や使い分けも紹介しますので、目的に合った方法を選んでください。
【要点】転置操作の2つの方法とその使い分け
- TRANSPOSE関数: 元データと連動して自動更新される転置結果を出力します。数式で動的に連携したい場合に便利です。
- コピペの転置オプション: 静的な値として転置したデータを貼り付けます。元データを変更しても反映されず、一度だけの変換に適しています。
- どちらを選ぶか: 元データの変更に追従させるなら関数、固定データとして利用するならコピペオプションが向いています。
ADVERTISEMENT
目次
転置機能の概要と2つの方法の違い
転置とは、行と列を入れ替える操作です。スプレッドシートでは、TRANSPOSE関数を使用する方法と、コピー&ペーストの転置オプションを使用する方法の2つがあります。TRANSPOSE関数は元データとリンクして自動更新される動的な出力を行います。一方、コピペオプションは静的な値として貼り付けるため、元データを変更しても転置結果は変わりません。どちらを選ぶかは、元データの変更に追従させる必要があるかどうかで判断してください。また、転置後の範囲は元の範囲の行数と列数が逆転することに注意してください。
TRANSPOSE関数で行と列を入れ替える手順
TRANSPOSE関数の基本構文
TRANSPOSE関数の構文は「=TRANSPOSE(範囲)」です。引数には転置したいセル範囲を指定します。この関数は配列を返すため、結果を表示するセル範囲は元の範囲の行数と列数が逆転したサイズになります。あらかじめ出力先に十分な空きセルを確保しておいてください。
実際の転置手順
- 出力先のセルを選択する
転置結果の左上となるセルを1つ選択します。例えば、セルE1を選びます。 - TRANSPOSE関数を入力する
「=TRANSPOSE(A1:C3)」のように、元の範囲を指定してEnterキーを押します。範囲内のデータが自動的に転置されて表示されます。 - 結果を確認する
関数を入力したセルを起点に、元の範囲の行数と列数が入れ替わった形でデータが出力されます。元データを変更すると、転置結果も自動的に更新されます。
範囲指定の注意点
TRANSPOSE関数の引数には、連続した1つの範囲を指定します。複数の範囲を指定したい場合は、あらかじめ結合するか、別の関数と組み合わせてください。元の範囲に空白セルがあっても、そのまま転置されます。また、元の範囲に結合セルが含まれているとエラーになるため、事前に結合を解除しておく必要があります。
コピペの転置オプションで行と列を入れ替える手順
通常のコピペとの違い
通常の貼り付けは、コピーしたデータを同じ向きで貼り付けます。転置オプションを使うと、行と列を入れ替えた状態で貼り付けられます。この方法は、元データと連動しない静的なデータとして保存されるため、転置後は自由に編集できます。
操作手順
- 元データをコピーする
転置したいセル範囲を選択し、Ctrl+Cキーを押してコピーします。 - 貼り付け先のセルを選択する
転置結果の左上となるセルをクリックして選択します。 - 転置オプションで貼り付ける
右クリックメニューから「貼り付けオプション」を選び、その中の「転置」アイコン(行と列が入れ替わったアイコン)をクリックします。または、メニューバーの「編集」→「貼り付け」→「転置」を選択しても実行できます。 - 値のみ転置したい場合
右クリックメニューの「貼り付けオプション」で「値のみ転置」を選ぶと、数式や書式を除外して値だけを転置できます。
書式や数式の扱い
コピペの転置では、書式も一緒に転置されます。ただし、「値のみ転置」を選べば、書式や数式を無視して値だけ貼り付けられます。数式を含むセルを転置する場合、相対参照は貼り付け先の位置に応じて自動調整されます。絶対参照を使っていれば参照先は変わりませんが、意図しない結果になることがあるため注意してください。
ADVERTISEMENT
転置操作の注意点とよくあるトラブル
TRANSPOSE関数でエラーが発生する
TRANSPOSE関数を使用する際、出力先のセル範囲に既にデータが存在すると、#REF!エラーが発生します。必ず出力先のセル範囲を空にしておいてください。また、元の範囲が大きすぎると処理が重くなることがあります。
コピペの転置で数式がずれる
相対参照を含む数式を転置すると、参照先が予期しないセルに変わることがあります。転置前に数式を値に変換するか、絶対参照に変更しておくと安全です。また、行や列をまたぐ数式は転置後に正しく動作しない場合があります。
結合セルがある場合
TRANSPOSE関数は結合セルに対応していません。コピペの転置でも結合セルがあると正しく転置されないか、エラーになります。転置を行う前に、必ず結合を解除してください。結合解除は、対象セルを選択して「結合を解除」をクリックします。
転置後に編集できない
TRANSPOSE関数の結果は配列として表示されるため、個々のセルを直接編集することはできません。編集したい場合は、結果を選択してコピーし、同じ場所に「値のみ貼り付け」をすることで、静的なデータに変換してから編集してください。
TRANSPOSE関数とコピペオプションの比較表
| 比較項目 | TRANSPOSE関数 | コピペ転置オプション |
|---|---|---|
| 元データとの連動 | 動的:元データの変更が自動反映 | 静的:貼り付け後に元データの変更は反映されない |
| 編集の可否 | 個別セルの編集不可(配列全体) | 通常のセルとして編集可能 |
| 書式の保持 | 書式は引き継がれない(値のみ) | 書式も一緒に転置される(値のみオプションあり) |
| 数式の扱い | 数式の結果の値が転置される | 数式の参照が調整されて転置される |
| 手軽さ | 関数入力が必要 | メニュー操作で簡単 |
| エラーリスク | 出力先のデータや結合セルでエラー | 数式の参照ずれに注意 |
まとめ
この記事では、TRANSPOSE関数とコピペの転置オプションの2つの方法を解説しました。データを動的に連携させる必要があるならTRANSPOSE関数を、静的な変換で十分ならコピペオプションを使い分けてください。また、転置後に行や列の追加が必要な場合は、QUERY関数やARRAYFORMULAとの組み合わせも検討するとよいでしょう。ぜひ実際のシートで試してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】複合グラフで棒と折れ線を同時表示!2軸グラフの作り方
- 【Googleスプレッドシート】FILTER関数で条件に合う行だけ抽出!数式1つで動的な絞り込み
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】重複データを抽出して表示!COUNTIFと条件付き書式の併用
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】ARRAYFORMULAで列全体に数式を一括適用!セル分の入力を不要に
- 【Googleスプレッドシート】データ範囲を動的に伸縮させる!INDIRECTと参照範囲のコツ
- 【Googleスプレッドシート】共有解除と権限の取り消し!アクセスを完全に閉じる手順
