ExcelのDROP関数は、表や配列の先頭または末尾から指定した行・列を除外し、残った範囲だけを別の場所に表示する関数です。この記事では、Microsoft 365のWindowsデスクトップ版ExcelとExcel 2024を対象に、見出し行や集計行を元データから削除せず、数式の結果として取り除く手順を説明します。エクセルで取り込みデータを整えるときに、どこまでを数式で処理し、どこからを手作業にするかも判断できるようにします。
DROP関数でできることを先に確認する
DROP関数は、元の表そのものを削除する操作ではありません。数式を入力したセルから結果がスピルし、指定した行や列を除いた範囲が表示されます。元データを残したまま別の表を作れるため、CSVの先頭に説明行がある場合や、末尾に合計行が混じる場合に使いやすい関数です。
基本の形は次のとおりです。
=DROP(配列, 行数, [列数])
配列には、元にするセル範囲を指定します。行数に正の数を入れると先頭からその行数を除外し、負の数を入れると末尾から除外します。列数も同じ考え方で、正の数なら左側、負の数なら右側から指定した列数を除外します。
反対に、先頭または末尾から指定した行や列だけを取り出したい場合は、TAKE関数で先頭末尾を抽出する方法が向いています。DROPは「不要な部分を落として残りを使う」、TAKEは「必要な部分だけを取る」と考えると選びやすくなります。
操作前に元データと出力先を分ける
DROP関数は元データを直接変更しませんが、結果が複数セルへ広がるため、数式を入れる場所には空き領域が必要です。出力先に別の値があると、結果を表示できずスピルのエラーになります。
作業前に、次の点を確認します。
- 元データを含む範囲を確認する
- 数式を入れるセルの右側と下側に空白セルを用意する
- 手作業で行や列を削除する前に、必要ならブックを複製しておく
- Excelの表の中ではなく、表の外側の空白セルへ数式を入力する
たとえば、A1:D7に一覧表があり、1行目が見出し、7行目が集計行だとします。元の表を残すなら、F1など離れた空白セルを選びます。DROP関数の結果はF1を左上として広がるため、F列から右側と下側に別の入力がない状態にしておきます。
スピルした結果の扱いに慣れていない場合は、先に動的配列のスピル範囲を扱う方法を確認しておくと、数式を編集するセルと表示結果の範囲を区別しやすくなります。
先頭行や末尾行を除外する
見出し行を除いたデータ部分だけを表示したい場合は、数式を入れるセルを選び、次のように入力します。
=DROP(A1:D7,1)
この数式では、A1:D7のうち先頭の1行を除外し、2行目以降を表示します。元のA1:D7は残ったままなので、見出し行を削除せずに別の計算や確認へ使えます。
末尾の集計行だけを除外したい場合は、行数に負の数を指定します。
=DROP(A1:D7,-1)
負の数は末尾側から数える指定です。この例では最後の1行を除外し、先頭からその手前までを表示します。取り込みデータの末尾に「合計」や「注記」の行があるときは、先頭から何行目かを数えるより、末尾から除外したほうが式の意図を読み取りやすくなります。
見出し行と集計行の両方を除外したい場合は、DROPを2回重ねます。
=DROP(DROP(A1:D7,1),-1)
内側のDROPで先頭1行を除外し、その結果から外側のDROPで末尾1行を除外します。1つの数式で元データを削らずにデータ本体だけを取り出せるため、あとから元表を見直す余地を残せます。
列を除外するときは行指定との違いを見る
列を除外する場合は、3つ目の引数に列数を指定します。行数を指定しないまま列だけを除外するときは、2つ目の引数を空けてカンマを続けます。
=DROP(A1:D7,,1)
この数式は、A1:D7の左端1列を除外します。右端の列を除外する場合は、列数に負の数を指定します。
=DROP(A1:D7,,-1)
行と列を同時に除外することもできます。
=DROP(A1:D7,1,1)
この例では、先頭1行と左端1列を除外します。行見出しと列見出しをどちらも外し、数値部分だけを別範囲に出したいときに使えます。ただし、残したい列が連続していない場合はDROPだけで無理に処理しません。必要な列番号を指定して取り出すなら、CHOOSECOLS関数で必要な列だけを抽出する方法のほうが分かりやすい場合があります。
条件抽出や並べ替えと組み合わせる
DROP関数は、他の動的配列関数の結果にも使えます。たとえば、条件に合う行をFILTER関数で取り出し、その結果から見出し行や不要な先頭行を外す、といった組み合わせです。
先に部署や区分などの条件で行を絞り込むなら、抽出条件の考え方はFILTER関数で抽出条件を扱いやすくする方法が参考になります。DROPは条件を判定する関数ではないため、「条件で選ぶ」役割はFILTERに任せ、「先頭や末尾を除く」役割だけをDROPに担当させると、数式の役割が読みやすくなります。
並べ替え後の上部に残る説明行を外したい、横に結合した結果の左端列を外したいなど、複数の関数を重ねる場合も考え方は同じです。最初にどの関数がどの範囲を返すのかを確認し、その結果に対してDROPをかけます。途中の結果が分かりにくいときは、いきなり長い数式にせず、別の空白セルで一段階ずつ結果を見てから統合します。
エラーが出たときに確認する場所
DROP関数で結果が出ないときは、まず数式が入っているセルを選択します。スピル範囲に値が残っている場合は、結果を広げる場所を確保できません。必要な値なら別の場所へ移動し、不要な値なら削除してから再計算を確認します。
行数または列数に0を指定して、結果が空になるような指定をすると、空の配列を返せずエラーになります。また、元の範囲より多い行数や列数を除外しようとすると、残る範囲がなくなります。数式が意図どおりでも結果が空になる指定は避け、先頭から除外する数と末尾から除外する数を表の行数・列数と照らし合わせます。
最後に、DROP関数を使える環境かを確認します。Microsoft公式資料では、DROP関数はExcel for Microsoft 365、Excel for Microsoft 365 for Mac、Excel 2024、Excel 2024 for Macが対象です。古い永続ライセンス版で関数名が認識されない場合は、同じブックを使う相手の環境も確認してから、別の方法に切り替えます。