我有1个月的餐厅日志文件。我需要从Checkin Time
和Time
栏中计算Bill Number
时间。
我的格式为:
Date |Time| TableNumber| Checkin time |Bill Number ..|...|...|
我可以通过复制Time
列的第1个数据并复制到帐单号相同的Checkin time
中来一次手动计算一次。
我已经附加了Screenshot的数据。
示例1:蓝色方块
在蓝色正方形中,我们可以看到Time
列的第一个值为0:02:37
,我将其粘贴到Checkin time
中,它的值为Bill Number
29。
示例2:红色方块
Time
的第一个值为16:08:40
,我已粘贴到Checkin time
列中,其帐单号为1
,依此类推。
我没有任何方程式或公式就手动进行了操作。但是问题是数据是1个月,我大约需要计算6个月。
我尝试过的事情
来自@girlvsdata给我的公式
我尝试过
=MINIFS(B:B,E:E,E3)
我确实获得了第一个两个唯一帐单号的数据,但是将论坛进一步拉下后,我得到了不同的新帐单号时间。 +,因为票据编号在下排重复多次,因此我得到了与第一票据编号相同的重复票据编号。 这是我尝试过之后的屏幕截图 Screenshot_after
答案 0 :(得分:0)
如果您拥有最新版本的Excel,则可以使用=MINIFS()
查找该特定Time
(Bill Number
)的前一个Checkin time
。
在单元格D3
中输入以下公式:
=MINIFS(B:B,E:E,E3)
请确保该单元格具有Time
格式,以便正确显示。
答案 1 :(得分:0)
因此,如果我阅读的是正确的字词,那么您想将“签到时间”与帐单号的“时间”首次出现相对应吗?
您应该在D2
中使用公式,例如:
=INDEX($B$2:$B$1000,MATCH(TRUE,EXACT(E2,$E$2:$E$1000),0))
使用 Ctrl + Shift + Enter 确认并向下拖动公式
注意:将$B$1000
和$E$1000
更改为工作表结尾的行号
编辑1
这是一个如何工作的示例;
编辑2
在您的数据中,这对我有用:
答案 2 :(得分:0)
我提出以下建议:
=IF(AND(E3=E1,C3=C1,A3=A1),D1,MIN(OFFSET(E3,0,-3,MATCH(0,(E3:E$18=E3)*(C3:C$18=C3)*(A3:A$18=A3),0)-1,1)))
它有点长,可能需要一段时间才能计算出是否有很多行。上面的公式将作为数组公式输入,即复制/键入公式,然后使用Ctrl + Shift + Enter代替Enter。如果操作正确,excel将在其周围插入{}
,如以下屏幕截图所示:
相应地更改范围E3:E$18
,C3:C$18
和A3:A$18
,请注意,它们都位于表结尾下方的一行(否则,您将得到{ {1}}(最后一张帐单)。