Excel:根據條件計算範圍內唯一/不同行的數量

Excel:根據條件計算範圍內唯一/不同行的數量

我有一張 Excel 工作表,其中包含:

  • A 欄:週數
  • B 欄:日期(時間表條目)

我需要知道每週工作天數。所以我需要每周唯一日期條目的數量。

我找到了在固定範圍內處理此問題的公式(都是數組作為非數組),但我希望將結果放在另一列中(每週數字)。

下面範例資料集的結果將是(冒號只是為了清楚起見):

14: 2 
15: 3 
17: 6 
20: 2 
21: 3 

如果這是來源資料:

14: 4/04/2012
14: 4/04/2012
15: 10/04/2012
15: 10/04/2012
15: 11/04/2012
17: 26/04/2012
17: 26/04/2012
17: 26/04/2012
17: 26/04/2012
17: 27/04/2012
17: 27/04/2012
20: 14/05/2012
20: 14/05/2012
21: 23/05/2012
21: 23/05/2012
21: 25/05/2012

答案1

若要計算條目數,請=countif(A:B,D1)假設您的週數位於儲存格 D1 中,條目清單位於 A 列和 B 列。

另一種選擇是建立一個資料透視表,將週數作為行標籤,將條目數作為資料。這將提供一個可以快速更新的良好摘要。

答案2

完全可以用公式來完成。它需要一點間接尋址和一個(但為了清楚起見,我將其設為兩個)沿著原始資料的獨立工作列,以及結果表中的三個額外列:

我假設實際資料從第 3 行開始,以允許一些標題。我將用於;參數分隔,這不是美國語言環境的預設。我不會假設日期已排序。有了這個假設,解決方案就會更簡單。

  1. 儲存格 H2(輸入有多少行):=COUNT(A3:A1048576)
  2. 儲存格 C3(動態查找範圍):無
  3. 細胞 C4:C1000:=ADDRESS(ROW(A$3);COLUMN(A$3)) & ":" & ADDRESS(ROW(A3);COLUMN(A3))
  4. 儲存格 D3(唯一):TRUE
  5. 單元格 D4:D1000:=COUNTIF(INDIRECT(C4);A4)=0
  6. 儲存格 E3(唯一條目編號):1
  7. 電池 E4:E1000:=IF(D4;E3+1;E3)
  8. 單元格 I2(找到了多少個獨特的單元格):=OFFSET(E3;H2-1;0)
  9. 單元 J2(工作日範圍):=ADDRESS(ROW(A3);COLUMN(A3);4) & ":" & ADDRESS(ROW(A3)-1+$H$2;COLUMN(A3);4)
  10. 儲存格 K2(獨特工作日範圍的數量):=ADDRESS(ROW(E3);COLUMN(E3);4) & ":" & ADDRESS(ROW(E3)-1+$H$2;COLUMN(E3);4)
  11. 單元格 H5(計數器):1
  12. 細胞 H6:H100=H5+1
  13. 儲存格 I5:I100(位置):=MATCH(H5;INDIRECT($K$2);0)
  14. 單元格 J5:J100(工作日):=OFFSET($A$3;I5-1;0)
  15. 電池 K5:K100(計數):=COUNTIF(INDIRECT($J$2);J5)

最終結果在 K5:K100 範圍內。

請注意,雖然我使用間接公式,但如果您在任意位置插入列或刪除 G:G 的 F:F 列,則該解決方案將起作用。您也可以移動儲存格,只要將包含資料的列放在一起即可。

將所有內容保存在一張工作表中非常重要。如果您堅持將表 H4:K100 移至另一個工作表中,則應修改儲存格 J2 和 K2 中的位址以包含工作表名稱。

在此輸入影像描述

答案3

資料透視表可能是最簡單的

例子

相關內容