2017-04-04 73 views
0

下面的示例電子表格顯示了兩列。 列A包含顯示由兩個灰色行輪廓線表示的兩個不同的分組。 B列包含每個組的「分配模塊」。計算多個範圍內重複值的百分比

在列C中,我想指出每個組中重複的「分配模塊」的百分比(注意幾個垂直合併的單元格)。

「分配模塊」的數量因組而異。因此我不能使用一個靜態範圍。

任何人都可以建議我是如何計算每組重複「分配模塊」的數量?

謝謝!

EG

細胞C3(合併C3-8)= 83%

細胞C10(合併C10-13)= 100%

enter image description here

+0

如果組有:實施例1,實施例2,實施例2,實施例1,實施例2.如果%是基於40%的實施例1(爲第一)或60%,基於實施例2的存在最多? – Michael

+0

@邁克爾我會認爲100%,因爲所有的模塊都是重複的。 –

+0

謝謝。此外,我假設你想要一個單一的公式,你可以使用每個組,無論組中的行數。如果您沒有專用的列可以在每一行中重複組編號,這有點麻煩。在我的解決方案中,我需要搜索B列中的下一行空白行。我可以假設在任何組中都不會有超過100行的行嗎? – Michael

回答

1

這是一個陣列式推移到這一點C3。它搜索列A的下100行,以查找下一個組的起始位置;這用於確定當前組的範圍。最後一組需要列A的下一行中的虛擬值來標識最後一組的範圍。

無法將數組公式合併到單元格中,因此您需要首先取消合併列C中的所有單元格。然後在C3輸入公式,並通過按CTRL+SHIFT+ENTER,而不是僅僅ENTER保存:

=1-SUM((COUNTIF(OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1),OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1))=1)*1)/(SUM((OFFSET(B3,0,0,MATCH("*",A3:A101,0)-1)<>0)*1)) 

然後,您可以只複製整個單元格,並將其粘貼旁邊每個組的第一行。如果需要,您可以將列C中的單元格重新組合。

Formula

+0

謝謝你的回答。我擔心我的合併單元格會使這非常困難。 E.g-在我上面的例子中 單元B10與B11合併 - 因此B11被看作是一個空單元 單元B12與B13合併 - 因此B13也被視爲一個空單元。 正因爲如此,您的公式會在列B中選取空的合併單元格,因此爲組3返回0%的值 – Ledgey1101

+0

合併單元格是最差的。現在,想出只有一個可以複製和粘貼每個組的配方是非常困難的。你是否需要一個可以複製和粘貼的公式,或者你是否樂意爲每個組手動更新範圍?我已經更新了處理B列中的合併單元格的公式,並且您可以爲每個組複製和粘貼公式,但它需要在列A末尾有一個虛擬值來標識最後一組的結尾。 – Michael

+0

這是非常好的。正是我在找什麼。我沒有將細胞取出來 - 通過所有的細胞拉動配方,每次都給我正確的結果。我所需要做的就是讓細胞重新保持最高價值。非常感謝你 – Ledgey1101

1

可以在組使用此1 C列%重複:

=COUNTIF(B3:B8,B3:B8)/ROWS(B3:B8) 

而這對於組2:

=COUNTIF(B10:B11,B10:B11)/ROWS(B10:B11) 

或者,你可以定義每個組範圍內定義的名稱:

=COUNTIF(Group1,Group1)/ROWS(Group1) 


=COUNTIF(Group2,Group2)/ROWS(Group2) 

enter image description here

編輯:

好吧,我相信這將始終返回的百分比無論順序如何,都有重複的組。

=1-SUMPRODUCT(ROUNDDOWN(1/COUNTIF(B3:B8,B3:B8),0))/ROWS(B3:B8) 

enter image description here

+0

謝謝你的回答。我擔心這並不會像我預期的那樣回報所有結果。我相信這是由於我的合併單元格... 例如 - 在我上面的示例中 單元格B10與B11合併 - 因此B11被視爲空單元格 單元格B12與B13合併 - 因此B13被視爲空細胞也。 因爲這個使用公式 - 這返回一個值50% 是否有這個公式不能考慮任何空白單元格?有任何想法嗎? – Ledgey1101

+0

我發現如果我將公式更改爲: = COUNTIF(B3:B8,B3:B8)/ COUNTA(B3:B8) - 它只會計算包含信息的單元格。 不幸的是,現在我認爲公式的第一部分沒有返回我需要的結果。 我看到的情況是= COUNTIF(B3:B8,B3:B8)正在檢查B3中單元格的重複次數。不是「有多少個單元(總數)是重複的。」 – Ledgey1101

+0

好的,我想出了一個更好的解決方案。 –