如何在Google Sheets中按日期识别当日新增的未重复用户名?
在Google Sheets中提取每日新增用户名
假设你的原始数据存放在名为「原始数据」的工作表中,A列为日期、B列为用户名。要在新工作表中按日期提取当日首次出现的新增用户,可以使用以下公式:
=LET( data, '原始数据'!A:B, dates, INDEX(data,,1), users, INDEX(data,,2), unique_dates, SORT(UNIQUE(dates)), result, BYROW(unique_dates, LAMBDA(d, LET( prior_users, FILTER(users, dates < d), current_users, FILTER(users, dates = d), new_users, FILTER(current_users, ISNA(XMATCH(current_users, prior_users))), IFERROR(HSTACK(REPT(d, COUNTA(new_users)), new_users), HSTACK(d, "无新增用户")) ) )), VSTACK({"日期", "新增用户名"}, result) )
公式说明
- 用
LET定义变量简化逻辑:data引用原始数据区域,dates和users分别提取日期列和用户名列 unique_dates获取去重并按时间排序的所有日期- 遍历每个日期时:
prior_users抓取该日期之前出现过的所有用户名current_users抓取当日的所有用户名new_users筛选出当日存在、但之前从未出现的用户(通过XMATCH匹配,未匹配到的即为新增)- 最后将日期和新增用户合并展示,若无新增则显示「无新增用户」
VSTACK用来添加表头,让结果更规整
额外调整建议
- 如果同一日期内同一个用户名重复出现,想只算一次新增,可以把
current_users改成UNIQUE(FILTER(users, dates = d)) - 确保原始数据的日期格式统一,避免因格式问题导致日期比较失效
内容的提问来源于stack exchange,提问作者Crazy8
相关产品推荐
相关产品推荐

