Google sheets 上一个日期与条件Google电子表格公式

Google sheets 上一个日期与条件Google电子表格公式,google-sheets,google-sheets-formula,array-formulas,counting,gs-vlookup,Google Sheets,Google Sheets Formula,Array Formulas,Counting,Gs Vlookup,我有一个用户名单,上面有他们访问网站的日期。我需要计算每个记录的第一次访问日期,条件是如果用户错过了一个月,它将被视为新的,并且日期应该是新的。 我怎么计算呢 这里有一个例子。我需要计算第一次访问列 Visit Date User First visit 10/15/19 User1 10/15/19 11/13/19 User1 10/15/19 01/07/20 User1 01/07/20 02/03/20 User1 01/07/20 假

我有一个用户名单,上面有他们访问网站的日期。我需要计算每个记录的第一次访问日期,条件是如果用户错过了一个月,它将被视为新的,并且日期应该是新的。 我怎么计算呢

这里有一个例子。我需要计算第一次访问列

Visit Date  User    First visit
10/15/19    User1   10/15/19
11/13/19    User1   10/15/19
01/07/20    User1   01/07/20
02/03/20    User1   01/07/20

假设数据按用户和日期排序,如示例所示:

=ArrayFormula(to_date(vlookup(row(A2:A),filter({row(A2:A),A2:A},
countifs(row(A2:A),row(A2:A)-1,B2:B,B2:B,A2:A,">"&eomonth(A2:A,-2))=0),2,true)))

如果不能假定数据是按用户和日期排序的,可以尝试以下方法:

=ArrayFormula(vlookup(filter(B2:B&text(A2:A,"YYYYMMDD"),A2:A<>""),
sort(filter({B2:B&text(A2:A,"YYYYMMDD"),A2:A},
countifs(A2:A,"<"&A2:A,B2:B,B2:B,A2:A,">"&eomonth(A2:A,-2))=0,A2:A<>""),1,1),2,true))
=ArrayFormula(vlookup(过滤器)(B2:B和文本(A2:A,“yyyyymmdd”),A2:A“”),
排序(过滤器({B2:B&text(A2:A,“yyyyymmdd”),A2:A},
countifs(A2:A,“&eomonth(A2:A,-2))=0,A2:A”“,1,1),2,true)

你能分享一份你正在制作的电子表格副本,以及你期望的结果吗?这是副本-你能帮我吗?我明天会看一看。谢谢。期待您的回复。谢谢您的回复!只有当每个用户的条目都按顺序排列时,此公式才能正常工作。如何在不考虑记录排序的情况下使其工作?请看这个例子——您可能可以使用用户名和日期作为查找,而不是行号,但这样做会更加混乱。事实上,不确定这是否有用,但我们现在可以假设所有条目都是按日期排序的,然后是用户名吗?数据是按日期排序的,而不是按用户排序的。