比赛日月和年到数据源并返回login时间
这是我的数据源
这是我的Excel表格
我想匹配以下内容:
将Excel中的A5添加到A列中的数据源“Staff_first_name”中
Excel表格中的A2到B列中的数据源“Year”
Excel表格中的B2到D列中的数据源“月”
Excel中的D4到E列中的数据源“日”
一旦所有这些都匹配,我想在D5中显示来自数据源的“Time In”,但只显示当天的最早或第一次(因为每天可能有多个logging)
你可以使用数组公式( Ctrl + Shift + Enter ):
=MIN(IF((Sheet1!$A$2:$A$38=Sheet2!$A5)*(Sheet1!$D$2:$D$38=Sheet2!$A$2)*(Sheet1!$B$2:$B$38=Sheet2!$B$2)*(Sheet1!$E$2:$E$38=Sheet2!D$4),Sheet1!$C$2:$C$38,""))
其中Sheet1
是您的数据源(在此示例中为第2到第38行), Sheet2
是您的摘要工作表。
它使用乘法的等式做一个基于AND
的数组,然后返回MIN
时间,如果他们匹配…唯一的问题是,它可能是非常慢,取决于你的数据的大小和员工数量(即数组公式进入!)
我自己工作:)这是怎么做的。
=IFNA(INDEX(Table_Entry_Sign.accde, MATCH(1, ([@Firstname]=Table_Entry_Sign.accde[Staff_first_name]) *(Table3[Year]=Table_Entry_Sign.accde[Year])*(Table3[Month]=Table_Entry_Sign.accde[Month])* (1=Table_Entry_Sign.accde[Day]),0), 3),[@[Start Time]])