- 公開日:
- 更新日:
Excelで空白行を詰める関数
Excelでデータを入力する際、データとデータの間に不要な空白行が増えることがあります。この「空白行」を簡単に削除したいと思ったことはありませんか?
本記事では、複数の関数を使って空白行を削除する方法を説明します。
複数の関数を使用するため、計算式はやや複雑ですが、覚えておくと便利です。
空白行の削除で使用する関数
空白行の削除で使用する関数については、以下のとおりです。
IFERROR関数
行を削除した結果を反映させるため、余分にオートフィルすると、エラー値が表示されてしまいます。
後述の「関数を使って空白行を詰める」セクションでは、エラー値の表示は必要ないのでIFERROR関数を使います。
IFERROR関数の詳細については、以下の記事を参照してください。
ExcelのIFERROR関数の使い方|エラーの場合に指定した値を返す
INDEX関数
INDEX関数は、行番号などを指定して値を返す関数です。
後述の「関数を使って空白行を詰める」セクションでは、選択した列(例:A列)のデータを別の列のセル(例:E列以降)に値として反映させるために使用します。
INDEX関数の詳細については、以下の記事を参照してください。
ExcelのINDEX関数の使い方|行と列が交差する位置にあるセルを返す
SMALL関数
SMALL関数とは、少ない数からの順位を指定してデータをもとめる関数です。
後述の「関数を使って空白行を詰める」セクションでは、SMALL関数を使って空白でないセルの行番号を小さい順に取得しています。
IF関数
IF関数は論理式の結果(真また偽)に応じて、指定された値を返す関数です。
後述の「関数を使って空白行を詰める」セクションでは、IF関数により、指定した列(例:A列)に空白以外のセルには真(TRUE)を、空白のセルには偽(FALSE)を返す数式を作成しています。
IF関数の詳細については、以下の記事を参照して下さい。
ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐
ROW関数
ROW関数とは、指定したセル参照の行番号を返す関数です。
後述の「関数を使って空白行を詰める」セクションでは、ROW関数が指定した列(例:A列)から空白行でない行番号を抽出するのに役立っています。
ROW関数の詳細については、以下の記事を参照してください。
関数を使って空白行を詰める
関数を使って空白行を詰める方法については、以下のとおりです。ここでは、IFERROR関数、INDEX関数、SMALL関数、IF関数、ROW関数を組み合わせて使います。
関数の結果を反映させたい任意のセル(例:E1)を選択します。
空白行を埋めるには、INDEX、SMALL、IF、ROWの4つの関数を組み合わせて使用します。ここでは、オートフィル時にエラー値を表示させないためのIFERROR関数も追加しています。数式バーに=IFERROR(INDEX(A:A,SMALL(IF(A:A<>"",ROW(A:A)),ROW())),"")を入力します。
Ctrl + Enterを押します。E1セルの右下隅にカーソルを合わせ、A列のデータの最後(例:いちじく)が見えるまで下方向にドラッグしてオートフィルを行います。
E5セルの右下隅にカーソルを置き、2列だけ右にドラッグしてオートフィルします。
行を削除したデータは、E列~G列に反映されるようになりました。