2016-08-23 50 views
0

我有公司員工記錄的工作時間列表。我正在尋找一種可以計算每位員工記錄的唯一日期數量的函數,如下圖所示。如果匹配單元格,從日誌列表中計算唯一日期

Emplyee  Date   Employee Unique logged dates 
John  2016-08-20  John  3 
John  2016-08-21  Fredrik  5 
John  2016-08-22  Josefine 2 
Fredrik  2016-08-20   
Fredrik  2016-08-21   
Fredrik  2016-08-22   
Fredrik  2016-08-23   
Fredrik  2016-08-24   
Josefine 2016-08-20   
Josefine 2016-08-21  

Here's an example of the list

有了這個功能,我可以算獨特的日期沒有關於員工的列表中的號碼,但。因此,要拿出「唯一登錄日期」

=SUMPRODUCT((B2:B11<>"")/COUNTIF(B2:B11,B2:B11)) 
+0

您可以發佈該表爲文本太? (在你原來的文章中,並使用格式化){{}') – BruceWayne

+1

日期總是唯一的(每個名字節),就像你的例子中那樣?如果是這樣,你可以做一個COUNTIF公式,並在列A中取代日期。 – tigeravatar

+0

@BruceWayne,現在你有桌子了。你的功能幾乎可以工作,但是當我擴展它的時候它並沒有顯示正確的數字。放鬆幾天。但是,真的很欣賞另一個嘗試。 Thx – hank035

回答

0

你靠近,我覺得這應該爲你工作(我假設你的A列有姓名,B有日期,D2是一個函數名):

=RoundUp(SumProduct((($A$2:$A$11=D2))/Countif($B$2:$B$11,$B$2:$B$11)),0)

,並作爲數組輸入(與CTRL + SHIFT + Enter

+0

正如我之前寫的那樣,你的功能幾乎就在那裏,但是當放大時結果會低於實際值。 – hank035

0

使用您提供的例子,在E2單元格並複製下來就是這個陣列公式:

=SUM(IF(FREQUENCY(IF($A$2:$A$100=D2,IF($B$2:$B$100<>"",MATCH($B$2:$B$100,$B$2:$B$100,0))),ROW($A$2:$A$100)-ROW($A$2)+1),1)) 

注意數組公式必須按Ctrl + Shift鍵進行確認 + 輸入並不僅僅是輸入

+0

令人驚歎!完美的作品。非常感謝。 – hank035