知恵と経験をつなぎ、次のチャレンジへ
スプレッドシートのTRANSPOSE関数をビジネスで活用!業務で使えるデータ変換スキル

スプレッドシートのTRANSPOSE関数をビジネスで活用!業務で使えるデータ変換スキル

「縦長のマスタを横並びの一覧にしたい」
「月を列、部門を行にしてクロス集計を作りたい」

横⇆縦の入れ替えを一瞬で実現してくれるのが TRANSPOSE 関数。
本記事では 実データ+数式+出力結果 をセットで示しながら、
ダッシュボードやレポート作成で即役立つテクニックを解説します。


1. TRANSPOSE関数 ── 行列をそのまま“ひっくり返す”

=TRANSPOSE(範囲)
引数内容
範囲入れ替えたいセル範囲(1 行×n 列 でも n 行×1 列でも OK)

ポイント

  • 元データサイズが 3×5 なら結果は 5×3 に。
  • 結果は スピル するので右側または下側のセルを空けておく。

2. 基本例:縦リスト → 横リスト

A列:月
1月
2月
3月

■ 式を B1 に入力

=TRANSPOSE(A1:A3)
B列C列D列
1月2月3月

活用プルダウンの候補を横並びに欲しいときや、
KPI カードを横並びに並べるダッシュボードで便利。


3. 基本例:横テーブル → 縦テーブル

BCD
11月2月3月
2120,00098,000135,000

■ 式を A5 に入力

=TRANSPOSE(B1:D2)
A列B列
1月120,000
2月98,000
3月135,000

活用:ピボットテーブルの前処理や
SUMIFS が使いやすい“縦持ち”形式に変換したいときに最適。


4. 応用例①:セル内改行 → 縦展開(SPLIT × TRANSPOSE)

A列:備考
発注済み
入荷待ち
検品中

数式 (B1)

=TRANSPOSE(SPLIT(A2,CHAR(10)))
ステータス
発注済み
入荷待ち
検品中

用途:1 セルに詰め込まれたメモをリスト化 → COUNTIF で件数集計へ。


5. 応用例②:月×部門クロス集計を“くるっ”と回転

部門 / 月1月2月3月
営業1,2001,3501,400
開発9001,0501,200

式を G1 に入力

=TRANSPOSE(A1:D3)
月 / 部門営業開発
1月1,200900
2月1,3501,050
3月1,4001,200

用途グラフ描画ツール外部 BI が “月を行” で受け取るときにサッと変換。


6. 仕事で役立つテクニック集

テクニック数式例効果
動的列→行変換=ARRAYFORMULA(TRANSPOSE(B2:2))新しい月列が増えても自動
文字列 → 行列 → 再合体=TEXTJOIN(";", TRUE, TRANSPOSE(C2:C6))縦リストを「;区切り」の 1 セルに
QUERY でヘッダ行抽出 ⇒ 回転=TRANSPOSE(QUERY(データ,"select * limit 1"))1 行ヘッダを列ラベルとして再利用
IMPORTRANGE 後に回転=TRANSPOSE(IMPORTRANGE(URL,"シート1!A1:Z10"))外部表形式を手元のフォーマットに合わせる

7. よくあるエラー & 回避策

エラー原因対処
#REF!スピル結果が隣接セルと衝突結果範囲ぶん右・下に空列/空行を確保
行列サイズが合わない元データサイズ変動で余分セル残りARRAY_CONSTRAIN で行列数を固定
更新が遅い巨大シートで多用必要箇所だけに限定/貼り付け値で静的化

8. まとめ & 早見表

目的代表式キーワード
縦リスト → 横=TRANSPOSE(A2:A10)横並び候補
横テーブル → 縦=TRANSPOSE(B1:F3)縦持ち化
改行テキストを縦展開=TRANSPOSE(SPLIT(A2,CHAR(10)))メモ分解
混在列データを回転=TRANSPOSE(IMPORTRANGE(...))外部表整形

TRANSPOSE で“向きを変えるだけ”なのに効果絶大!
ダッシュボード用に横並びを作る、ピボット前に縦持ち化する、
いずれもワン関数で完了します。
SPLIT・IMPORTRANGE・QUERY と組み合わせればさらに自由度アップ。
ぜひ明日からのデータ整形・レポート作成に取り入れてみてください!