EXCEL函数求助,表1是订单完成的时间,表2是员工班次时间,要用函数公式将员工姓名匹配到表1上,谢谢!
发布网友
发布时间:2023-03-19 14:33
我来回答
共3个回答
热心网友
时间:2023-11-18 00:13
得使用代码处理才好。
热心网友
时间:2023-11-18 00:13
前提:一个时间段只有一人上班,C3=lookup(1,0/((sheet2!e$3:e$6<=a3)*(sheet2!f$3:f$6>=a3)),sheet2!g$3:g$6),同时按SHIFT+CTRL+回车,形成数组公式后下拉自动填充。
热心网友
时间:2023-11-18 00:14
假设表1中的订单完成时间是在A列,表2中的员工姓名在B列,班次开始时间在C列,班次结束时间在D列,您可以使用以下公式来匹配员工姓名:
Copy
=INDEX(B:B, MATCH(1, (A2>=C:C)*(A2<=D:D), 0))
这是一个数组公式,因此在输入完公式后,需要使用Ctrl + Shift + Enter键将其确认为数组公式。
该公式的作用是,首先使用数组公式(A2>=C:C)*(A2<=D:D)在表2中查找订单完成时间所在的行。这将返回一个由0和1组成的数组,其中1表示订单完成时间在班次时间范围内,0表示不在。然后使用MATCH函数在该数组中查找值为1的行号。最后使用INDEX函数返回该行对应的员工姓名。
请注意,在使用该公式之前,您需要确保表2中的班次时间是按照时间顺序排列的。