如图所示,根据每个产品的生产日期和保质期,计算出产品有效期。
本实例的难度在于保质期不是规范的数字,而且有年和月两种形式。下面简单分析一下IF这部分的思路。
RIGHT(C2,1)="年"这部分的作用是使用RIGHT函数将C列单元格最右边一个字提取出来,判断保质期按年计算还是按月计算。如果是年的话,就用LEFT将年数提取出来再乘以12转为月数,也就是LEFT(C2,1)*12。
(注:这个思路是考虑到正常情况下保质期不会有超过10年的情况,所以提取最左边的1位就是年份,如果年份有两位数的,就需要换其他思路了。)
如果不是按年计算的,就需要将月数提取出来。提取月数的思路有很多,本例使用了替换函数SUBSTITUTE,将单元格中的“个月”二字替换为空(相当于删除)。用SUBSTITUTE函数得到的值是文本型的,所以需在后面*1将文本数字转为数值。
最后再用EDATE函数计算出产品的保质期。