Contents
スプレッドシートのTRANSPOSE関数とは
スプレッドシートのTRANSPOSE関数は、行と列を入れ替える関数です。データの向きを変更し、縦のデータを横に、または横のデータを縦に変換できます。例えば、A1:C2のセル範囲を指定すると、2行3列のデータが3行2列に転置されます。データの再構成や分析に役立つ便利な関数で、=TRANSPOSE(範囲)の形式で使用します。
TRANSPOSE関数の構文
=TRANSPOSE(配列または範囲)
- 配列または範囲:転置したいセルを指定
TRANSPOSE関数の使い方
TRANSPOSE関数のやりかた
TRANSPOSE関数の使い方は、「=TRANSPOSE(A1:D10)」のように入れ替えたい範囲をかっこ内にいれるだけです。たとえば下表があったとします。
これの縦横を入れ替えるには「=TRANSPOSE(A1:D10)」のように、範囲を指定してあげればよいです。
「転置して貼り付け」のやりかた
TRANSPOSE関数とよく似た「転置して貼り付け」は、対象範囲をコピーして特殊貼り付けをしましょう。まずは下図のように対象の範囲をコピーします。
その後、右クリックして「特殊貼り付け」>「転置して貼り付け」を選択します。
すると下図のように貼り付けが成功します。
TRANSPOSE関数と「転置して貼り付け」の違い
TRANSPOSE関数と「転置して貼り付け」との違いは、設定後の変更が反映されるかにあります。TRANSPOSE関数は関数である性質上、元の表と連動して値の変更を反映してくれます。他方「転置して貼り付け」は実質的にはコピペなので、貼り付けた表は独立して扱われます。
TRANSPOSE関数 | 転置して貼り付け | |
メリット | 関数作成後の変更も反映してくれる | 貼り付け時のデータが残る |
デメリット | 元の表を削除すると、関数の表示も消える | 元の表を修正しても反映されない |
元の表が変更されたときの内容を反映したいかで、TRANSPOSE関数と「転置して貼り付け」を使い分けるとよいでしょう。
TRANSPOSE関数と組み合わせたい関数
TRANSPOSE関数と組み合わせたい関数としては、IMPORTRANGE関数やSORT関数、FILTER関数などがあります。範囲の転置をしつつ並べ替えや絞り込みをすることで、データを活用しやすくなります。
関数名 | 用途 |
---|---|
IMPORTRANGE関数 | 他スプレッドシートから転記 |
SORT関数 | 並べ替え |
FILTER関数 | 絞り込み |
TRANSPOSE関数のエラー・注意点
[#REF!]〇〇のデータを上書きするため、配列結果は展開されませんでした。
TRANSPOSE関数を使っていると、#REF!という表示とともに「〇〇のデータを上書きするため、配列結果は展開されませんでした。」というエラー文と遭遇することがあります。この場合は「〇〇のデータを〜」と書かれた〇〇のセルの中身を削除すればエラーが解消します。
上図ではG2セルに値が入っていてエラーになっていたので、これを削除すると想定通り転置した表が表示されます。