我有一个电子表格,其中有两列包含日期,另一列包含房间号:
日期 | 约会 | 房间号 |
---|---|---|
2023 年 2 月 3 日 | 2023 年 2 月 5 日 | 1 号房间 |
2023 年 2 月 5 日 | 2023 年 2 月 8 日 | 1 号房间 |
2023 年 2 月 8 日 | 2023 年 2 月 10 日 | 1 号房间 |
2023 年 3 月 23 日 | 2023 年 3 月 26 日 | 1 号房间 |
2023 年 3 月 30 日 | 2023 年 3 月 31 日 | 5 号房间 |
2023 年 4 月 6 日 | 2023 年 4 月 8 日 | 6 号房间 |
2023 年 4 月 13 日 | 2023 年 4 月 14 日 | 1 号房间 |
2023 年 4 月 19 日 | 2023 年 4 月 21 日 | 2 号房间 |
2023 年 4 月 23 日 | 2023 年 4 月 26 日 | 3 号房间 |
我想计算一下有多少个date out
- 下一个date in
是同一个房间,房间号 = 0 或大于 1。
有什么办法可以做到这一点?
任何建议都会被接受。谢谢
答案1
你可以尝试以下公式:
H27 中的公式:=SUM(IF(C26:C34=F25, IF(ISNUMBER(MATCH(B26:B34, A26:A34, 0)), 1, 0)))
H28 中的公式:=SUM(IF(C26:C34=F25, IF(ISNUMBER(MATCH(B26:B34, A26:A34, 0)), 0, 1)))
如果您使用的是更高版本的 Excel(例如 2021 或 365),那么您也可以尝试此方法。
H27:=COUNT(FILTER(B26:B34, (C26:C34=F25)*(ISNUMBER(MATCH(B26:B34, A26:A34, 0))=TRUE)))
H28:=COUNT(FILTER(B26:B34, (C26:C34=F25)*(ISNUMBER(MATCH(B26:B34, A26:A34, 0))=FALSE)))
注意:
- 单元
F25
格有条件,并且可以编辑,最好创建下拉菜单。 - 根据需要调整单元格引用。
答案2
使用 =DAYS(end,start) 公式 在 C1 中,A1 是开始日期,B1 是结束日期 =DAYS(B1,A1)
答案3
我现在才注意到您标记了 Excel 2007:
您可能希望使用该版本:
=SUM(--ISNUMBER(MATCH(B2:B10&F3,A2:A10&F3,0)))
=SUM(ISNA(MATCH(B2:B10&C2:C10,A2:A10&C2:C10,0))*(C2:C10=F2))-1
!!请注意,这两个公式都需要输入ctrl+shift+enter
第一个返回 C 列中的房间等于 的值的结果数,其中 的F3
外出日期值也在房间等于 的入住日期列中找到F3
。
第二个函数返回入住日期值不等于退房日期值不等于房间数的数字F3
。但由于总是有一个没有更晚日期的最后一个值;我们从总数中减去 1。
如果您使用 Office 365,您可以实现以下目标:
也许我的回答不符合您要求的格式,但我认为这可能会给您更多的见解:
=LET(sorted,SORT(A2:C10,{3,2}),
room,TAKE(sorted,,-1),
roomcomp,(DROP(room,-1)=DROP(room,1)),
indate,DROP(TAKE(sorted,,1),1),
outdate,DROP(INDEX(sorted,,2),-1),
VSTACK(HSTACK(A1:C1,
"next date in "&{"=",">"}&" previous date out"),
IFERROR(HSTACK(sorted,
(roomcomp)*(outdate=indate),
(roomcomp)*(outdate<indate)),
"")))
它将显示相同的范围,但按房间排序,然后按日期排序,并按行排序下一个日期等于或大于上一个日期的结果。这样,您还可以看到条件适用于哪些日期。
基本上它的作用是=(B2:B9=A3:A10)*(C2:C9=C3:C10)
,=(B2:B9<A3:A10)*(C2:C9=C3:C10)
但是在范围 B2:C10 上按房间排序,然后按日期(出)排序。
创造更多洞察力的另一种方式是显示最后一天的外出情况,其中同一房间的进出日期是连续的:
=LET(a,A2:A10,b,B2:B10,c,C2:C10,r,SEQUENCE(ROWS(a)),MAP(a,b,c,LAMBDA(u,v,w,REDUCE(v,r,LAMBDA(x,y,XLOOKUP(x&w,a&w,b,x))))))