2024-09
11

VBA里奇怪的筛选与粘贴

By xrspook @ 9:05:57 归类于: 烂日记

上周五我尝试纯粹用VBA的方式对某些数据先进行筛选,然后保留在粘贴板,又或者是把那些东西输出。前提是对某些数据进行筛选复制的时候,我首先必须得有个条件。理想很完美,现实很骨感。

VBA本身就自带一个叫做autofilter的函数,那个东西可以对选定的单元格区域进行筛选,你可以正向选择,正向的时候可以多选,可以把需要选择的内容组成一个数组,实现多选。你也可以进行反选,但反选的时候你却不能把反选的条件建立成一个数组进行同样的操作。这些都只是针对一次筛选而言的,如果同一片区域多次叠加筛选,第一次你筛选的是第1列,第二次筛选的是第2列,我感觉如果第三次和第四次你反选的是第2列估计也行,但关键是我需要选择的那个数据是一个作死的不规范有两行甚至三行的标题栏,但是autofilter这个函数默认输出的东西就含有标题栏。本来我的数据范围是不规范的,如果我一开始就把前面三个标题栏给去掉。那么在我进行autofilter的时候,就会从纯粹的数据开始,显然那就不是我想要的东西了。因为哪怕最终筛选的数据是空,也会默认带入那个标题栏。所以你就搞不懂为什么步骤都对,但结果就不对。

autofilter之后要进行一个特殊粘贴,那个东西是只对可见的数据复制。就普通人的思维而言,我复制了可见的数据,那么理论上我就可以算出它有多少行,如果是0我就直接不输出了,如果大于0,那么我就可以输出,但实际上特殊粘贴又不可以用一般的技术判定到底筛选的结果是不是0。虽然也能判断有没有,但需要绕一个圈去实现这种功能,所以VBA为什么有那么神奇的思路呢?筛选可以进行,但是你不能对反向的数据批量进行处理,你也不能把特殊筛选结果直接保存为某个东西。当你觉得你大概可以把可见的部分保存到一个新的区域,然后你就可以去头去尾之类,但实际上当你再去查看那个新区域的时候发现原来是保存了个寂寞而已,那种神经性质跟那个可见区域是一样的。我不知道以前的人到底是怎么忍耐VBA这些奇怪脾性的,因为在接触这个之前我就已经接触过pandas。pandas的数据分为两个,一个是标题,另外一个是数据。输出的时候你可以都输出,你也只可以只输出其中的一部分。在使用pandas的时候,我没有解决过一些我的实际问题,我都是按照书本上的例子进行操作的,所以到底在我使用的过程中会不会也遇到一些像VBA这么神经,明明觉得可以,但实际上又不可能直接实现的事情不知道。

周五的下午,折腾了一番以后,我的目标数据最终可以复制到粘贴板,但是在VBA那个脚本结束之前,我就也得把那粘贴出来,否则当那个结束以后,剪贴板的内容就没有了。为什么会这样呢?不是说当我把数据复制到了剪贴板,而我又把Excel关掉,软件会问我要不要清空剪贴板的数据吗?但显然现在Excel都没关闭,我只是关闭了那个脚本,但我剪贴板却什么也没有了。

周五在回家的路上,我又努力地想了想这个问题。最后决定,我没有必要这么折腾自己获取剪贴板数据。反正全体数据不多,我直接对那个整体数据进行加工处理就行。加工处理的方法是首先从我的目标数据那里通过VBA获取我要的部分,然后输出到指定的位置,接着通过ADO+SQL进行数据处理。准确的来说,就是一个分组聚合、添加汇总以及排序。当然其实最后这个ADO+SQL的操作我也可以换成数据透视表,但如果那样的话,最后的排序我要让那完美的按照我想要的方式,我就只能先在Excel添加一个自定义的序列。无论是SQL还是数据透视表,分类汇总和排序都一定会比在VBA里用数组方便非常多。

思考一个问题的时候,有时可能我们有点过于钻牛角尖了,退一步,可能会有一个更清晰的思路。

2024-09
10

发现规律,抽象步骤

By xrspook @ 8:53:01 归类于: 烂日记

星期天的下午,初中的同学群又开始了数学题答问答。这一次又不知道是什么题目,反正照出来的那个相片右下角页码那里写的是有理数。有理数无理数具体是什么东西,实际上我已经不太记得了,但这就只是一个定义,稍微翻看一下书本,就会回忆起来。我不知道有理数跟那道题有什么关系。对一个路人来说,我觉得那道题就是一个考察发现规律的,发现那堆数字正负值的规律、发现那堆数字排列组合的规律。相对于高中时代的题目来说,我感觉那道可能是小学或者初中的题目,规律还是比较好找的。

当我第一眼看到那道题目的时候,我就彻底没想过要理,直接继续看我的电视,把那忽略掉,因为我知道即便我不回答,其他人也会回答。我不是唯一的一个答案。看上去那是一本习题册或者一个试卷册,无论是哪一款,肯定有标准答案,问题只是我的那个同学不知道那个答案到底是怎么来的。其实我也不知道他为什么要知道那个答案是怎么来的,毕竟要做这个题目的人不是他,而是他的孩子。所以孩子不知道怎么做那道题,为什么操心了半天的人却是家长呢?当我那个同学还是个孩子的时候,他不会做的题目他的家长绝对不会为他操心。不会做就不做,不会做就回去问老师问同学。现在这个该怎么做的这个责任仿佛都落到了家长的身上,又或许,是因为我的同学觉得他还是个小孩的时候,他的父母没尽过这种义务,他觉得不好,所以现在他成了孩子的家长,他觉得自己有责任去弄清楚,然后教小孩。

他觉得这是他的义务,但我就只是个同学而已,我没有义务解答题目。有兴趣的时候可能看一眼,没兴趣的时候就像这样直接忽略。周日下午吃过晚饭,回单位的路上,我又打开了那个群,仔细看了一下题目以及同学的回答。看过那道题目以后,我就得出了最上面的那个看法。我不知道那道题跟有理数到底有什么关系,但可以肯定的是,那道题的意图就是让做题的人发现规律并利用规律。

发现规律利用规律这种东西,在往后的人生之中实在太普遍了。抽象到哲学的层面,几乎每一件事都是这么个情况。数学这种东西,理论上是最容易用逻辑解决的,尤其是对大学以下的数学而言。以前没发现,后来我才意识到,以前那些有标准答案的题目逻辑性都非常强。只是当年的我要应付的事情太多,没办法逐个击破,没有领会其中的逻辑,于是也就只能死记硬背了。

那道题给我的感觉就是,对懂的人来说,找出规律以后,代入数字就能出结果,但是对那些知道规律,但又不知道如何把规律抽象成公式的人来说,那就等于是只能把那些东西都罗列出来,但关键是如果数量级很大,全部罗列是不可能的任务。对懂行的人来说,无论是自己列公式,还是写个程序跑一下,前提都是你发现了其中的规律,而且你把那个规律抽象成某些公式,于是最后题目就变成代入数字求和。如果硬是把所有东西都罗列一遍,那就只是写个程序,让程序按照你要的那个样子跑一遍,但这个跑一遍对懂的人来说是毫无意义的。因为不需要跑,不需要用最后的结果数字验证就能得出预判的那个结果就是最终答案。

编程是什么呢?编程就是发现规律,然后把那些规律抽象成某些步骤。

2024-09
9

他们和我的新冠回忆

By xrspook @ 10:06:43 归类于: 烂日记

看完《错位》以后,我没有马上开始继续看电视剧,而是选择去看一下纪录片。通常我会选择医疗的纪录片,但爱奇艺上没有新片子,所以我就继续看回《人间世》的新冠特别节目。《人间世》这系列的纪录片我已经看过两部,感觉拍得挺好。相对而言,新冠的纪录片比较杂,估计是拍摄的筹备没有其它那些那么完备,毕竟新冠突发的时候谁都料想不到。在那么短的时间之内,可以筹备拍片,也是不容易的事情,而且既然医护要全副装备,拍摄者肯定也得同样对待,穿着那些东西,在高危的地方干这种事情,都不容易。

SARS的时候估计没有人拍过这样的片子,但是这一次新冠的确有不少医疗纪录片。在新冠突发的时候,立项要做这些片子。相对于《人间世》的其它系列来说,新冠的这个会感觉有点散,主题会没那么突出,叙事方式可能也不那么完美,但其它系列纪录片拍摄者可以跟拍半年到一年,但是新冠系列,只有在在最巅峰的时候才跟拍,虽然实际上这个新冠疫情足足持续了三年。现在回想起来,估计大家只对武汉封城的那一段印象最深刻,但实际上对全国各地的人来说,每个人的印象深刻时刻还真不一样。对我来说印象最深刻的是做核酸的频次越来越高,做核酸的费用越来越低,还有就是当我想起要囤某些药品的时候,那些药品再也不发货了。在我终于新冠阳性之前一天,我买的那些药品终于到货。我还不曾试过被关在小区里不能出门,但我好几次被关在单位的宿舍里,等同时送饭。起码我不用为吃什么发愁,我只管吃就好。

还记得武汉封城那一年春节,我们一家人去逛花街的时候看到路边的士多把口罩拿出来卖,但那个时候,我们完全没有意识到到底是怎么回事。如果那些士多能预测到后来的事情,估计他们绝对不会卖口罩,都会自己囤起来。某个早上醒来,躺在床上打开手机,看到武汉封城了,春节假期延长。我的心情是矛盾的,首先是春节假期延长没有任何附加条件,我心里是暗喜的。当时武汉被封城,我根本料想不到那到底是怎么回事,更加不可想象后来我们遇到的是什么东西。春节假期延长了,但是哪里都不能去。每一次出去买菜,我妈都是全副武装。每一次都买很多。就这样,我们窝了一整个春节假期,实际上过得一点都不快乐,因为每天新闻都在播着那些不太好的消息。那一年的春节,前几天不知道为什么我发烧了,至于烧了多少天我已经不记得。那个发烧跟新冠有没有关系呢?我感觉应该没有。因为我完全没有上呼吸道的任何症状,但是武汉封城,电视新闻里天天都播放着那个东西实际上我心里也是有点怕的,谁知道我是不是因为春节前去了人多密集的地方没戴口罩染上了那些不好的东西呢?我一个人染上也就算了,如果我爸妈也被我感染到,那就很麻烦,但幸好那一次我多虑了。

新冠这三年很痛苦,天天都在想着报备,天天都在想着去做核酸。当新冠真的降临在每一个人的身上的时候,大概也就那样了,的确相对于其它感冒发烧来说很辛苦,但当我们感染的时候,那个病毒的毒性已经不至于危及我们的生命了。

新冠偷走了我们整整三年。

2024-09
8

周六,下雨

By xrspook @ 8:50:37 归类于: 烂日记

大家都担心着,自己的周末会被这个叫做摩羯的台风毁掉,但实际上对我来说,毁掉的也就只有周五,周六的天气非常好,虽然偶尔也会飘一下小雨,但仅仅是小雨而已,甚至不用打伞,其它时候太阳很大。感觉好久都没有吃过这么好的天气。所以,担心这种事情是没有用的,尤其是担心天气。2024年这个农历的龙年,我们已经被天气耽误了太多,几乎每个法定节假日都会被下雨搞黄。普通的周末被搞黄的也有不少。台风这种事情你预测不到什么时候会来。最后当你发现又是周末那才到达的时候,没有一点办法。与其在那里纠结怎么这个周末又没有了,还不如直接看天行事。2024年我的经验是不一定完全相信天气预报说的那个下雨的时间。如果你看到此刻的天气是很好的,那么你大可以相信接下来,不可能短时间之内就风云突变。以前的天气预报能很好地预测出大概什么时候会下雨、要下多长时间。现在的天气预报经常是根本没有预测到接下来要下雨,但没过几十分钟,电闪雷鸣,然后就狂风大作。今天你看后天不下雨,但明天你再去看,可能后天又半天都在下雨了,反之也有可能发生。

周六的上午看着是个好天气,所以中午我跟我妈就出门了。不确定下午什么时候会下雨,的确出门没多久就飘雨了,但只是小雨,是那种飘了十几分钟又没有的那种。飘的那种小雨,你甚至都还不需要打伞。一路上基本上都是这种情况,可能太阳很猛,可能风很大,但可能会飘一下小雨,只是小雨而已。

我们中午出发,到晚上7点多回家,中途遇过好几次小雨,但除此以外,都是把人晒得快要死了大太阳。因为会飘小雨,因为也出太阳,所以我感觉湿度应该很大,虽然我们走的是江边,江风也很大,吹着风的时候人不觉得热,没有风度太阳底下会感觉很热。如果人湿透了,在树荫下,又遇到了江风,甚至会觉得有点冷。周六刚好是二十四节气中的白露。蚂蚁庄园在白露这一天的问题是白露这一天的天气会干燥还是潮湿,正确答案是干燥。我不知道这个干燥是针对什么地方而言的,就广州的天气而言,准确来说是干燥/潮湿。这两个东西是共同存在的。同一天,任何时间可能是这个也可能是另外那个。在我们一向的印象之中,秋天是应该干燥的,秋高气爽的,蓝天白云、习习凉风的,但实际上这几年打乱我们的雨简直数不胜数,有可能是北方来的冷空气,也有可能是南方来的秋台。天气焦虑这种事情已经焦虑到让人无法再焦虑,因为当你看15天的天气预报的时候,会发现基本上全部都是雨天。基本上所有都有雨点,但实际上呢,可能情况并不完全那么糟糕。应该如何定义某一天是雨天呢?因为那天下过雨,还是说那天下了多长时间、多长强度的雨?如果只要下过雨就是雨天的话,那么对广东而言,一年300天以上是雨天我估计也是合理的,但是对大家的生活来说,一天只有很小一部分时间下雨,其实不太影响我们的正常工作与生活。

上上个周六被下雨搅黄了,上个周六得月末纠结搅黄了,这个周六,我总算过了一个自己的周六。

2024-09
7

CD往事

By xrspook @ 8:59:46 归类于: 烂日记

周五晚上回家的路上,听的是陈奕迅的《幸福摩天轮》专辑。在这个专辑出之前,我也就已经知道了陈奕迅,但陈奕迅的这个专辑,是让我印象最深刻的。这个专辑大概是在我初中的时候推出的,当时班里的同学偶尔也会拿这个CD出来。但显然,初中同学买了CD一定不是正版的。到底正版的这些CD要去哪里买?那个时候实际上我也不知道,但是我高中的时候,同学拿出手的CD,就一定是正版的。有钱人和没钱人的区别真的很明显,高中同学可能为了买正版的CD去香港,但初中的同学,很多家里都不太富裕,即便算是有点零花钱,也不至于多到可以专门去香港买CD回来。他们也会买CD,但是相对于更不富裕的同学来说,那个CD的质量可能会好一点,但质量再好,也不是正版。

当我还买CD的时候,我也不知道自己到底买过多少正版。我甚至不知道如何区分正版和盗版。我有几个CD是在广州购书中心负1层音像制品那里买的,估计那几个应该是正版吧。还有一些CD是在石牌桥的某层楼买的,那里的CD,全部都是个打孔CD。显然那些CD在国内是不会有的,但是到底是用什么途径把那些从外国带进来我就不知道,反正那些CD都被打口了。

陈奕迅的《幸福摩天轮》和陈小春的《大明星》是我自己用零花钱买的第一批CD。那是我第一次买香港歌手的CD,是在赤岗路的某个音像店。陈奕迅的那个我是一定会买的,至于陈小春的到底要买哪一个,当时我还真犹豫了很很久。那是我买的第一和第二张CD,是同一天买的。好像是10块钱一张。那两张CD听的时候,我都是偷偷摸摸的,放在电脑的光驱里。买这两张CD的时候,家里没有VCD机,在早之前那个VCD机已经坏掉。但即便有VCD机,也没有单独的功放,所以要看要听VCD或者CD得开着电视。后来我终于找到了一个比较大的收录机,用莲花头的线连接VCD机和收录机后,我听CD才终于不需要开电视。但上面说到的那两个CD,我从来没有用家里的VCD机播放过。那两张是我听得最多的CD,虽然电脑的光驱完全没有纠错功能,所以一旦CD有任何瑕疵,一定会出问题,但是起码在我疯狂地不断重复播放那两张CD的时候,那两张光盘都没有出过任何问题。我从来都不选歌,都是从第一首听到最后一首,不断循环播放。听到一定程度我知道这一首歌的下一首是什么,我知道其实听歌的时候完全不需要有这种预判,但是这种预判是控制不住的,是自己涌出来的。因为一开始我就是用电脑的光驱播放那两个CD,于是我同时发现陈小春的那个CD里面居然有一些壁纸。这是我万万想不到的,但陈奕迅的那张没有。后来我又在同一家音像店买了不少CD,但再也没有发现过CD里面有壁纸。

在戴上耳塞听陈奕迅的《幸福摩天轮》专辑之前,我的脑子里全部都是VBA, 但音乐开始播放以后,我总算整个人都松弛了下来。

音乐的确可以拯救我们,只是我感觉我已经好久都没有主动地让音乐放松我自己了。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress