2014-11-02 74 views
0

我有一些數量不同的格式的大量日期列表。我想要做的是擺脫任何超過第一個空白字符的東西,無論是空格,換行符,製表符等等。我找到了很多答案,詳細說明了如何擺脫空白,但沒有太多關於刪除子空間基於空白的位置。示例如下:在Excel中刪除空格後的所有內容

BEFORE     AFTER 
37893     37893 
37801     37801 
37710     37710 
37620     37620 
36980     36980 
06/30/2014\nUSD   06/30/2014 
03/31/2014\nUSD   03/31/2014 
12/31/2013\nUSD   12/31/2013 
09/30/2013\nUSD   09/30/2013 
06/30/2013\nUSD   06/30/2013 
03/31/2013\nUSD   03/31/2013 
12/31/2012\nUSD   12/31/2012 
etc... 

回答

2

對於示例數據,這就夠了:

LEFT(A1,10) 

要爲日期的格式,你可以這樣做:

=TEXT(LEFT(A1,10),"mm/dd/yyyy") 
2

以下是可能的配方解決方案。

=IFERROR(--REPLACE(A1, IFERROR(FIND(CHAR(10), A1),LEN(A1)+1),LEN(A1), ""),REPLACE(A1, IFERROR(FIND(CHAR(10), A1),LEN(A1)+1),LEN(A1), ""))

這似乎過於複雜,但它保護反對,可能會或可能不會有一個換行符以及試圖數字轉換爲數字和日期的日期,同時保留文本的單元格。您將不得不格式化單元格以更改返回值,如至6/30/2014

+1

這是一個很好的通用的答案,即使它比OP需要。請注意,如果有一個空格而不是換行符,這是一項要求,它將無法工作。這將使公式更加令人毛骨悚然。 – 2014-11-02 15:32:44

+1

我用來避免FIND錯誤的一個技巧是追加搜索字符串,如下所示:'= FIND(「x」,A1&「x」)'。這相當於'= IFERROR(FIND(「x」,A1),LEN(A1)+1)'。但是,這不會縮短你的代碼,因爲'x'是'CHAR(10)'。 – 2014-11-02 15:40:07

+0

+1 @RickHitchcock - 提出了一個很好的觀點並提出了一個質量修改 – Jeeped 2014-11-02 16:17:53

相關問題