如何创建可每日自动更新的当日工人总数统计公式
自动匹配当日日期并提取对应工人总数的公式方案
我来帮你搞定这个自动统计的需求,核心思路就是让公式自动找到当日日期在Row10的对应列,再提取Row39同一列的工人总数,下面分两种Excel版本场景给你具体方案:
方案1:适用于Excel 365/2021及以上版本(推荐)
用XLOOKUP函数实现,语法更简洁直观,容错性也更强:
=XLOOKUP(TODAY(), $10:$10, $39:$39, "无匹配日期", 0)
公式细节说明:
TODAY():自动获取当前系统日期,每天打开表格都会自动更新,不用手动修改$10:$10:锁定Row10整行作为日期查找范围,确保公式拖动或复制时不会偏移$39:$39:锁定Row39整行作为工人总数的返回范围"无匹配日期":如果当日日期在Row10里找不到时显示的提示文本,你可以改成自己需要的内容(比如0或-)0:开启精确匹配模式,保证日期完全对应才返回结果
方案2:适用于旧版Excel(如2019及更早)
用INDEX+MATCH组合实现相同功能,兼容性更好:
=INDEX($39:$39, MATCH(TODAY(), $10:$10, 0))
优化版(避免无匹配时出现错误值):
如果怕当日日期不在Row10里时返回#N/A,可以用IFERROR包裹优化提示:
=IFERROR(INDEX($39:$39, MATCH(TODAY(), $10:$10, 0)), "无匹配日期")
公式细节说明:
MATCH(TODAY(), $10:$10, 0):先定位当日日期在Row10中的列位置INDEX($39:$39, ...):根据上面找到的列位置,提取Row39对应列的工人总数
关键注意事项
- 确保Row10里的日期格式和
TODAY()返回的格式一致(比如统一为YYYY-MM-DD),否则会出现匹配失败的情况 - 如果你的日期范围不是整行(比如仅从A列到ZZ列),可以把
$10:$10改成$A$10:$ZZ$10,$39:$39改成$A$39:$ZZ$39,这样公式计算效率会更高 - 测试阶段可以用
DATE(2018,3,4)代替TODAY(),验证是否能正确返回AZ39的数值6,确认没问题后再换回TODAY()
内容的提问来源于stack exchange,提问作者Vincent Shelby
相关产品推荐
相关产品推荐

