You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel工作表中提取每组的前2行数据?

Excel提取每组前2行数据的公式方案

原始数据

列1列2
AppleA102012
AppleA102013
AppleA102014
BananaA102015
BananaA102016
BananaA102017
CoconutA102017

预期结果

列1列2
AppleA102012
AppleA102013
BananaA102015
BananaA102016
CoconutA102017

方案1:适用于Excel 365/2021(支持动态数组)

假设数据区域为A2:B8,表头在A1:B1,在空白单元格(比如D2)输入以下公式,回车后会自动溢出所有符合条件的行:

=FILTER(A2:B8, COUNTIFS(A2:A8, A2:A8, ROW(A2:A8), "<="&ROW(A2:A8))<=2)

公式逻辑:

  • COUNTIFS(...):计算当前行在对应分组内的顺序编号(比如Apple的第三行编号为3)
  • <=2:仅保留分组内编号≤2的行
  • FILTER:提取所有符合条件的整行数据

方案2:适用于旧版Excel(无动态数组支持)

步骤1:标记分组序号

在C2单元格输入公式,下拉填充到数据最后一行:

=COUNTIF($A$2:A2, A2)

该公式会给每个分组的行依次标记1、2、3...的序号。

步骤2:筛选提取

直接筛选C列中值≤2的行,复制粘贴到目标区域即可。

如果想用公式直接提取,可在D2单元格输入数组公式(输入后按Ctrl+Shift+Enter确认),再下拉填充:

=INDEX(A:A, SMALL(IF(COUNTIF($A$2:$A$8, $A$2:$A$8)>=ROW(A1), IF(COUNTIF($A$2:A2, A2)<=2, ROW($A$2:$A$8))), ROW(A1)))

(提取列2数据时,将公式中的A:A改为B:B即可)


内容的提问来源于stack exchange,提问作者NevetsKuro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 07:40:33