2016-03-03 108 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