這是我的數據源 比賽日的月和年數據源,並返回登錄時間
這是我的excel表
我想匹配以下:
A5 Excel數據源'Staff_first_name'列A
A2 excel表到數據源'年'B列
在excel工作表中列d中的數據源「月」
D4上在列E中的excel表到數據源「日」 B2
一旦所有這些都匹配欲在D5中顯示來自數據源的「Time In」,但僅顯示當天的最早或第一次(因爲每天可能有多個記錄)
這是我的數據源 比賽日的月和年數據源,並返回登錄時間
這是我的excel表
我想匹配以下:
A5 Excel數據源'Staff_first_name'列A
A2 excel表到數據源'年'B列
在excel工作表中列d中的數據源「月」
D4上在列E中的excel表到數據源「日」 B2
一旦所有這些都匹配欲在D5中顯示來自數據源的「Time In」,但僅顯示當天的最早或第一次(因爲每天可能有多個記錄)
我自己工作過:)這是它是如何完成的。
=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]])
您可以使用數組公式(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
......唯一的問題是,它可能會很慢,這取決於您的數據大小和員工數量(即輸入數組公式的數量!)
你能把這個餵給SQL嗎?因爲您標記了SQL – mhn 2014-09-24 10:34:38
嗨對不起,並不意味着標記SQL。不從ms訪問數據庫讀取數據源。 – lukehemingway 2014-09-24 10:47:38
你試過了數據透視表嗎? – pnuts 2014-09-24 12:53:13