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

如何在Google Sheets中找出匹配Student ID但其他列有差异的行

解决Google Sheets中匹配ID但列值不同的行筛选问题

核心思路

通过唯一标识(Student ID)匹配两张表数据,再对比除ID外的所有列是否存在差异,最终筛选出存在差异的注册表行并输出到目标工作表。

函数实现方案

假设:

  • 注册表(SIS表)数据位于SIS!A:Z(A列为Student ID,B:Z为其他数据列)
  • 目录表(Directory表)数据位于Directory!A:Z

在“Accounts to Edit”工作表的A1单元格输入以下公式:

=FILTER(SIS!A:Z, 
  COUNTIF(Directory!A:A, SIS!A:A), 
  ARRAYFORMULA(MMULT(--(SIS!B:Z<>VLOOKUP(SIS!A:A, Directory!A:Z, COLUMN(B:Z)-COLUMN(A:A)+1, FALSE)), SEQUENCE(COLUMNS(SIS!B:Z), 1, 1, 0))>0)
)

公式拆解

  • COUNTIF(Directory!A:A, SIS!A:A):筛选出注册表中Student ID在目录表中存在的行
  • ARRAYFORMULA(MMULT(...))>0:
    1. SIS!B:Z<>VLOOKUP(...):对比注册表和目录表中对应ID的每一列值,返回布尔值(不同为TRUE,相同为FALSE)
    2. --(...):将布尔值转换为1/0
    3. MMULT(..., SEQUENCE(...)):对每行的1/0求和,只要有一列不同,总和就大于0
    4. 最终筛选出总和大于0的行(即存在列值差异的行)

注意事项

  • 确保两张表的列顺序完全一致,否则VLOOKUP的列索引会出错
  • 如果表中有空值,<>会将空值与非空值判定为不同,符合业务逻辑;若需忽略空值差异,可添加IFERROR或额外判断
  • 若数据量较大,可限制列范围(如B:D而非B:Z)提升公式运行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 12:33:17