K神
大猫不吃鱼
网名◆K,按照群里同学的说法,K神和老大kluas,以及一个名为KKK的VBA强人,都是K字头家族的高手。
因为函数实力极强,时常碾压难题,被群里同学们冠以了“K神”的称号。
用笔者的观点来看,这是个“化繁为简”的高手。
笔者一直有一个观点,函数水平是一个从简单走向复杂,再从复杂进阶到简单的过程,初学者刚开始从一些简单的函数学起,尽可能的了解每一个函数的用法、参数和使用条件,尽可能用合适的函数计算出想要的效果;迈过了第一道坎,便开始朝着难题发起挑战,尽可能避免使用辅助列,函数公式朝着复杂化、多样化发展,实现了不同的函数的嵌套,解决实际问题的能力飞速增长,其实从简单到复杂的这一步只是一个熟练度的提升,不外乎是函数之间的配合,不外乎多写了几个括号,不外乎是把显眼的辅助列改成了内存数组;最难的就是从复杂走向简单,这一步完全是质变的飞跃,说是境界的提升也毫不为过,如果说从简单到复杂,写的是洋洋洒洒的散文,那么从复杂到简单,写的便是凝练隽永诗歌短句。
大凡高手总有那些不同寻常的怪癖,有像是每时每刻都出于更年期的叉神,有不择手动到处白嫖的某人,有只回答妹子提问的万能锁之流,更有死磕WPS的三哥之流,K神作为高手,也有属于他的怪癖,这怪癖说来有些怀旧。
认识K神大概是2020年左右吧,很长一段时间,他的系统都是XP的系统,EXCEL的版本都是2003,明明微软的2016都出来好几年了,他的版本却依旧停留在过去遥远的年代,刚开始我以为他是念旧,或是懒得升级,可是渐渐的我发现,即便是低版本诸多的限制,依旧掩盖不了K神的闪光。
直到后来,我看见有些新学,刚开始就接触到了365,写出的公式时,我才有所明悟:一上来就接触365,有时未必是什么好事啊。
正是因为这些,我才知道,为什么K神总给我一种名门正派的感觉,为什么在一干同学对题皱眉时,K神的公式总有一种庖丁解牛的爽利。
拆K神的公式,笔者最大的感受就是:就该这么写,可惜我没能写出来····
不得不说,笔者在K神这里真的学到很多,SUBSTITUTE的动态第四参数来提取文本,加权减权提取文本中的数字,合并单元格求极值等等不一而足。
在K神的公式中,我读到了从2003到365,一路走来的传承和脉络,感受到一个武者是怎样一步步从初出茅庐成长为武林名宿的传奇。
有两道题尤其印象深刻,第一道题记得是编号在前数字在后,数据很乱杂糅在一起,而且没有明确的分隔符,我只是看了几眼也就放弃了,而且下了断定,这就不是函数能够实现的,要上正则才行,估计其他同学和我想的一样,也都在这题面前保持了沉默,然而第二天,K神贴出了公式,将原本毫无规律的数据,整理得井井有条,当时看到这条公式的笔者,直接愣了好久,这也能实现,太离谱了吧。
第二题,是一道骰子计算的题,数据列中杂乱分布了1-12的3个数字,需要根据每组的3个数字的关系来判断,豹子、对子、还是连子,最要命的是还有12,0,1这种的连子数据。不少同学都用上了if(if())的办法,对不同的情况,分别判断,我想了半天,也写了一个四五层的if公式才搞定。K神的公式好像就用了一个if来分流,最核心的部分,用了mmult(10^数字)的方法,将无序的数据聚合,再用查找函数,对不同情况特征码进行查找,最后用上了lookup的忽略错误值,将不同的情况的返回出来,这提取特征码真是让人拍案叫绝的思路。
K神时常自嘲,说自己是火车司机,因为他老是写出一些很长的公式,像是火车一样。
以笔者无数次爬K神的火车的经验来看,他绝不是一名普通的火车司机,他的火车非常精彩、非常刺激,充满了想象力,就像是极地特快,坐上之前,你就得做好冒险的准备,坐上之后,你不仅能学到很多,还能得到不小的成长,甚至在往后的岁月中,都能感受到极地特快带来的改变。
谢谢你,极地特快的列车长,带我的这趟冒险之旅。