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

MS表单关联Excel:筛选非空评论行复制指定列数据的自动方案

解决方案

动态数组公式方案(推荐,适用于Excel 365/2021)

假设你要将提取结果放在工作表的A20单元格开始的区域(可自行调整起始位置),直接在A20输入以下公式,公式会自动溢出填充所有符合条件的行:

=FILTER(CHOOSECOLS($A$2:$O$1000,7,8,15),CHOOSECOLS($A$2:$O$1000,15)<>"","无合规请假记录")

公式解析

  • $A$2:$O$1000:替换为你原始数据的实际范围,确保覆盖G、H、O列的所有行
  • CHOOSECOLS(...,7,8,15):精准提取第7列(姓名G列)、第8列(时间H列)、第15列(评论O列)的数据
  • CHOOSECOLS(...,15)<>"":仅保留O列评论非空的行
  • 最后一个参数为无符合条件时的提示文本,可按需修改

适配合并单元格的要点

由于原始数据存在合并单元格,需注意:

  • 公式引用的原始数据范围必须包含所有合并单元格的完整区域,避免数据遗漏
  • 动态数组提取的结果会继承原始合并单元格的格式,无需额外调整

自动同步设置

要实现完全自动更新,无需手动操作:

  • 确认Excel的「计算选项」设置为自动(默认开启,可通过「公式」选项卡查看)
  • 当Microsoft表单同步新数据到原始区域时,公式会自动重新计算并更新提取结果

兼容旧版Excel的方案(无动态数组支持)

如果使用Excel 2019及更早版本,可使用INDEX+SMALL数组公式组合:

  1. 在目标姓名列起始单元格(如A20)输入:
    =IFERROR(INDEX($G:$G,SMALL(IF($O:$O<>"",ROW($O:$O)),ROW(A1))),"")
    
    按Ctrl+Shift+Enter完成数组公式输入,然后下拉填充至足够行数
  2. 在目标时间列(如B20)输入:
    =IFERROR(INDEX($H:$H,SMALL(IF($O:$O<>"",ROW($O:$O)),ROW(A1))),"")
    
    同样按Ctrl+Shift+Enter后下拉填充
  3. 在目标评论列(如C20)输入:
    =IFERROR(INDEX($O:$O,SMALL(IF($O:$O<>"",ROW($O:$O)),ROW(A1))),"")
    
    按Ctrl+Shift+Enter后下拉填充

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 20:55:18