Note: The other languages of the website are Google-translated. Back to English

在 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選項卡)
按評論排序
留言 (0)
還沒有評分。 成為第一位評論!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護