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

如何基于Google Sheets布尔列自动提取指定行数据至另一工作表?

Google Sheets 自动化提取高分获得者信息方案

针对需求,这里提供两种实用方案,完全适配你的场景:

方案一:用FILTER函数快速提取(推荐,自动更新)

假设Sheet1列结构为:A=Email,B=名字,C=姓氏,G=目标得分,H=Passed?(布尔列),直接在Sheet2的A2单元格输入以下公式:

=FILTER({Sheet1!A:A, Sheet1!B:B, Sheet1!C:C, Sheet1!G:G}, Sheet1!H:H=TRUE)
  • 公式会自动筛选出所有Passed?为TRUE的行,提取你需要的邮箱、姓名、得分信息
  • 只要Sheet1的数据更新(比如新增表单回复、Passed?状态变化),Sheet2的列表会自动同步,无需手动操作
  • 如果姓名存储在单独的表单回复工作表(比如名为Form Responses,A=Email,B=名字,C=姓氏),可调整公式为:
=FILTER({Sheet1!A:A, INDEX('Form Responses'!B:B, MATCH(Sheet1!A:A, 'Form Responses'!A:A, 0)), INDEX('Form Responses'!C:C, MATCH(Sheet1!A:A, 'Form Responses'!A:A, 0)), Sheet1!G:G}, Sheet1!H:H=TRUE)

该版本会通过邮箱匹配,从表单回复表拉取对应姓名。

方案二:结合INDEX+MATCH实现(匹配你的初步思路)

如果习惯用INDEX+MATCH组合,可按以下步骤操作:

  1. 提取符合条件的邮箱:在Sheet2的A2单元格输入
=IFERROR(INDEX(Sheet1!A:A, SMALL(IF(Sheet1!H:H=TRUE, ROW(Sheet1!H:H)-ROW(Sheet1!H1)+1), ROW(A1))), "")
  1. 从表单回复表匹配名字:Sheet2的B2单元格输入
=IFERROR(INDEX('Form Responses'!B:B, MATCH(A2, 'Form Responses'!A:A, 0)), "")
  1. 从表单回复表匹配姓氏:Sheet2的C2单元格输入
=IFERROR(INDEX('Form Responses'!C:C, MATCH(A2, 'Form Responses'!A:A, 0)), "")
  1. 提取得分:Sheet2的D2单元格输入
=IFERROR(INDEX(Sheet1!G:G, SMALL(IF(Sheet1!H:H=TRUE, ROW(Sheet1!H:H)-ROW(Sheet1!H1)+1), ROW(A1))), "")
  • 输入完成后,选中A2:D2单元格下拉,即可填充所有符合条件的记录
  • 公式中的IFERROR用于避免无匹配结果时显示错误值,自动返回空白

注意事项

  • 确保Sheet1的Passed?列是原生布尔值(TRUE/FALSE),而非文本格式的"True"/"False",否则公式会失效
  • 如果想实现整列自动填充(无需下拉),可以用ARRAYFORMULA包裹公式,比如Sheet2的A2单元格改为:
=ARRAYFORMULA(IFERROR(INDEX(Sheet1!A:A, SMALL(IF(Sheet1!H:H=TRUE, ROW(Sheet1!H:H)-ROW(Sheet1!H1)+1), ROW(A2:A)-ROW(A2)+1)), ""))

内容的提问来源于stack exchange,提问作者Marco R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:25:47