在 Google 表格中按天计算时间以列出可用性
Time Calculation over days in Google Sheets to tabulate availability
概览
我正在尝试在 Google Sheet 秒内列出几天的时间,并根据每个人的开始和结束时间查看每个人的空闲时间,这几乎每周都在变化。
文件信息
我有这个 Sample Availability Timesheet 和两个 Sheet-Tabs。
Master Sheet-Tab: 此 Sheet-Tab 包含员工列表及其各自的开始时间和结束时间。
可用性Sheet-选项卡:此Sheet-选项卡包含员工列表和一小时跳跃的时间刻度。资源可用性用 Y 标记,如果资源不可用,则用 N 标记:
=IF(ISBETWEEN(B, VLOOKUP($A2, Master!$A:$C, 2, 0), VLOOKUP($A2, Master!$A:$C, 3, 0))=true, "Y", "N")
一切正常,除非时间在一天中跳跃。
问题区域:
如果开始时间是 4:00 下午,结束时间是 2:00 上午,则刻度显示 Y 在 4:00 下午和 11:59 之间PM,但在 12:00 AM 和 2:00 AM 之间显示 N。
我需要在两个区域显示 Y,即 4:00 下午到 11:59 下午和 12:00 上午和 2:00上午.
有人可以帮我解决吗?
此致,
赛义德
更新后的公式:
=IF(VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0)) > VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0)), IF(ISBETWEEN(B, VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0)), VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0))), "Y", "N"), IF(OR(B <= VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0)), B >= VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0))), "Y", "N"))
您分享的 sheet 公式的屏幕截图:
此版本是您分享的公式的扩展。如果某人从下午 4 点工作到凌晨 2 点,那么使用 IFBETWEEN
的方式将引发错误,因为凌晨 2 点在数值上小于下午 4 点,因此两者之间没有任何东西。
因此,如果某人在下午时间开始并在上午时间结束,则公式会检查上午 12 点和上午工作的人之间的所有时段,并将他们标记为 Y。同时,该公式还会检查所有时间在 PM 中大于工作 PM 的人,并将他们标记为 Y。
如果此人在下午时间开始并在更晚的下午时间结束,那么它会使用您的公式的初始版本。
我对您的公式稍作修改,现在应该可以使用了。
=IF($C9>$B9, IF(ISBETWEEN(B, VLOOKUP($A2, $A:$C, 2, 0), VLOOKUP($A2, $A:$C, 3, 0)), "Y", "N"), IF(OR(B <= VLOOKUP($A2, $A:$C, 3, 0), B >= VLOOKUP($A2, $A:$C, 2, 0)), "Y", "N"))
请记住删除某些单元格中的日期 sheet C2
中的值是 12/31/1899 2:00:00 并且应该更改为2:00:00.
概览
我正在尝试在 Google Sheet 秒内列出几天的时间,并根据每个人的开始和结束时间查看每个人的空闲时间,这几乎每周都在变化。
文件信息 我有这个 Sample Availability Timesheet 和两个 Sheet-Tabs。
Master Sheet-Tab: 此 Sheet-Tab 包含员工列表及其各自的开始时间和结束时间。
可用性Sheet-选项卡:此Sheet-选项卡包含员工列表和一小时跳跃的时间刻度。资源可用性用 Y 标记,如果资源不可用,则用 N 标记:
=IF(ISBETWEEN(B, VLOOKUP($A2, Master!$A:$C, 2, 0), VLOOKUP($A2, Master!$A:$C, 3, 0))=true, "Y", "N")
一切正常,除非时间在一天中跳跃。
问题区域: 如果开始时间是 4:00 下午,结束时间是 2:00 上午,则刻度显示 Y 在 4:00 下午和 11:59 之间PM,但在 12:00 AM 和 2:00 AM 之间显示 N。
我需要在两个区域显示 Y,即 4:00 下午到 11:59 下午和 12:00 上午和 2:00上午.
有人可以帮我解决吗?
此致, 赛义德
更新后的公式:
=IF(VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0)) > VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0)), IF(ISBETWEEN(B, VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0)), VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0))), "Y", "N"), IF(OR(B <= VALUE(VLOOKUP($A2, Master!$A:$M, 13, 0)), B >= VALUE(VLOOKUP($A2, Master!$A:$M, 12, 0))), "Y", "N"))
您分享的 sheet 公式的屏幕截图:
此版本是您分享的公式的扩展。如果某人从下午 4 点工作到凌晨 2 点,那么使用 IFBETWEEN
的方式将引发错误,因为凌晨 2 点在数值上小于下午 4 点,因此两者之间没有任何东西。
因此,如果某人在下午时间开始并在上午时间结束,则公式会检查上午 12 点和上午工作的人之间的所有时段,并将他们标记为 Y。同时,该公式还会检查所有时间在 PM 中大于工作 PM 的人,并将他们标记为 Y。
如果此人在下午时间开始并在更晚的下午时间结束,那么它会使用您的公式的初始版本。
我对您的公式稍作修改,现在应该可以使用了。
=IF($C9>$B9, IF(ISBETWEEN(B, VLOOKUP($A2, $A:$C, 2, 0), VLOOKUP($A2, $A:$C, 3, 0)), "Y", "N"), IF(OR(B <= VLOOKUP($A2, $A:$C, 3, 0), B >= VLOOKUP($A2, $A:$C, 2, 0)), "Y", "N"))
请记住删除某些单元格中的日期 sheet C2
中的值是 12/31/1899 2:00:00 并且应该更改为2:00:00.