本文看点
01
三个参数,一次搞懂基础语法
02
正数从头、负数从尾的奥义
03
与 SORT/FILTER 的黄金搭档
01
CONCEPT
TAKE / DROP 函数是什么?
Excel 中的 TAKE 和 DROP函数,就像一对「数据取舍指挥官」!它们属于 Excel 动态数组函数家族,专门负责从数据中提取或删除指定数量的行和列。
通俗理解
TAKE 像切蛋糕
你说「给我前 3 块」,它就切前 3 块给你---提取前几行或列
DROP 像削苹果皮
你说「去掉外面 2 层」,剩下的都是果肉---删除后几行或列
一对双胞胎
一个「取」,一个「丢」,配合默契。
重要提示:TAKE 和 DROP 函数仅支持 Excel 365 / Excel 2021 / WPS 新版。如果你的 Excel 版本较旧,会显示 #NAME? 错误。
02
SYNTAX
TAKE / DROP 基础语法详解
TAKE 和 DROP 的语法几乎一模一样,只需要记住三个参数:
=TAKE(数组, 行数, [列数])
=DROP(数组, 行数, [列数])
参数说明
| A2:C100 | |||
| 5 或 -3 | |||
| 2 或 -1 |
参数规则
正数 = 从开头取/删(如 5 = 前 5 行)
负数 = 从末尾取/删(如 -3 = 最后 3 行)
0 = 报错!行数或列数写 0 会返回 #CALC! 错误(空数组),想要「全部」请直接留空该参数
省略行数/列数 = 提取/删除该方向全部行/列
* 行数与列数至少提供其一;只用一个方向时,另一个方向留空即可(如 =TAKE(A2:C10, , 2) 表示取全部行、仅取前 2 列)。
03
TAKE
TAKE 提取数据(入门)
TAKE 函数用于从数组中提取指定数量的行和/或列。
实战示例:提取前 3 名销售冠军
假设 A2:C6 是销售排名表:

第 2 参数 3 = 从数组开头提取前 3 行;第 3 参数省略 = 提取所有列。
实战技巧:① 只提取特定列:TAKE(A2:C6, , 2) 提取所有行,但只取左边 2 列;② 提取最后 N 行:TAKE(A2:C6, -3) 提取最后 3 行;③ TAKE 常与 SORT 配合做排行榜:=TAKE(SORT(数据, 排序列, -1), N)
04
DROP
DROP 删除数据(入门)
DROP 函数用于从数组中删除指定数量的行和/或列,返回剩余部分。
实战示例:删除标题行 + 删除多余列
原始数据包含标题行和不需要的序号列:

第 2 参数 1 = 删除第 1 行(标题行);第 3 参数 1 = 删除第 1 列(序号列)。
实战技巧:① 导入数据时常有标题行,用 DROP(数据, 1) 一键去掉;② 数据末尾常有合计行,用 DROP(数据, -1) 删除最后 1 行;③ DROP 和 TAKE 可以组合使用,实现精准裁剪。
05
NEGATIVE
负数参数:从末尾操作
TAKE 和 DROP 的负数参数非常实用,表示从数组的末尾开始操作。
| =TAKE(A2:C10, -3) | ||
| =TAKE(A2:C10, , -2) | ||
| =DROP(A2:C10, -2) | ||
| =DROP(A2:C10, , -1) |
记忆口诀
正数 → 从头开始数(1, 2, 3…)
负数 → 从尾开始数(…-3, -2, -1)
核心要点:① TAKE(数组, -3) = 取末尾 3 行,常用于查看最新记录;② DROP(数组, -1) = 删除末尾 1 行,常用于去掉合计行;③ 两个参数可以同时为负:TAKE(A1:D10, -3, -2) = 取最后 3 行、最后 2 列。
06
COMBO
组合技:TAKE / DROP 的黄金搭档
TAKE 和 DROP 的真正威力在于与其他动态数组函数组合使用。
6.1 排序后取前 N 名
=TAKE(SORT(A2:C10, 3, -1), 5)
SORT 按第 3 列降序排列,TAKE 取排序后的前 5 行。用途:排行榜、TOP N 榜单。
6.2 筛选后取前 N 条
=TAKE(FILTER(A2:C10, B2:B10="销售"), 3)
FILTER 筛选出销售部记录,TAKE 取筛选结果的前 3 条。用途:精准定位头部数据。
6.3 筛选后删除标题
=DROP(FILTER(A2:C10, B2:B10="销售"), 1)
FILTER 筛选出销售部记录,DROP 删除结果中的第 1 行(标题行)。用途:清洗筛选结果。
6.4 去重后取前 N 个
=TAKE(UNIQUE(A2:A10), 10)
UNIQUE 去重,TAKE 取去重后的前 10 个。用途:去重榜单。
组合逻辑:记住一个原则——TAKE / DROP 永远是「最后一道工序」。先 SORT 排序、先 FILTER 筛选、先 UNIQUE 去重,最后用 TAKE / DROP 裁剪到想要的大小。
07
CASE
实战案例:销售排行榜 TOP 5
【场景】公司有 8 名销售人员的业绩数据,需要快速生成「业绩 TOP 5 排行榜」。

需求拆解
按业绩从高到低排序
取排序后的前 5 名
=TAKE(SORT(A2:C9, 3, -1), 5)
冠军:王五,总业绩 ¥12,000。
实战技巧:
① SORT 的第 2 参数 3 = 按第 3 列(业绩)排序;
② SORT 的第 3 参数 -1 = 降序(1=升序,-1=降序);
③ TAKE 的第 2 参数 5 = 取前 5 行;
08
ERRORS
常见错误与解决方法
使用 TAKE 和 DROP 函数时,这些坑你踩过吗?提前了解,少走弯路!
建议公式速查
=TAKE(A2:C10, 5) → 取前 5 行
=TAKE(A2:C10, -3) → 取最后 3 行
=TAKE(A2:C10, , 2) → 取左边 2 列
=DROP(A2:C10, 1) → 删除第 1 行(标题)
=DROP(A2:C10, -1) → 删除最后 1 行(合计)
=TAKE(SORT(...), 5) → 排序后取前 5
=TAKE(FILTER(...), 3) → 筛选后取前 3
09
PRACTICE
练习题 · 巩固提高
动手练习是掌握 TAKE 和 DROP 函数的最佳方式!打开 Excel,跟着题目练一练吧!
基础题 ★☆☆
题目:A2:C10 是员工表,如何提取前 5 行?
答案:=TAKE(A2:C10, 5)
进阶题 ★★☆
题目:如何删除数据表的第 1 行标题和第 1 列序号?
答案:=DROP(A1:D10, 1, 1)
挑战题 ★★★
题目:如何提取数据表的最后 2 列?
答案:=TAKE(A2:D10, , -2)
思考题 ★★★★
题目:如何获取「销售部」业绩前 3 名?(假设 B 列是部门,C 列是业绩)
答案:=TAKE(SORT(FILTER(A2:C10, B2:B10="销售"), 3, -1), 3)
综合题 ★★★★★
题目:数据 A1:C20 包含标题行和末尾合计行,如何去掉头尾,只保留中间数据并取前 10 行?
答案:=TAKE(DROP(DROP(A1:C20, 1), -1), 10)
(先 DROP(A1:C20, 1) 去掉标题行,再 DROP(…, -1) 去掉末尾合计行,最后 TAKE(…, 10) 取中间前 10 行)
提示:TAKE / DROP 的核心是「先定方向(正/负),再定数量,最后裁剪」。简单提取用 TAKE,清理数据用 DROP,复杂场景用组合技。
附
CHEATSHEET
TAKE / DROP 函数速查卡
一张表记住所有用法,收藏备用!
| =TAKE(A2:C10, 5) | ||
| =TAKE(A2:C10, -3) | ||
| =TAKE(A2:C10, , 2) | ||
| =DROP(A2:C10, 1) | ||
| =DROP(A2:C10, -2) | ||
| =DROP(A2:C10, , 1) | ||
| =TAKE(SORT(A2:C10, 3, -1), 5) | ||
| =TAKE(FILTER(A2:C10, B2:B10="销售"), 3) | ||
| =TAKE(UNIQUE(A2:A10), 10) |
每天一个 Excel 函数 · TAKE / DROP 数据取舍指挥官
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。
夜雨聆风