説明
この関数を使用して、セルの垂直範囲を水平範囲に変換します。
これは、ワークシートのデータの向きを変更したり、行を列に変換したり、列を行に変換したりするのに便利です。
構文
TRANSPOSE(array)
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効入力 |
|---|---|---|---|
| 配列 | はい | 転置するセルの範囲または配列。 | セル、セル範囲、またはこれらのいずれかになる数式。数値、テキスト、またはその両方を含むことができます。 |
例
サンプルデータ
| A | B | C | 17 才以上対象 | |
|---|---|---|---|---|
| 1 | 製品 | 価格 | 数量 | 売上高 |
| 2 | Apple | 1.50 | 100 | $150.00 |
| 3 | オレンジ | 2.00 | 95 | $190.00 |
| 4 | 金柑 | 2.45 | 45 | $110.00 |
| 5 |
数式のサンプル
| 使用例 | 数式 | 説明と結果 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 配列 A1:C3 のすべてのセルをシフト。 | =transpose(a1:c3) |
このデータセットでは、数式がセル E1 にある場合、この数式は次のように返却されます:
|
||||||||||||
| 商品カテゴリの長いリストをレポートの水平ヘッダー行に変換します。 | =transpose(sort(unique(a2:a5))) |
この数式はまず、UNIQUE を使用してアイテムの垂直リスト(複製を含む可能性がある)を取得し、複製を削除します。SORT は結果をアルファベット順または数値順に並べ替え、TRANSPOSE は結果を水平に表示します。このデータ設定に対して、この数式は次のように返却されます:(「0」は行 5 が空であるため)。
|
||||||||||||
| 商品の合計売上(数量×価格)が120ドルを超える場合、商品名称を横書きで表示します。 | =transpose(filter(a2:a4, sumif(c2:c4,c2:c4,d2:d4)120))) |
この数式は、まずSUMIF を使って売上合計を計算し、次にFILTER を使って値が $100 より大きいものを識別し、TRANSPOSE を使って結果を水平に表示します。このデータ設定に対して、この数式は次のように返却されます:
|
||||||||||||
| データセットから特定のフィールドを取り出し、レポート用に異なる向きでプレゼンテーションする概要ビューの作成。 | =transpose(index(a2:c10, sequence(3), {1,3})) |
この数式では、まずINDEX を使用して、範囲
|
メモ
- すべての配列関数と同様に、TRANSPOSE は、TRANSPOSE 関数を含むセルを起点として、隣接するセルに結果を動的に入力します。
IMPORTANT: 出力範囲はソース範囲とオーバーラップできません。 - TRANSPOSE:
- 数式が配置されているセルから開始し、必要に応じて新規行または列を作成して、結果を自動的に隣接するセルに流出させます。
- 以下は検証が必要です:
- リンクが新規セルに転送されます。
- 値の書式設定を含む書式は新規セルに転送されます。
- コメントは転送されません。
ヒント
- ヘッダー行がある場合は、配列の値を1つ下の行から開始します(例えば、上記のデータセットでは、A1ではなくA2から開始します)。
- VSTACK またはHSTACK を追加することで、データの転置時にヘッダーを含むことができます。
- 参照範囲に空セルが含まれる場合、TRANSPOSE は空白の代わりに
0を返却することがあります(上記の例を参照)。IF(A1="", "", A1)を数式内で使用して、空白を処理します。 - INDEXを TRANSPOSE とともに使用して、特定の列を抽出し、転置します(上記の例を参照)。
関連関数
Workiva スプレッドシートで対応可能なその他の配列数式関数を示します。