今回は、ExcelのTRANSPOSE関数を使い、行と列を入れ替えて表を扱いやすくする方法を紹介します。
TRANSPOSE関数でできること
ExcelのTRANSPOSE関数は、縦方向のデータを横方向へ、横方向のデータを縦方向へ入れ替える関数です。コピーして「行列を入れ替える」貼り付けを使う方法もありますが、TRANSPOSE関数を使うと、元データを変更したときに入れ替え後の表も更新されます。
たとえば、月別データが横に並んでいる表を縦に並べたい場合や、縦に入力された項目を横向きの見出しとして使いたい場合に役立ちます。集計用の表と資料用の表で向きが違うときも、関数でつないでおくと手直ししやすくなります。
TRANSPOSE関数の基本形は次の通りです。
- =TRANSPOSE(範囲)
範囲に指定したセルの行と列が入れ替わって表示されます。元の範囲が3行1列なら、結果は1行3列になります。元の範囲が2行4列なら、結果は4行2列になります。
基本の使い方
TRANSPOSE関数を使うときは、結果を表示する場所に十分な空きセルが必要です。入れ替え後の表が広がる範囲に既存データがあると、結果が表示されないことがあります。
基本手順は次の通りです。
- 行列を入れ替えたい元データの範囲を確認する
- 結果を表示したい左上のセルを選ぶ
- =TRANSPOSE(元データ範囲) と入力する
- Enterキーで確定する
- 入れ替え後の表が意図通り広がっているか確認する
新しいExcelでは、関数を入力したセルから結果が自動で広がる動的配列として表示されます。古い環境では、あらかじめ出力範囲を選んで配列数式として入力する必要がある場合があります。使っている環境で結果の出方が違うときは、Excelのバージョンや配列数式の扱いを確認します。
貼り付けとの違い
行列を入れ替える方法には、コピーして形式を選択して貼り付ける方法もあります。この方法は、元データから切り離した表を作りたいときに向いています。一方、TRANSPOSE関数は元データとつながった表を作りたいときに向いています。
使い分けの目安は次の通りです。
- 一度だけ向きを変えたい場合は貼り付け
- 元データの更新を反映したい場合はTRANSPOSE関数
- 資料用の表示表を作る場合はTRANSPOSE関数
- 値だけ残して加工したい場合は貼り付け
TRANSPOSE関数で作った表は、結果の一部だけを直接編集することはできません。修正したい場合は、元データを直すか、関数を削除して値として貼り付け直します。更新される表として使うか、固定した表として使うかを先に決めておくと迷いません。
資料用の表を作るコツ
元データは入力しやすい形、資料用の表は読みやすい形にしたいことがあります。たとえば、担当者ごとのデータを縦に管理していても、会議資料では月別に横へ並べたほうが見やすい場合があります。
このようなときは、入力用シートと表示用シートを分けます。入力用シートには元データを置き、表示用シートにTRANSPOSE関数で向きを変えた表を作ります。表示用シートでは、列幅、罫線、見出しの色などを整え、印刷や共有に向いた形へ調整します。
作成時のポイントは次の通りです。
- 元データの範囲を広げすぎない
- 出力先に空白の範囲を確保する
- 見出しも含めて入れ替えるか決める
- 結果の表に直接入力しない
- 必要なら値貼り付けで固定する
表示用の表に文字を追加したい場合は、TRANSPOSE関数の結果範囲の外側に注記を書きます。結果範囲の中に手入力しようとすると、配列の展開を妨げることがあります。
エラーが出るときの確認点
TRANSPOSE関数で結果が表示されない場合は、出力先の範囲に既存の値や数式がないか確認します。動的配列では、結果が広がる場所に何かが入っていると、展開できずにエラーになることがあります。
確認したい点は次の通りです。
- 出力先のセル範囲が空いているか
- 元データ範囲を正しく指定しているか
- 結合セルが邪魔をしていないか
- 結果範囲の一部を直接編集していないか
- 参照しているシート名が変わっていないか
結合セルが多い表は、関数で扱いにくくなります。元データはできるだけ結合セルを使わず、1セルに1つの情報を入れる形にしておくと、TRANSPOSE関数以外の関数でも扱いやすくなります。
他の関数と組み合わせる使い方
TRANSPOSE関数は、単独で使うだけでなく、他の関数で作った結果の向きを変えるときにも使えます。たとえば、抽出した一覧を横向きに表示したい場合や、横に並んだ見出しを縦のリストとして扱いたい場合に便利です。
ただし、関数を組み合わせるほど、結果がどこから来ているのか分かりにくくなります。資料として他の人に渡す表では、元データ、加工用の関数、表示用の表を分けると確認しやすくなります。シート名を「入力」「加工」「表示」のように分けておく方法もあります。
運用しやすくするポイントは次の通りです。
- 元データを直接加工しない
- 表示用の表には役割が分かる見出しを付ける
- 関数の結果範囲を罫線や色で分かるようにする
- 固定したい段階で値貼り付けに切り替える
- 他の人が編集する場合は注意書きを近くに置く
TRANSPOSE関数で表示した結果は、元データの変更に合わせて変わります。会議資料や提出用ファイルとして固定したい場合は、完成時点で値として貼り付けると、後から元データが変わっても資料の内容を保てます。
範囲変更に備える
元データの行や列が増える予定がある場合は、参照範囲を後から見直せるようにしておきます。毎月項目が増える表では、関数の近くに参照元の範囲を書いたメモを置くと、更新時に確認しやすくなります。範囲を広げたら、出力先に空きセルがあるかも合わせて確認します。
まとめ
ExcelのTRANSPOSE関数は、行と列を入れ替えた表を関数で作れる機能です。コピーして貼り付ける方法と違い、元データの更新を反映できるため、入力用の表と表示用の表を分けたいときに役立ちます。
使うときは、出力先に十分な空き範囲を用意し、結果範囲を直接編集しないようにします。固定した表が必要な場合は値として貼り付け、更新される表が必要な場合はTRANSPOSE関数を使う、という使い分けをすると扱いやすくなります。