跳到主要內容

在 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 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項  |  刪除空白行  |  合併列或儲存格而不遺失數據  |  沒有公式的回合 ...
超VLookup: 多重標準  |  多重價值  |  跨多頁  |  模糊查詢...
副詞。 下拉清單: 簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  將列與 選擇相同和不同的單元格 ...
特色功能: 網格焦點  |  設計圖  |  大方程式酒吧  |  工作簿和工作表管理器 | 資源庫 (自動文字)  |  日期選擇器  |  合併工作表  |  加密/解密單元格  |  按清單發送電子郵件  |  超級濾鏡  |  特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符 ...)  |  50+ 圖表 類型 (甘特圖 ...)  |  40+ 實用 公式 (根據生日計算年齡 ...)  |  19 插入 工具 (插入二維碼, 從路徑插入圖片 ...)  |  12 轉化 工具 (數字到單詞, 貨幣兌換 ...)  |  7 合併與拆分 工具 (高級合併行, 拆分 Excel 儲存格 ...)  |  ... 和更多

Kutools for Excel 擁有超過 300 個功能, 確保只需點擊一下即可獲得您所需要的...

產品描述


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

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Looking for the same formula but with one more criteria... I tried adding AND() after the IF() to have my two criterias but it didn't work. Do you have a solution?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations