2020-05
10

Excel里写长公式

By xrspook @ 9:42:47 归类于: 烂日记

不知不觉好像我已经快一个星期都没有碰python了,原因是在家的时候我懒惰,在单位的时候,一心在整理各种各样的数据,也正是因为我正在整理数据,所以其实在我的骨子里是念念不忘想使用python这个大招的。在数据处理方面。我觉得,我正在用Excel人肉操作的那些,如果以一个正确的方式丢给python,那绝对是几秒钟就能完事。明明我知道可以这么干,但现在我还没到达那个境界。

昨天我整了一个巨长的公式。在最开始的阶段,我在普通的Windows记事本里折腾,但是当公式嵌套得越来越多以后,显然普通的记事本把我直接看晕了。我把那个东西放回Excel,但实际上Excel这个怪物根本不给我显示到底那些一对又一对的括号谁跟谁匹配。我也试过把那条长长的公式放到VS Code里,我随便打了个py文件往里面放Excel公式。虽然某些地方高亮了,但是括号匹配还是很不行。如果那不是一个Excel公式,而是一个python文件,我早就给它写很多注释、搞很多回车了。不就是个嵌套了三层的if嘛。但实际上,如果这是在python,完全可以不嵌套,用三组平行的if就解决问题了。最终,我把那条很长的公式贴到了Notepad++里。经过一番折腾,我觉得Notepad++才是最适合编辑Excel长公式的工具。虽然Notepad++不能自动生成成对的括号,但是在判断括号对应性方面,我感觉已经足够了。他们会把成对的括号用加粗的红色显示。当你选择这一边的括号的时候,那边的括号就红色加粗了,这样我就能搞清楚自己编辑到了哪一层括号。习惯了用python之后,什么括号,什么使用范围之类的东西全部用冒号、用缩进就解决了,回到Excel里要用一句话表达,本来用三句短话就能表达清楚的东西的确挺烦人。为什么Excel编辑公式就不能用回车,不能用缩进解决问题呢?如果有几个回车的话,显然那条公式到底在表达什么就很明白了。在Excel的某个单元格里回车,那就是要执行公示的节奏。如果是数组公式,你还得用组合键结束。有时我实在不明白他们为什么非得一定要用组合键呢?为什么不能在公式外面加一个什么函数包裹,让软件明白就在执行数组公式呢?

习惯了python的简洁与人性化后,回到Excel让我各种不习惯。在python里,单引号和双引号都可以用来表达那是字符串,但Excel要表达字符串,要表达某些固定格式,必须用双引号。另外一个人让我不习惯,因为我已经彻底忘记的就是在Excel里面不等于用的是<>,而在其他编程语言里面,不等于的表达方式是!=。所以当我在Excel里使用!=的时候,Excel懵逼了。于是我不得不去搜索,进而发现是我自己搞迷糊了。还记得小学的时候,家长们总担心孩子如果一边学汉语拼音一边学英语会不会张冠李戴,用汉语拼音来读英语或者用英语来读汉语拼音。这是两种彻底不一样的东西,虽然他们的最终结果就只是个发音而已。我是小学一年级开始学汉语拼音的,三年级的时候开始学英语口语。在我开始在学校正规接触英语之前,我的汉语拼音已经很熟练了,而在我接触编程语言之前,我接触过Excel,但只是接触过而已。对二者的深入了解几乎可以说是平行发展的,所以混淆二者的某些基础用法我觉得可以理解。

最终,我把那个我想做到的效果用一条很长的公式表达了出来。那条公式针对的不是具体的某些单元格里面的东西,所指代的位置全部都是相对的。所以根本不存在拖拉以后会出现状况。有了这条公式我就彻底做到了对某个仓开始入库、结束入库以及期间库存精准定筛选定位。

那条长公式在成功整出来之前,我先在纸上列出了几个条件。代码这种东西是非常讲究思路的啊啊啊。

2020-04
7

挑选Markdown阅读器

By xrspook @ 10:23:52 归类于: 烂日记

昨天晚上我又花了好些时间为我的小米平板1选一个Markdown阅读器。如果这是我的手机的话,非常容易就解决了,因为坚果云Markdown完美解决了所有问题,但不知道为什么,虽然还在他们的安卓兼容范围之内,但是坚果云Markdown在小米平板1上打开md文件的时候会一片空白。那到底是为什么,我没搞懂,但是可以肯定的是,无论是在MIUI 9还是在MIUI 6都不行。我之前之所以选择坚果云Markdown,是因为那个东西是我试用过所有app安卓下,不需要任何设置,直接就能读取我手机或者我内存卡上面的md。这样的设置,看书的时候就很方便。其它阅读器,你可以在文件夹里通过某程序打开,但显然就不那么方便了。安卓系统里传统推荐的软件MarkdownX也不错,非常有可能不少Markdown编辑器都是抄他的。

有些Markdown编辑器是所见即所得的格式,他们觉得是很酷,但实际上会让人很眼花,因为Markdown的符号和Markdown转化后的样式都体现出来了,尤其像我这种不是为了写,纯粹为了看的人。坚果云Markdown之所以好,是因为它的编写和预览在同一个区域。一个转换按钮就可以从编写到达预览,文件打开后默认界面是预览。这样就完美解决了手机小屏这个问题了。不少安卓Markdown编辑器沿用的是电脑的那种,半屏编写半屏预览,所以明明我的小米平板要比我的手机大很多,但是被分了一半以后,阅读区域还是很少,这简直就是搞死人的节奏!我试了好多个Markdown编辑器,在预览这方面,很多都做得很一般。有些的确是全屏显示了,那问题是反应速度很慢,比如iA Writer。安装Firefox后,可以通过安装插件来实现阅读md文件。在手机上我觉得这是没有问题的,但是,当我在平板上这么做,生成的那个文件,字体就变小了。浏览器本身是可以通过手势扩大字体,但是那样的话阅读的时候就要不断左右移动页面,太烦了。我没有在Firefox安卓版的设置里找到自选字体大小。有一个选项是可以适应系统字体大小的,但系统的字体大小跟我阅读时的字体大小怎么可能一致呢?所以我真的不知道他们是怎么想的,无论是那个插件,还是Firefox本身,为什么我要在浏览器里使用可转换md格式插件,肯定是因为我要把那当做是阅读器,阅读器的字体这么小,叫人怎么看呢?折腾了一大轮以后,最终我选定一个2016年豌豆荚已经不再更新的MarkdownEditors。这个东西几乎可以这么说,是高仿MarkdownX的,功能和界面很类似的,但是那个东西更小巧,而最重要的是,虽然不可以在软件里选择打开手机上的东西。但是从手机的文件夹打开md文件后你可以在那里全屏预览。不好的大概是如果文件里面有编程语言,你无法高亮显示,还有一个不好就是当你打开了文件,哪怕只是打开预览之后要关掉,都会问你要不要保存。对比了装了插件的Firefox和MarkdownEditors,后者的字体大一些。这两个软件我都在小米平板1上留下了,因为说不准什么时候需要互补一下,因为Firefox中md文件的编程语言是有高亮的。

如果以后我能神通广大,我觉得我会自己动手写一个代码阅读/编辑器。

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