2016-02-15 77 views
0

我試圖找到一種方法來獲取給定列中小數點後面的最大字符數。例如Excel在給定列中查找小數點後字符的最大長度

Max chars after decimal

我發現這得到一列中的最大長度(使用CTRL + SHIFT +輸入):

=MAX(LEN(A1:A5)) 

而這個公式小數點後獲得的字符數對於單個單元格:

=LEN(A1)-FIND(".",A1) 

但我需要將兩者合併爲一個公式,以便我不需要另一列數據。這可能沒有VBA?

編輯,我可能遇到的一個例子是99.999 vs 100.12,我需要區分它們並導致小數點後3個字符的長度。

+1

如果您的任何數據是公式的結果,您可能會得到一些令人驚訝的結果並需要使用VBA。否則,只要格式爲'General',您可以使用'= MAX(LEN(A1:A5)-FIND(「。」,A1:A5&「。」))'按住'ctrl + shift'同時擊中'輸入' –

+0

謝謝。這幾乎奏效。如果所有的值都是整數,它會返回-1,但我應該可以使用if來解決這個問題。 – user1424311

+1

只需在公式中加一個零:'= MAX(LEN(A1:A5)-FIND(「。」,A1:A5&「。」),0)'我會將其作爲答案發布。 –

回答

1

如果您的任何數據都是公式的結果,那麼您可能會得到一些令人驚訝的結果,並且需要使用VBA。否則,只要格式是通用,你可以使用

=MAX(LEN(A1:A5)-FIND(".",A1:A5&"."),0) 

證實按住CTRL + SHIFT同時按下回車鍵

1

您可以結合使用數組公式的一些原來的建議,以實現這一目標。在您所提供的示例中的公式是:

{=MAX(IFERROR(LEN(B1:B3)-FIND(".",B1:B3),0))} 

一些注意事項:

的「IFERROR」功能用於若爲0返回MAX功能「」在字符串中找不到

通過輸入文本「= MAX(IFERROR(LEN(B1:B3)-FIND(」。「,B1:B3),0))」可以將數組公式輸入到excel中公式欄和按Ctrl + Shift +輸入(在該點,大括號將出現)

應用此公式應一代產量以下結果爲您的樣品輸入:

Sample Results

相關問題