Excelで1行ごとに特定の行数の空白行を挿入させる計算式
Excelでデータを扱う際、1行ごとに特定の行数の空白行を挿入する必要がある場合があります。このブログ記事では、以下の計算式を使用してそのような操作を行う方法について解説します。この計算式は2024年初頭現在、Excel 365のみで利用可能です。
=WRAPCOLS(TOCOL(EXPAND(TOROW(配列,,TRUE),挿入行数+1,,""),,TRUE),ROWS(配列)*(挿入行数+1))
以下の式も同じ効果ですが、配列・挿入行数の指定が一度で済みます。
=LET(_Array,配列,_Number_Rows, 挿入行数,WRAPCOLS(TOCOL(EXPAND(TOROW(_Array,,TRUE),_Number_Rows+1,,""),,TRUE),ROWS(_Array)*(_Number_Rows+1)))
計算式の効果
この計算式を使用すると、指定した配列の各行の間に特定の数の空白行を挿入することができます。例えば、以下のようなデータがあるとします(例:A1:G4)。
2024/05/01 | 2024/05/02 | 2024/05/03 | 2024/05/04 | 2024/05/05 | 2024/05/06 | 2024/05/07 |
2024/05/08 | 2024/05/09 | 2024/05/10 | 2024/05/11 | 2024/05/12 | 2024/05/13 | 2024/05/14 |
2024/05/15 | 2024/05/16 | 2024/05/17 | 2024/05/18 | 2024/05/19 | 2024/05/20 | 2024/05/21 |
2024/05/22 | 2024/05/23 | 2024/05/24 | 2024/05/25 | 2024/05/26 | 2024/05/27 | 2024/05/28 |
このデータに対して、各行の間に「3つの空白行」を挿入する場合、以下のような結果が得られます(挿入行数:3)。ただしスピル型の計算式で生成するので、結果は別の場所へ作成します。
2024/05/01 | 2024/05/02 | 2024/05/03 | 2024/05/04 | 2024/05/05 | 2024/05/06 | 2024/05/07 |
2024/05/08 | 2024/05/09 | 2024/05/10 | 2024/05/11 | 2024/05/12 | 2024/05/13 | 2024/05/14 |
2024/05/15 | 2024/05/16 | 2024/05/17 | 2024/05/18 | 2024/05/19 | 2024/05/20 | 2024/05/21 |
2024/05/22 | 2024/05/23 | 2024/05/24 | 2024/05/25 | 2024/05/26 | 2024/05/27 | 2024/05/28 |
計算式の構造
この計算式は、複数の関数を組み合わせて構成されています。以下に各関数の役割を解説します:
- TOROW関数:
TOROW(配列,,TRUE)
は、配列を1行に変換し、全ての要素を連続した1行の配列として取得します。 - EXPAND関数:
EXPAND(TOROW(配列,,TRUE),挿入行数+1,,"")
は、配列を(挿入行数+1)倍の行数に拡張します。この場合、挿入行数が3なので各要素の間に3つの空白行が挿入されます。 - TOCOL関数:
TOCOL(EXPAND(...),,TRUE)
は、拡張された配列を1列に変換します。 - WRAPCOLS関数:
WRAPCOLS(..., ROWS(配列)*(挿入行数+1))
は、1列に変換された配列を元の配列の行数に合わせて再配置します。この例では、元の行数(4行)に(挿入行数+1)(4)を掛けた行数(16行)を指定して列を再配置します。
これらから元の配列から1行ごとに空白行を挿入する新規配列を生成する以下の計算式を導き出しています。
=WRAPCOLS(TOCOL(EXPAND(TOROW(配列,,TRUE),挿入行数+1,,""),,TRUE),ROWS(配列)*(挿入行数+1))
具体例
例えば、以下のようにセルA1からG4に日付データが入力されている場合、挿入行数を3にして以下の式を入力します。例えばセルI1へ入力してみましょう。※スピルで生成した配列には表示形式が適用されていません。後から日付の形式を適用してください【日付表示形式の適用方法】。
=WRAPCOLS(TOCOL(EXPAND(TOROW(A1:G4,,TRUE),4,,""),,TRUE),ROWS(A1:G4)*4)
もちくは挿入行数をどこかのセルへ入力し、それを利用させることも可能です。ここではセルA7に挿入行数を入力し、以下の計算式をセルI1へ入力してみます。
=WRAPCOLS(TOCOL(EXPAND(TOROW(A1:G4,,TRUE),A7+1,,""),,TRUE),ROWS(A1:G4)*(A7+1))
このような式を適用することで、指定した形式で配列を1行ごとに特定の行数の空白行を挿入した結果が得られます。
この計算式を使用することで、Excelでデータのレイアウトを柔軟に変更することができます。特定の行数の空白行を挿入することで、データの可読性を向上させることができます。ぜひ、この便利な計算式を活用して、Excelでの作業を効率化してください。
空白列の挿入なら……
空白行の挿入ではなく空白列の挿入ならば以下のページの計算式を参照してください。
コメント