2014-09-24 30 views
0

這是我的數據源 Data Source比賽日的月和年數據源,並返回登錄時間

這是我的excel表 Excel Sheet

我想匹配以下:

A5 Excel數據源'Staff_first_name'列A

A2 excel表到數據源'年'B列

在excel工作表中列d中的數據源「月」

D4上在列E中的excel表到數據源「日」 B2

一旦所有這些都匹配欲在D5中顯示來自數據源的「Time In」,但僅顯示當天的最早或第一次(因爲每天可能有多個記錄)

+0

你能把這個餵給SQL嗎?因爲您標記了SQL – mhn 2014-09-24 10:34:38

+0

嗨對不起,並不意味着標記SQL。不從ms訪問數據庫讀取數據源。 – lukehemingway 2014-09-24 10:47:38

+0

你試過了數據透視表嗎? – pnuts 2014-09-24 12:53:13

回答

0

我自己工作過:​​)這是它是如何完成的。

=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]]) 
1

您可以使用數組公式(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 ......唯一的問題是,它可能會很慢,這取決於您的數據大小和員工數量(即輸入數組公式的數量!)

相關問題