我试图在Google表格上设置某种入住/退房系统。所以,我想知道人们已经登录了多长时间。
有没有办法自动减去两个单元格IF并且只有这些是相等的?
例如,当且仅当名称相等时减去时间。我需要知道John Doe签约的时间长短,因为知道其他人签了中间,所以我不能假设这些名字互相跟随。
[Timestamp. Name. Sign in or out]
[10:00:00 John Doe sign in]
[11:00:00 John Doe sign out]
即使您知道如何在Excel中执行此操作,也会非常感谢您的帮助吗?我一直在环顾四周,无法找到解决方案。
编辑:请注意,我希望这是自动的。每当有人输入他们的名字两次,它就会识别它,得到名字和时间范围。
答案 0 :(得分:0)
=sumproduct((B1:B2="John Doe")*(C1:C2="sign out")*(A1:A2))-sumproduct((B1:B2="John Doe")*(C1:C2="sign in")*(A1:A2))
将所有登录和退出时间相加,并从登录总和中减去所有登录总和。对于John Doe。
在处理上述内容之前,您可能需要做一个countifs来查看签到次数是否等于退出次数。原因是,如果你这样的数学有一个退出,你最有可能会结束负面时间。
答案 1 :(得分:0)
我认为这会做你想要的。如果名称中有“登录”字样。和'退出'它计算登录时间。它处理相同的名称'登录和'退出'多次。如果一个名称只有一个“登录”,它将是空白的。请确保将公式所在的列格式化为时间00:00:00。复制公式。
def getListContain(s,ifile,file):
listOfStrings = []
for word in ifile:
if word.find(s) != -1:
listOfStrings.append(word.strip()+'\n')
listOfStrings.sort()
for item in listOfStrings:
ofile.write(item) #Based on your code, i'm assuming that 'ofile' is defined outside the function.