Excelで「○が付いた行だけを抽出して空白セルを詰めて表示したい」というケースはよくありますが、Excel2019ではFILTER関数が使えないため、別の方法で対応する必要があります。本記事では、古いバージョンでも使える実用的な抽出方法を整理し、空白を詰めた一覧を作る手順を解説します。
やりたいことの本質(空白を詰めるとは)
今回の目的は、単純に空白セルを削除することではなく「条件に合うデータだけを連続して表示する」ことです。
つまり、○が付いた行だけを別の場所に順番に並べる処理になります。
Excelではこの操作を「抽出」や「フィルタリング」と呼びます。
Excel2019でFILTER関数が使えない理由
FILTER関数はMicrosoft 365やExcel2021以降で利用できる新関数です。
Excel2019には搭載されていないため、同じ処理を関数だけで行うことはできません。
そのため、代替手段として「補助列」や「INDEX関数」を使用します。
方法① 補助列+オートフィルターで抽出する
最も簡単なのは、○の行に番号を振る補助列を作る方法です。
IF関数で「○なら1、それ以外は空白」とし、その列をフィルターで抽出します。
抽出後にコピーすれば、空白を詰めた状態で別シートに貼り付けできます。
方法② INDEX+SMALL関数で自動抽出する
より自動化したい場合は、INDEX関数とSMALL関数を組み合わせます。
条件に一致する行番号を抽出し、その行のデータを順番に表示する仕組みです。
この方法は更新にも強く、データが増減しても対応できます。
方法③ 並べ替えを使って詰める方法
簡易的な方法として、○の列を基準に並べ替えを行う方法もあります。
○の行を上に集めることで、結果的に空白を詰めた表示になります。
ただし元の順序を保持できない点に注意が必要です。
方法④ VBAを使った抽出(応用)
繰り返し作業が多い場合はVBAを使う方法もあります。
条件に合う行だけを新しいシートにコピーするマクロを作ることで自動化できます。
ただし初学者にはやや難易度が高いため、まずは関数を優先するのがおすすめです。
よくあるミスと注意点
空白を詰めたいだけなのに「セル削除」をしてしまい、表が崩れるケースがあります。
また、フィルター後にコピーすると非表示行まで含まれるミスにも注意が必要です。
必ず「可視セルのみコピー」を選択することが重要です。
まとめ
Excel2019ではFILTER関数が使えないため、補助列・INDEX関数・並べ替えなどで代替する必要があります。
目的に応じて方法を選べば、空白を詰めた一覧表示は十分に実現可能です。
特に補助列+フィルターは初心者でも扱いやすい実用的な方法です。


コメント