Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
立即註冊  \/ 
x

or

在 Excel 中使用條件計算唯一值

要僅根據另一列中的指定條件計算唯一值,您可以應用基於 SUM、FREQUENCY、MATCH 和 ROW 函數的數組公式。 此分步指南可幫助您了解最令人傷腦筋的公式用法。


如何使用 Excel 中的條件計算唯一值?

如下面的產品表所示,同一店鋪在不同日期出售了一些重複產品,現在,我想獲得從店鋪 A 出售的產品的唯一計數,您可以應用以下公式。

通用公式

{=SUM(--(FREQUENCY(IF(range=criteria,MATCH(vals,vals,0)),ROW(vals)-ROW(vals.firstcell)+1)>0))}

參數

範圍:單元格範圍包含符合條件的值;
標準:您要基於的唯一值計數標準;
華爾茲舞:要從中計算唯一值的單元格範圍;
vals.firstcell:要從中計算唯一值的範圍的第一個單元格。

注意:此公式必須作為數組公式輸入。 應用公式後,如果公式周圍有大括號,則成功創建數組公式。

如何使用這些公式?

1.選擇一個空白單元格放置結果。

2.在其中輸入以下公式,然後按 按Ctrl + 轉移 + Enter 同時獲得結果。

=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))

筆記:在此公式中,E3:E16 是包含符合條件的值的範圍,H3 包含條件,D3:D16 是包含要計算的唯一值的範圍,D3 是 D3:D16 的第一個單元格。 您可以根據需要更改它們。

這個公式如何運作?

{=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))}

  • IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)):
1) E3:E16=H3: 這裡檢查值 A 是否存在於 E3:E16 範圍內,如果找到則返回 TRUE,否則返回 FALSE。 你會得到一個這樣的數組 {TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;}。
2) 比賽(D3:D16,D3:D16,0):MATCH函數獲取D3:D16範圍內每一項的第一個位置,並返回這樣的數組{1;2;3;2;1;1;3;2;1;1;1;2;3; 2}。
  • IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;},{1;2;3;2;1;1;3;2;1;1;1;2;3;2}):現在對於數組 1 中的每個 TRUE 值,我們將獲得數組 2 中的相應位置,對於 FALSE,我們將獲得 FALSE。 在這裡,您將獲得一個新數組為 {1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE}。
  • 行(D3:D16)-行(D3)+1: 這裡ROW函數返回引用D3:D16和D3的行號,得到{3;4;5;6;7;8;9;10;11;12;13;14;15;16} -{3}+1。
  • 數組中的每個數字減去數字 3,然後加 1,最後返回 {1;2;3;4;5;6;7;8;9;10;11;12;13;14}。
  • FREQUENCY({1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):這裡 FREQUENCY 函數返回給定數組中每個數字的頻率:{2;1;2;0;0;0;0;0;0;0;0;0;0;0}。
  • =SUM(--({2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0)):
1) {2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0:數組中的每個數字都與0比較,如果大於0則返回TRUE,否則返回FALSE。 你會得到一個像這樣的真假數組 {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE};
2) --{真;真;真;假;假;假;假;假;假;假;假;假;假;假}:這兩個減號將“TRUE”轉換為 1,將“FALSE”轉換為 0。這裡您將得到一個新數組為{1;1;1;0;0;0;0;0;0;0;0;0 ;0;0}。
3) SUM{1;1;1;0;0;0;0;0;0;0;0;0;0;0}:SUM 函數對數組中的所有數字求和並返回最終結果為 3。

相關功能

Excel SUM 函數
Excel SUM 函數添加值

Excel 頻率函數
Excel FREQUENCY 函數計算值在一個值範圍內出現的頻率,然後返回一個垂直的數字數組。

Excel IF功能
Excel IF函數根據比較結果執行簡單的邏輯測試,如果結果為TRUE,則返回一個值,如果結果為FALSE,則返回另一個值。

Excel MATCH功能
Excel MATCH 函數在單元格範圍內搜索特定值,並返回該值的相對位置。

Excel ROW功能
Excel ROW函數返回引用的行號。


相關公式

計算過濾列表中可見行的數量
本教程說明如何使用 SUBTOTAL 函數計算 Excel 中篩選列表中的可見行數。

計算範圍內的唯一值
本教程介紹瞭如何使用指定的公式在 Excel 中的列表中僅計算重複項中的唯一值。

使用條件計算可見行
本教程提供了詳細的步驟來幫助您使用條件計算可見行。

在非連續範圍上使用 COUNTIF
本分步指南演示瞭如何在 Excel 中的非連續區域上使用 countif 函數。


最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

您想快速而完美地完成您的日常工作嗎? Kutools for Excel 帶來了 300 個強大的高級功能(合併工作簿、按顏色求和、拆分單元格內容、轉換日期等...)並為您節省 80% 的時間。

  • 專為 1500 個工作場景而設計,幫助您解決 80% 的 Excel 問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.