![計算多列的唯一組合數](https://rvso.com/image/1416704/%E8%A8%88%E7%AE%97%E5%A4%9A%E5%88%97%E7%9A%84%E5%94%AF%E4%B8%80%E7%B5%84%E5%90%88%E6%95%B8.png)
我有一個 Excel 文件,其中包含 5 列、272,000 行資料。數據如下:
A B C D E
1 1 1 1 1
1 0 1 0 1
1 1 1 1 1
1 0 0 0 0
1 0 1 0 1
1 0 1 1 1
1 1 1 1 1
1 0 1 0 1
1 0 1 1 1
1 1 1 1 1
1 1 1 0 1
1 0 1 1 1
1 0 0 1 1
0 1 0 0 0
1 0 0 0 1
0 0 0 0 1
1 1 1 1 1
1 1 1 0 1
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
1 1 1 1 0
1 0 0 0 0
1 1 1 0 1
0 0 0 0 1
1 0 0 0 1
1 1 1 1 1
1 1 0 1 1
1 1 1 1 1
我知道獨特的組合是什麼:
A
AE
AB
BE
B
AC
ABC
BC
C
ACE
ABCE
BCE
CE
ACDE
ABCDE
BCDE
CDE
ADE
ABDE
BDE
DE
AD
ABD
BD
D
如何計算每個組合出現的次數?我嘗試使用嵌套的“IF”函數以及 count if 函數。這種情況我能做什麼呢。
答案1
有多種方法可以回答這個問題,我認為獲得組合的簡單方法是:
備份目前資料以防萬一,因為所有 A、B、C、D 等總是位於同一列中,所以您基本上可以將所有這些數字轉換為字母(如果 0 則有「」)。然後有一個單元格,基本上將所有字母串加在一起,這樣你就得到了組合。
如果可以,那麼可以使用 COUNTIF 函數來獲得總計。
因此,要將數字轉換為字母,請對每個字母執行此操作,使用 IF 函數,例如: =IF(A1=1,"A","")
當你的欄位是字母時,你可以使用 =CONCATENATE 來取得組合,如果你的字母資料是 A、B、C、D 欄位: =CONCATENATE(A1,B1,C1,D1)
最後,使用 COUNTIF 函數來「計算」我們使用 CONCATENATE 函數建立的範圍內存在的唯一組合。
答案2
我已經想出了一個方法來做到這一點。請在以下位置找到範例文件文件連結這裡。
步驟1:我實際上所做的是找出32種可能的組合。
步驟 2:將二進位檔案連接成一個字串。
步驟 3:將二進位轉換為十六進位 - 僅供參考。如果您想知道輸入這些 1 和 0 時所做的所有組合都是唯一的。
步驟 4:命名每個二進位字串 - 正如您在上面「符號」欄中的註釋中所描述的那樣。
步驟 5:實施資料透視表以根據需要計算唯一值。
您所需要做的就是從「第3步」開始。對於符號,VLOOKUP
從我的文件中執行 a 並按原樣分配符號。
我希望這能解決這個問題。