EXCEL:查找值和最小日期

EXCEL:查找值和最小日期

我在使用 Excel 时遇到了问题。我的数据位于 2 个不同的电子表格中。

这些表是登录和事件:

登录

用户 ID(COL A)

注册日期 (COL B)

活动

用户 ID(COL A)

结束日期 (COL B)

收入(COL C)

我正在尝试查找从用户注册到他们的第一个活动结束的平均天数。在尝试匹配用户 ID 时,我使用了以下代码,但它不起作用:

=MIN(IF(A2=Events!$A$2:$A$12282,(Events!B$2:B$12282)-B2))

在这种情况下,对于登录中的每个用户,我尝试在事件中找到与该用户匹配的相应日期。然后,我尝试找出日期之间的差异,并在数组中找到最小日期,但它给出的是最大值和/或不起作用。任何帮助表示感谢!

答案1

您无法按照以下方式将单个单元格与某个范围进行比较:

IF(A2=Events!$A$2:$A$12282...

您可以尝试使用查找功能。

答案2

尝试以下操作:在第一个工作表的第三列中输入以下公式

=VLOOKUP(A$2,Events!A$2:A$12282,1,0)

这应该将用户相应的 end_date 值放在 A2 中。注意,当且仅当每个用户只有一个结束日期时,这才会起作用。

如果这是您要找的,只需拖动公式即可填写所有值。

现在在第四列你可以做类似的事情

=C$2-B$2

再次拖动公式来填写所有缺失的值。

现在你应该已经准备好所有的计算了,你只需要做

=MIN(D2:D12282)

答案3

在登录表上,我将添加另一列days_to_first_event。并在 C2 中添加以下数组公式(按 Ctrl+Shift+Enter 进行设置)

=MIN(IF(tbl_events[user_id]=A2,tbl_events[end_date]))-B2

end_date这将在工作user_id表上找到最早的Events,然后减去用户的signup_date。(我已将它们格式化为名为的表格tbl_events,但您可以用您的范围替换)

然后,您可以根据正值取平均值,因为任何负值都意味着他们尚未完成事件。使用此公式

=SUMIF(C:C,">=0")/COUNTIF(C:C,">=0")

可以将所有这些包含在一个公式中,但是今天早上我无法理解。

相关内容