コンテンツにスキップ

行と列を入れ替える

表を 90 度回転させ、行と列を入れ替えます。 列が横にずらりと並んだ小さな表を、縦長にして読みやすくするときに使います。

入出力

ポート内容
入力データデータ
出力データ行と列を入れ替え、すべての値を文字列にしたデータ

Spark エンジンでは動きません。

設定項目

入れ替え後の1行目を列名として扱う
既定は off。on にすると、入れ替えたあとの 1 行目を列名にして、その行自体は消します。

変換のしかた

元の列名は消えずに、いちばん左の列に入ります。 ここが読み違えやすいところです。

入力

項目値
売上1200
原価800
利益400

「入れ替え後の1行目を列名として扱う」が off のとき

出力

列1列2列3列4
項目売上原価利益
値1200800400
  • 列名は 列1 列2 … と、左から順に振り直されます
  • 1 列目には元の列名(項目 値)が値として入ります
  • 元の 3 行が 3 つの列(列2 列3 列4)になり、元の列名を入れる 列1 が増えて 4 列になります

「入れ替え後の1行目を列名として扱う」が on のとき

出力

項目売上原価利益
値1200800400
  • 1 行目が列名になり、その行は消えます
  • 1 列目の名前は元の 1 列目の名前(項目)です。中身は残りの元の列名(値)です
  • 列名にする行に空欄があると、その列名は <NA> になります

出力の大きさ

見るところ入れ替え後
列数元の行数 + 1(1 列目に元の列名が入るため)
行数元の列数。「入れ替え後の1行目を列名として扱う」が on なら 1 つ減ります

上限は決めていません。 行数の多いデータをそのまま入れ替えると列が膨大になるので、先に先頭/末尾からn行選択などで減らしてから使ってください。

型について

入れ替えると、すべての列が文字列になります。 入れ替え前に全列を文字列に変えてから回転させるので、数値も日付も文字列として並びます。元は行ごとに型が揃っていたものが、入れ替え後は 1 列に違う型の値が並ぶためです。

数値や日付として扱いたい列は、入れ替えたあとに列の型変更で戻してください。

よく使う例

1. 1 行だけの集計結果を縦にする

お題 — 全体集計の結果が横に並んでいて読みにくい

入力

売上合計原価合計粗利
1200800400

設定 — 「入れ替え後の1行目を列名として扱う」は off

出力

列1列2
売上合計1200
原価合計800
粗利400

項目名と値が 2 列に並び、縦に読めます。データ集計で「キー列を指定する」を off にして作った 1 行のデータと相性がよい形です。

2. 項目名と値の表を 1 行にする

お題 — 「項目 / 値」の 2 列の表を、項目名を列名にした 1 行にしたい

入力

項目値
売上1200
原価800

設定 — 「入れ替え後の1行目を列名として扱う」を on

出力

項目売上原価
値1200800

左端に 項目 という列が残ります。要らなければ列選択/削除で外してください。

3. 入れ替えたあとに数値に戻す

お題 — 入れ替えた表で、そのまま計算を続けたい

入力

項目1月2月
売上12001400

設定 — 「入れ替え後の1行目を列名として扱う」を on にしたあと、列の型変更で 1200 1400 の入る列を数値型にする

出力

項目売上
1月1200
2月1400

型を戻すまでは文字列なので、合計も平均も掛かりません。

4. 出力する形を整える

お題 — 取引先に渡す帳票の形に合わせたい

入力

項目値
売上1200

設定 — 入れ替えたあと、列名の変更や列の並べ替えで整える

出力 — 入れ替えで 列1 列2 になった列名を、渡す相手の様式に合わせて付け直した表

関連