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

Google Sheets跨工作表提取唯一学生姓名至隔行单元格

提取Google Sheets中唯一姓名到隔行单元格的解决方案

针对需求:从同一工作簿的POP表A列(A2起,含重复姓名)提取唯一姓名,填充到PracticeTracker表B列的B6、B8、B10…这类隔行位置,以下是两种可行的公式方案:

方案1:手动下拉式公式(适合按需扩展)

在PracticeTracker表的B6单元格输入以下公式,然后下拉填充到需要的行:

=IFERROR(INDEX(UNIQUE(FILTER(POP!A2:A, POP!A2:A<>"")), CEILING((ROW()-5)/2,1)), "")

公式拆解:

  • FILTER(POP!A2:A, POP!A2:A<>""):过滤POP表A列的空单元格,仅保留有效姓名
  • UNIQUE(...):从过滤结果中提取不重复的姓名列表
  • CEILING((ROW()-5)/2,1):计算当前行对应的唯一姓名索引——B6行ROW()-5=1,除以2向上取整得1;B8行ROW()-5=3,取整得2,以此实现隔行匹配唯一列表的顺序
  • INDEX(..., 索引):根据索引取出对应姓名
  • IFERROR(..., ""):姓名取完后显示空值,避免错误提示

方案2:自动填充数组公式(一次性生成所有结果)

在PracticeTracker表的B6单元格输入以下数组公式,无需下拉,自动填充下方符合条件的隔行:

=ARRAYFORMULA(IF(MOD(ROW(B6:B)-6,2)=0, IFERROR(INDEX(UNIQUE(FILTER(POP!A2:A, POP!A2:A<>"")), (ROW(B6:B)-6)/2 +1), ""), ""))

公式拆解:

  • MOD(ROW(B6:B)-6,2)=0:判断当前行是否为B6、B8这类目标隔行(B6-6=0,模2余0;B8-6=2,模2余0)
  • 满足条件时,通过(ROW(B6:B)-6)/2 +1计算唯一姓名的索引,B6对应1、B8对应2…
  • 不满足条件的行(如B7、B9)直接显示空值
  • ARRAYFORMULA:让公式自动作用于B6及以下所有行

额外优化:忽略姓名大小写差异

如果POP表中存在大小写不同的同姓名(如"John"和"john"),需要视为同一姓名的话,可使用以下公式(以方案1为例):

=IFERROR(PROPER(INDEX(UNIQUE(LOWER(FILTER(POP!A2:A, POP!A2:A<>""))), CEILING((ROW()-5)/2,1))), "")
  • LOWER(...):将所有姓名转为小写,确保UNIQUE识别为同一值
  • PROPER(...):将提取后的姓名转回首字母大写的规范格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 04:36:16