Google Sheets按姓名自动更新玩家最新点名时间戳求助
Google Sheets 花名册自动更新点名时间戳及活跃状态实现方案
一、自动获取最新点名时间戳(优先需求)
假设你的花名册中:
- 玩家姓名列是D列(如D6对应单个玩家姓名)
- 需要在对应行的时间戳列(如E列)显示最新提交时间,格式为「日/月/年」
在目标单元格(如E6)输入以下公式,下拉填充即可:
=TEXT(MAXIFS('Roll Call'!C:C, 'Roll Call'!B:B, D6), "dd/mm/yyyy")
公式说明:
MAXIFS('Roll Call'!C:C, 'Roll Call'!B:B, D6):从「Roll Call」表的时间戳列(C列)中,筛选出与当前玩家姓名(D6)匹配的所有记录,取最大的时间戳(即最新提交时间)TEXT(..., "dd/mm/yyyy"):将时间戳格式化为「日/月/年」的显示样式
二、原公式问题说明
你之前尝试的公式=IF('Roll Call'!A3:A<TODAY(-3)AND('Roll Call'!B3:B=D6),"ACTIVE","Inactive")存在3个核心问题:
- 时间计算错误:
TODAY(-3)写法无效,正确的3天前日期应为TODAY()-3 - 逻辑语法错误:Google Sheets中
AND函数需用AND(条件1, 条件2)的格式,不能直接用AND连接两个条件 - 需求匹配错误:该公式未实现「获取最新时间戳」的核心需求,仅尝试判断活跃状态且逻辑不完整
三、后续活跃状态判断实现
在花名册的活跃状态列(如F列)输入以下公式,可自动根据最新点名时间划分状态:
=LET( last_date, MAXIFS('Roll Call'!C:C, 'Roll Call'!B:B, D6), days_diff, TODAY()-last_date, IF(days_diff<=3, "活跃", IF(days_diff<=6, "不活跃", "AWOL")) )
公式说明:
LET函数:定义变量简化公式,last_date存储玩家最新点名时间,days_diff计算当前日期与最新点名日的间隔天数- 多层
IF判断:按「3天内=活跃、3-6天=不活跃、7天以上=AWOL」的规则输出状态
注意:确保「Roll Call」表的姓名与花名册的姓名完全一致(包括大小写、空格),否则会出现匹配失败的情况。
内容的提问来源于stack exchange,提问作者Darren Robinson
相关产品推荐
相关产品推荐

