長い1次元のデータを複数の行や列に変換したい場面はよくあります。例えば、商品リストを1列に並べた後、3列ずつ折り返して表にしたい場合です。そんなときに便利なのが、WRAPROWS関数とWRAPCOLS関数です。この記事では、これらの関数の使い方と注意点を詳しく解説します。
【要点】WRAPROWS/WRAPCOLSで配列を簡単に折り返し
- =WRAPROWS(範囲, 列数, [エラー値]): 1次元の配列を指定した列数で行方向に折り返します。
- =WRAPCOLS(範囲, 行数, [エラー値]): 1次元の配列を指定した行数で列方向に折り返します。
- 第3引数でエラー時の代替値を指定: 折り返しで端数が生じた場合、#N/Aを任意の値に置き換えられます。
ADVERTISEMENT
目次
WRAPROWSとWRAPCOLSの基本動作
WRAPROWS関数とWRAPCOLS関数は、1次元の配列(1行または1列のデータ)を、指定したサイズで折り返して2次元の配列にする関数です。WRAPROWSは横方向に折り返し(行数を自動調整)、WRAPCOLSは縦方向に折り返し(列数を自動調整)します。どちらもGoogleスプレッドシートの新しい関数で、従来の手動の折り返し操作を大幅に効率化します。
例えば、A1:A12に12個のデータがあるとします。=WRAPROWS(A1:A12, 3)と入力すると、3列で折り返された4行×3列の配列が生成されます。同様に、=WRAPCOLS(A1:A12, 3)では3行で折り返され、4列×3行の配列になります。このように、引数の折り返し単位を変えるだけで自在にレイアウトを変更できます。
WRAPROWSとWRAPCOLSの具体的な使い方
WRAPROWSの基本構文と例
WRAPROWSの構文は「=WRAPROWS(範囲, 折り返し列数, [エラー時の値])」です。2番目の引数に、1行あたりの列数を指定します。3番目の引数は省略可能で、指定すると折り返しでデータが不足するセルに表示する値を設定できます。省略すると「#N/A」エラーが表示されます。
- 単純な折り返し
セルA1:A9に1〜9の数字が入っている場合、=WRAPROWS(A1:A9, 3)と入力します。すると、1行目に1,2,3、2行目に4,5,6、3行目に7,8,9と3列×3行の表が出力されます。 - エラー値を空白に置き換える
データ数が折り返し列数で割り切れない場合、余りのセルは#N/Aになります。例えばA1:A5(5個)を3列で折り返すと、2行目の最後の列が#N/Aになります。これを空白にしたい場合は、=WRAPROWS(A1:A5, 3, “”)のように第3引数に空文字を指定します。 - 他の関数と組み合わせる
FILTER関数で条件に合うデータのみを取り出し、それをWRAPROWSで折り返すこともできます。例えば、=WRAPROWS(FILTER(A1:A100, B1:B100=”東京”), 4)とすれば、東京のデータのみを4列で折り返せます。
WRAPCOLSの基本構文と例
WRAPCOLSの構文は「=WRAPCOLS(範囲, 折り返し行数, [エラー時の値])」です。2番目の引数に、1列あたりの行数を指定します。WRAPROWSと似ていますが、折り返しの方向が縦方向になる点が異なります。
- 単純な折り返し
A1:A12に12個のデータがある場合、=WRAPCOLS(A1:A12, 4)と入力します。すると、1列目に1,5,9、2列目に2,6,10、3列目に3,7,11、4列目に4,8,12というように、4行で折り返された3列×4行の表が出力されます。 - エラー値の制御
データ数が折り返し行数で割り切れない場合、端数のセルは#N/Aになります。=WRAPCOLS(A1:A10, 4)では2列目の最後の2セルが#N/Aになります。これを0で埋めたい場合は、=WRAPCOLS(A1:A10, 4, 0)と指定します。 - データの並び替えとの併用
SORT関数で昇順に並べ替えた結果をWRAPCOLSで折り返すことができます。=WRAPCOLS(SORT(A1:A20), 5)とすることで、昇順に並んだ20個のデータを5行×4列に配置できます。
WRAPROWS/WRAPCOLS使用時の注意点とよくある誤り
データ数が折り返し単位で割り切れない場合の挙動
折り返し列数(行数)でデータ数が割り切れないとき、最後の行(列)の一部のセルが不足します。WRAPROWS、WRAPCOLSともに、不足分にはデフォルトで#N/Aエラーが表示されます。このエラーを防ぐには、第3引数に空文字や0など適切な値を指定します。また、IFERROR関数で事後的に処理することも可能ですが、第3引数を使う方がシンプルです。
第1引数に1次元配列以外を指定した場合
WRAPROWS、WRAPCOLSの第1引数は1次元の配列(1行または1列)である必要があります。複数行・複数列の範囲を指定すると、その範囲を1次元に展開した上で折り返します。例えば、2列×3行の範囲を指定した場合、まず左上から右下へと1列ずつ縦方向に読み取られ、1次元化された後に折り返されます。この動作を理解していないと、意図しない結果になることがあります。
他の配列変換関数との混同
TRANSPOSE関数は単純に行と列を入れ替えるだけです。WRAPROWS/WRAPCOLSは1次元配列を指定サイズで折り返す点が異なります。また、FLATTEN関数は逆に2次元配列を1次元に変換します。用途に応じて適切な関数を選びましょう。
パフォーマンスに関する注意
WRAPROWS/WRAPCOLSは新しい関数ですが、大量のデータを扱うと計算負荷が高くなることがあります。数千セル以上のデータを折り返す場合は、データ量を制限するか、QUERY関数などを併用して処理を軽減してください。
ADVERTISEMENT
WRAPROWSとWRAPCOLSの違い比較表
| 比較項目 | WRAPROWS | WRAPCOLS |
|---|---|---|
| 折り返し方向 | 行方向(横に折り返す) | 列方向(縦に折り返す) |
| 第2引数の意味 | 折り返し後の列数 | 折り返し後の行数 |
| 出力の形状 | 行数は自動調整 | 列数は自動調整 |
| データの並び順 | 元の順序を維持し、左から右へ並べる | 元の順序を維持し、上から下へ並べる |
まとめ
WRAPROWS関数とWRAPCOLS関数を使えば、1次元の配列を指定した列数や行数で簡単に折り返せます。従来は手作業や複雑な数式が必要だった処理が、1つの関数で実現できるようになりました。特にデータの整形やレポート作成の際に役立ちます。次は、これらの関数とFILTERやSORTを組み合わせて、動的なデータ変換に挑戦してみてください。また、IMPORTRANGEと併用することで、外部データの整形も効率化できます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
