2011-06-01 77 views
0

首先,我想說我在Excel上的知識是相當有限的,而且我正在學習,所以隨時隨地輸入/更正任何內容。Microsoft Excel 2003 | IF語句

我有一組的格式化信息如下:

0.7 9.0 598287  
0.7 10.0 598288  
0.9 36.0 9186264   
4.5 298.0 4071637  
4.3 287.0 13896286  
0.9 18.0 4011248  

我需要創建一個公式,即取數據的每個peice的,第一十進制數,第二,和數字的最終串。我創造了一個非常長 - 看似很好的陳述,但它並不完全按照我的需要進行。我的公式,並輸出如下

=IF(LEN(J194)=14,RIGHT(J194,6),IF(LEN(J194)=15,RIGHT(J194,6),IF(LEN(J194)=16,RIGHT(J194,6),IF(LEN(J194)=17,RIGHT(J194,7),IF(LEN(J194)=18,RIGHT(J194,8),RIGHT(J194,8)))))) 

    **DATA**    **OUTPUT**  **LENGTH** 

0.7 9.0 598287   598287    14 
0.7 10.0 598288   598288    15 
0.9 36.0 9186264  186264    16 
4.5 298.0 4071637  4071637    17 
4.3 287.0 13896286  13896286    18 
0.9 18.0 4011248  011248    16 

最後一列是字符串的長度,你可以看到 - 雖然字符串的長度是相同的,我得到不同的結果,因爲前述的字符是短(1位數字,2位數字和3位數字)

我需要的公式是因爲我的字符串的長度在14-18個字符範圍內,無論整個單元格長度如何,都取最後的數字。我還通過= CONCATENATE在這些數字的前面添加了一個E,所以我不能超支。

如果需要克隆,我會很樂意提出有關我的問題的任何問題。

感謝您花時間閱讀我的文章!

+0

目前還不清楚您期望什麼樣的輸出?你能舉幾個例子嗎? – 2011-06-01 19:50:05

+0

當然 - 我需要輸出是DATA字符串中的最後一個數字,所以第二個十進制數字後的數字。下面是一個例子: – Colin 2011-06-01 20:01:38

+0

0.7 9.0 598287 ----> 598287 0.9 18.0 4011248 ----> 4011248 等等...... – Colin 2011-06-01 20:02:45

回答

1
=RIGHT(J194,LEN(J194)-FIND(" ",J194,FIND(" ",J194)+1)) 
+0

是否可以半解釋這一點?或者陳述我必須做出的改變?我從來沒有用過FIND。 – Colin 2011-06-01 19:55:11

+0

但是,它的作品WONDERS。給我一分鐘檢查它。 – Colin 2011-06-01 19:56:43

+0

啊哈! eggplant_parm對我使用了類似的技巧......第二個「查找」定位第一個空間,然後向該位置添加一個。我們用它作爲第二個「Find」的輸入來定位第二個空間的索引。然後從總長度中減去此值以獲得您要查找的內容。需要注意的一個方面是,如果輸入值中存在更多(或更少)空格的行可能會發生錯誤。 – 2011-06-01 20:01:11