清代文学家彭端淑的《为学一首示子侄》中有句非常经典的一句话:
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。

(图源 :pixabay)
我非常认同这句话。但是生活中,我们往往因为畏难而不愿意去做一些事情,然后越拖越久,越觉得做这事的难度如同一座大山已经难以逾越!
我手头就有这样一件事,每周收集一些数据,然后进行加工处理。我采用Excel来做这件事,历经N年的迭代,我把Excel的表格完善的非常好,只需输入最基本的几项数据,Excel会把一切都处理好,省了我大把的时间。
不过最近一段时间,由于一些乱七八糟的原因,每周处理已经没有必要了,完全是浪费时间和经历,或许改成很长一段时间(比如两周、一个月、或者更长的周期)才是较为合理的。
但是我用N年时间完善的Excel表格都是以“周”为单位的,所有的公式、计算都是按着七天来处理,我觉得改动起来一定要麻烦死了。
为了避免改动,我“坚持”每周处理,但是在当前情况下,每周处理纯属浪费时间,这种坚持毫无意义。嗯,没错,我坚持做了N多周毫无意义的事情!

(图源 :pixabay)
于是N多周之后,我痛下决心,一定要改变现状,将表格中每周处理的逻辑,全部改变为支持任意周期灵活处理。
在我的表格中有这样的时间周期数据:

虽然有周期,但是实际上每次都是一整周的时间,有与没有完全没有区别。所以首先要做的事情就是从开始时间和结束时间来计算出天数。
让AI帮我研究一下如何计算,但发现它给的公式完全不可用,嗯,大概是我的周期弄得太复杂了,其实后边的时分秒完全没有意义,统统去掉。
然后再问AI,AI给了我一组公式(对应的单元格为B4):
=TEXTAFTER(B4, CHAR(10)) - TEXTBEFORE(B4, CHAR(10))
看起来逻辑很清晰,但是就是不好用,研究了一下,原来是我Excel版本过低,不支持这种写法:

很显然,我不能为了完成这点小事去升级Office到更新的版本,那就换种方法吧。让AI帮我找个通用的方法,AI给出如下公式:
=MID(B4, FIND(CHAR(10), B4)+1, 99) - LEFT(B4, FIND(CHAR(10), B4)-1)
这个倒是好用,问题是,和我期望的数值差了一天,比如1号到7号,明明是7天,但是它计算的是差值,那就变成了6天。这个很好解决,+1就搞定了。
所以最终计算天数的公式如下:
=MID(B4, FIND(CHAR(10), B4)+1, 99) - LEFT(B4, FIND(CHAR(10), B4)-1) + 1
有了,天数作为基础,我把原来每周的一些数量值都换成每天的,然后再*天数,就搞定这些数值的计算!
最后,经过一番测试,发现我这个任意周期的处理表格,完全能够按着我的预期工作,也就是说让我踌躇不前、畏惧不已的超级大难题,不过如此而已!
当然了,这其中AI功不可没。但其实也是懒惰了,不然直接查资料写公式,应该问题也不大。

(图源 :pixabay)
补充一个小花絮,我随便测试了几种年月日的写法,又随便写了几个日期计算间隔,可是遇到这组数据竟然失败了:
1/17/2026
2/30/2026
我百思不得其解,明明工作得好好的公式,咋就突然不工作了呢?
不过经过我一番探索,总算搞明白问题出在哪里!朋友们,你们能看出来哪里有问题嘛?
文章看着看着图片就突然看不到了😂最近HIVE的情绪有点大呀。
今天培训说,你要告诉Ai你用的是什么软件,比如说WPS 2024或者是微软的Excel 的版本,这样Ai会告诉你不一样的公式吧😊
程序员真好,可以为自己量身定制一些好用的程序,仰望大佬