在Google表格中找到两个相同的单元格

时间:2016-05-17 06:52:58

标签: google-sheets

我试图在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中执行此操作,也会非常感谢您的帮助吗?我一直在环顾四周,无法找到解决方案。

编辑:请注意,我希望这是自动的。每当有人输入他们的名字两次,它就会识别它,得到名字和时间范围。

2 个答案:

答案 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.