2015-11-19 50 views
0

軟件:Excel中的Mac 2011是否可以計算單元格內唯一字符的數量?使用

我有一個包含字母數字串一列單元格,我期待計數的出現在每個小區唯一字符數。我想擁有它的功能,如下圖所示:

333333333 = 1; BEE = 2; DOG = 3; BREED = 4; APPLEPEOPLE = 5; ABC123 = 6

因爲我的工作數據,我不需要空間中包含或字符計數排除或任何區別是由大寫或小寫字符組成。

感謝您的幫助。

+0

這是,但它的公式會太繁瑣和大。最好轉向VBA。公式明智的如果您的左列沒有很長的條目,您可以將一些列專用於保存第一列的1個符號,然後清除包含展開符號的行中的副本並計算一行中有多少個單元格不爲空。或者,您可以匹配您可能擁有的每個符號與每個單元格的內容。如果它只是英文字母和數字,35匹配每個單元格。 – helena4

回答

3

試試這個:

=SUM(IF((LEN(G13)-LEN(SUBSTITUTE(UPPER(G13),{"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9","0"},""))),1,0)) 

如前所述這是相當長的。這將計算英文字母數字字符的上限和下限,但正如helena4指出的那樣,您需要將其他符號添加到公式中的數組中,否則它們將不會被計數。

顯然,將G13引用更改爲具有所需文本的單元格以進行計數。

如果你想有一個UDF使用此:

Function Uniquecount(Rng As Range) As Integer 
Dim cUnique As Collection 
Dim i As Integer 
Set cUnique = New Collection 

On Error Resume Next 
For i = 1 To Len(Rng) 
    cUnique.Add CStr(Mid(Rng, i, 1)), CStr(Mid(Rng, i, 1)) 
Next i 
On Error GoTo 0 

Uniquecount = cUnique.Count 
End Function 

把它連接到工作簿中的模塊中。然後像任何其他公式一樣稱呼它:=Uniquecount(G13)

這將包括空格在內的所有數據。

+0

純粹的光彩。 –

+0

甚至更​​長的時間,因爲你必須包括打破你的概念的小寫字母,這是希望他不使用任何其他符號或語言。如果你確實堅持有一個公式,我可以讓它爲你工作... – helena4

+0

@ helena4隨時發佈你自己的,如果它更好,更簡潔我會鼓勵OP選擇你的。我不貪心,並且很想學習新東西。 –

相關問題