E

【excel】一个从表名(sheet)中提取日期的思路

肉松 笔记 2022-04-03

  日常搬砖中经常有些按月编制的excel表格,我们一般将这个表(sheet)命名为【XXX表YYYY.MM】或者直接使用日期【YYYY.MM】,此时,如果表格中有与sheet名称相关的日期,我们可以构造一个公式,直接生成日期。

举个栗子:
  比如我们有一个表名称为【XXX表2022.04】,表中有个单元格是填表日期,日期值为当月最后一天【2022年4月30日】。下一个月复制这个表继续填报时,需要手动将复制后的日期改为【2022年5月31日】。

  这里我有一个思路,可以构造出一个公式,使用表名【XXX表2022.04】,自动生成日期【2022年4月30日】,如图:

20220403014531.png

20220403014618.png

下面抛出公式:
=DATE(LEFT(RIGHT(CELL("filename"),7),4),RIGHT(CELL("filename"),2)+1,0)

解释一下思路和用到的几个公式以及构思步骤:
  1.CELL()函数有一个参数"filename",返回当前工作表的完整路径,该路径为文本类型,最后7位【2022.04】正是我们需要的内容,如图:

20220403015720.png

  2.使用RIGHT(CELL("filename"),7)取出右边7个字符为【2022.04】,再使用LEFT()函数提取左边4个字符,得到【2022】,到此年份提取完成。

  3.使用RIGHT(CELL("filename"),2)取出右边7个字符为【04】得到月份。

  4.下面我们使用DATE()函数将年份与月份合成日期类型的数据,DATE()函数使用方法为DATE(YYYY,MM,DD),在这里先说明一个DATE()函数的特性,如果DD参数为0时,返回上月的最后一天,我们使用上面的年份表达式替代YYYY,月份表达式+1后替代MMDD0替代。

  5.这样就型成了=DATE(LEFT(RIGHT(CELL("filename"),7),4),RIGHT(CELL("filename"),2)+1,0)

  文本主要还是用到了字符串截取和日期组合,大家在使用中需要根据自己的表名灵活嵌套和配置,小伙伴们赶快试一下吧。


商业转载请联系博主取得许可,个人转载请注明出处。
本文链接:https://rousongs.com/1521.html

PREV
AMD Ryzen Master提示需要禁用基于虚拟化的安全性(VBS)的解决方案
NEXT
搞定win11的任务栏

评论(1)

发布评论
  1. 不错,经常做表说不定能用上。