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

Google Sheets中根据匹配姓名自动填充对应排班表的技术求助

Google Sheets 按姓名自动填充排班表解决方案

你需要从原始排班表(姓名+多列排班数据)中,给目标表的对应姓名自动填充排班信息,之前的方法没效果是因为函数用法不对,下面给你两种直接可用的解决方案:

方法一:VLOOKUP 批量填充(推荐)

在目标表第一个需要填充排班的单元格(比如B13),输入以下公式,回车后会自动批量填充所有对应姓名的排班数据:

=ARRAYFORMULA(IFNA(VLOOKUP(A13:A21, A1:G9, {2,3,4,5,6,7}, FALSE)))

公式说明:

  • ARRAYFORMULA:让公式一次性处理A13:A21的所有姓名,无需手动下拉公式
  • VLOOKUP:精确匹配目标表的姓名在原始表中的位置
  • {2,3,4,5,6,7}:指定返回原始表的第2到第7列(也就是B到G列的排班数据)
  • FALSE:强制精确匹配,避免近似匹配导致的错误
  • IFNA:把找不到匹配的单元格显示为空,替代默认的#N/A提示

方法二:INDEX+MATCH 组合

如果更习惯用INDEX和MATCH,也可以用这个公式,效果一致:

=ARRAYFORMULA(IFNA(INDEX(B1:G9, MATCH(A13:A21, A1:A9, 0), SEQUENCE(1,6))))

公式说明:

  • MATCH(A13:A21, A1:A9, 0):找到目标表姓名在原始表中对应的行号
  • SEQUENCE(1,6):生成1到6的列号,对应原始表的B到G列
  • INDEX(B1:G9, 行号, 列号):精准定位并返回排班数据
  • ARRAYFORMULA和IFNA的作用和方法一一致

为什么你之前的方法失败?

  • 你用的LOOKUP("Clair",A1:A9,ARRAYFORMULA(INDEX(B1:G9))):LOOKUP要求查找范围必须是升序排序的,而且它只能返回单值,无法一次性返回整行的多列排班数据,所以会返回#N/A
  • REGEXMATCH的思路没必要,直接用姓名匹配函数比正则更高效,也更贴合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:15:48