gpt4 book ai didi

excel - 计算每个客户多次输入的总停留时间

转载 作者:行者123 更新时间:2023-12-04 13:07:44 29 4
gpt4 key购买 nike

我有一个包含 2 个电子表格的 Excel 文件。第一个电子表格(“masterlist”)包含 4 列的 masterlist:

<表类="s-表"><头>客户ID签到结帐持续时间<正文>12020/9/12020/9/3

客户可能有多个条目,因为他们可以多次 checkin 和 checkout 。总共有数千条记录/行。

第二个电子表格(“信息表”)仅包含来自 masterlist 的唯一客户并且是结构化的:

<表类="s-表"><头>客户ID总持续时间<正文>1

我的最终目标是计算每位客户的总停留时间

为了计算“masterlist”中的 Duration,我做了一个简单的 if 语句公式:

=IF(checkout=checkin,1,checkout-checkin+1)

if语句,因为如果checkin和checkout是同一天,客户仍然被认为停留了1个日历日。在 false 情况下加 1 是为了说明相同的完整日历日。因此,在 9/1-9/3 期间停留总共应获得 3 天。

长话短说,我最终得到了一个公式,该公式为“信息表”的 Total_Duration 读取以下内容:

=SUMIF(masterlist!$A:$A,A2,masterlist!$D:$D)

问题是使用我的逻辑做出的多个假设最终导致多条记录出错。如果客户有以下两条记录:

<表类="s-表"><头>签到结帐持续时间<正文>2020/9/12020/9/332020/9/32020/9/53

我的公式计算停留时间为 3 天,在“信息表”中,总停留时间显示为 6 天。正确的结果应该是 5 天,因为我们不应该将 9/3/2020 计算两次。

我的公式也没有考虑下面的情况:

<表类="s-表"><头>签到结帐持续时间<正文>2020/9/12020/9/332020/9/32020/9/312020-10-12020/10/332020/10/32020/10/31

虽然孤立地计算持续时间是正确的,但 SUMIF 会给我们总持续时间 8 天。实际上,9/3-9/3 和 10/3-10/3 的住宿已经计入 9/1-9/3 和 10/1-10/3 的住宿,因此不应该计入再次计算,总持续时间应该是 6 天。

我完全不知道下一步应该做什么。我如何在我的公式中考虑这些例子?我应该如何操作数据/更改或添加列以使其更容易?

提前致谢!

最佳答案

我们可以使用 Sequence 创建一个从最小日期到最大日期的天数数组,并使用 COUNTIFS 来查找它们是否在范围内。

=LET(
ID,A:A,
ckin,B:B,
ckot,C:C,
ids,F2,
mn,MINIFS(ckin,ID,ids),
mx,MAXIFS(ckot,ID,ids),
sq,SEQUENCE(mx-mn+1,,mn),
SUMPRODUCT(--(COUNTIFS(ckin,"<="&sq,ckot,">="&sq,ID,ids)>0))

enter image description here

关于excel - 计算每个客户多次输入的总停留时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68625907/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com