2016-03-03 112 views
0

我有一個數據集,其中一列代表以下格式的產品到期日期:1M,2M,1Y,2Y,1W,2W,1D,2D。我想在Excel中根據這些日期對我的數據進行排序,但是我以非常低效的方式進行處理,通過在幾天內表達所有內容,然後根據我創建的Days_column對數據進行排序。有沒有更好的方法來處理這類數據? enter image description here在Excel中對字母數字日期排序

+0

你能舉一個約會的例子嗎? – dev1998

+0

我們是用內建的excel函數還是vba來做到這一點? –

+0

例如,我有一個數據集,其中包含我在2015/03/01購買的五種產品,其有效期爲:1M,2M,1Y,3D,2W。我想根據截止日期對我購買的產品進行分類。 – Egodym

回答

0

我想我對此有所瞭解。下面是最終結果的圖片: enter image description here

我發現了一些良好的信息在這裏:https://support.office.com/en-us/article/Add-or-subtract-dates-b83768f5-f695-4311-98b1-757345f7e926#bm6

我把這個D2並複製下來:=LEFT(C2,LEN(C2)-1)。在單元格E2中放入=RIGHT(C2,1),並將其全部複製下來。在F2我有=IF(E2="Y",DATE(YEAR(A2)+D2,MONTH(A2),DAY(A2)),IF(E2="M",EDATE(A2,D2),IF(E2="D",A2+D2,IF(E2="W",A2+(D2*7),"x"))))

備註:添加月份是根據即將到來的月份中的天數計算的,並不總是等於30.請注意,1個月添加到2016年1月31日將使您在2/29/2016。增加年份的方式也是一樣的,你不必擔心閏年會讓你失望。

幾周來,我用了幾周乘以7,然後只是將這些天添加到採購日期。

0

則可以將到期分爲兩列 - Expiry_number即持續時間或到期的數字部分,並Expiry_unit即男,d,Y.您可以分割使用此功能,例如您的數字列:

=LEFT(D3, LEN(D3)-1) 

其中D3即將到期。然後你的單位列: - 數字字母順序上Expiry_unit(如湊巧長字母d,M,Y的持續時間單位增加),然後

=Right(D3, 1) 

然後你就可以在兩個層面上對數據進行排序在Expiry_number