跳转至

DROP 函数

函数概述

DROP 用于从一个数组/区域中删除指定数量的行和/或列,并返回剩余部分。它特别适合处理动态数组结果:比如去掉表头、去掉末尾汇总行、只保留中间数据等。

常见用途:

  • 去掉数据的前N行(如标题、说明行)
  • 去掉数据的前N列(如辅助列、序号列)
  • 删除末尾N行/列(用负数实现)
  • 配合动态数组函数,把结果“裁剪”成想要的区域

基础语法

DROP(array, rows, [columns])

参数说明

参数 是否必填 含义 取值规则
array 必填 要处理的数组或单元格区域 可以是区域引用(如 A1:D10)或公式返回的数组
rows 必填 要删除的行数 正数:从顶部删除;负数:从底部删除;0:不删行
columns 选填 要删除的列数 正数:从左侧删除;负数:从右侧删除;省略或0:不删列

补充说明:

  • DROP 返回的是一个溢出数组(结果会自动向右、向下展开)。
  • 当删除的行/列数导致没有剩余数据时,会返回错误(实际表现取决于版本,通常为 #CALC!)。

用法示范

下面用同一份示例数据来演示(假设数据在 A1:D6):

姓名 部门 月份 销售额
张三 华东 1月 12000
李四 华南 1月 9800
王五 华北 1月 14300
赵六 华东 2月 11000
孙七 华南 2月 10500

示例1:删除表头行

去掉第一行标题,只保留数据明细:

=DROP(A1:D6, 1)

解释:rows=1 表示从顶部删除 1 行;columns 省略表示不删列。


示例2:删除左侧两列

只保留“月份、销售额”两列:

=DROP(A1:D6, 0, 2)

解释:rows=0 不删行;columns=2 从左侧删除 2 列。


示例3:同时删除表头行和左侧列

去掉标题行,并去掉“姓名、部门”,保留“月份、销售额”:

=DROP(A1:D6, 1, 2)

解释:先按参数定义裁剪,最终返回剩余的二维数组。


示例4:删除末尾两行

去掉最后两条记录(用负数从底部删除):

=DROP(A1:D6, -2)

解释:rows=-2 表示从底部删除 2 行;常用于去掉“合计/备注/尾部说明”。


示例5:删除最右一列

去掉“销售额”,只保留前三列:

=DROP(A1:D6, 0, -1)

解释:columns=-1 表示从右侧删除 1 列。


总结

DROP 的核心价值就是“按行/列裁剪数组”:

  • 正数:从上/左删除;负数:从下/右删除
  • rows 必填,columns 选填
  • 非常适合处理动态数组结果:去表头、去尾行、去辅助列,一步到位

如果你常做报表清洗或动态区域整理,DROP 会是一个高频且省事的工具。