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

Excel多工作表数据提取:基于V标记筛选Process name的公式问询

Excel分表提取匹配数据的公式实现

适用于Excel 365/2021(支持动态数组)

直接用FILTER函数一键提取,操作如下:

  • 打开Service1工作表,在A2单元格输入公式:
    =FILTER('Sheet A'!$A$2:$A$5,'Sheet A'!$B$2:$B$5="V")
    
    公式说明:'Sheet A'!$A$2:$A$5是要提取的Process name范围,'Sheet A'!$B$2:$B$5="V"是筛选条件——只取service1列为"V"的行。输入后公式会自动溢出填充所有匹配结果,无需手动下拉。
  • 同理,Service2工作表A2单元格用:
    =FILTER('Sheet A'!$A$2:$A$5,'Sheet A'!$C$2:$C$5="V")
    
  • Service3工作表A2单元格用:
    =FILTER('Sheet A'!$A$2:$A$5,'Sheet A'!$D$2:$D$5="V")
    

适用于旧版Excel(无动态数组支持)

用INDEX+SMALL+IF组合数组公式实现,操作如下:

  • 打开Service1工作表,在A2单元格输入公式:
    =IFERROR(INDEX('Sheet A'!$A$2:$A$5,SMALL(IF('Sheet A'!$B$2:$B$5="V",ROW('Sheet A'!$B$2:$B$5)-ROW('Sheet A'!$B$2)+1),ROW(A1))),"")
    
    输入完成后按Ctrl+Shift+Enter组合键确认(数组公式要求),然后下拉填充单元格直到出现空值。
  • Service2工作表A2单元格替换列引用:
    =IFERROR(INDEX('Sheet A'!$A$2:$A$5,SMALL(IF('Sheet A'!$C$2:$C$5="V",ROW('Sheet A'!$C$2:$C$5)-ROW('Sheet A'!$C$2)+1),ROW(A1))),"")
    
  • Service3工作表A2单元格用:
    =IFERROR(INDEX('Sheet A'!$A$2:$A$5,SMALL(IF('Sheet A'!$D$2:$D$5="V",ROW('Sheet A'!$D$2:$D$5)-ROW('Sheet A'!$D$2)+1),ROW(A1))),"")
    
    公式说明:通过IF筛选符合条件的行号,SMALL按顺序提取行号,INDEX对应取出Process name,IFERROR处理无匹配结果时显示空值。

注意事项

  • 若数据行数不止4行,需把公式里的$A$2:$A$5、$B$2:$B$5这类范围改成实际数据源范围(比如$A$2:$A$100)。
  • 如需表头,可在各Service工作表的A1单元格手动输入Process name,公式从A2开始输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:22:53