小时候学汉字一定学过笔顺。 今天和大家分享一下如何利用笔顺来计算汉字的笔画数。 小编也在网上看了一些别人的实现,发现不是不够准确,就是公式太复杂,所以小编想分享一个简单的实现。
这篇文章更多的是学习:
1、笔画排序;
2、宏录制;
3.锻炼逻辑思维。
1.笔划排序
首先,我们需要了解一个基本功能:笔划排序。
在“数据”选项卡下的“排序和过滤”命令组中的“排序”功能中,可以设置“选项”选择“笔画排序”。
我们来看看动态运行效果:
2. 梳理计算笔画的原理
有了笔画排序的这个基本功能,我们来梳理一下逻辑。
首先,Excel内部实现了对汉字笔画数的计算,否则无法实现笔画排序的功能,但Excel并没有直接提供相应的方法。
那么如果我们把所有的汉字都放到Excel中,按升序排列,从上到下的笔画应该是1、2、3……。
虽然所有的汉字听起来都很多,但是汉字的笔画是有上限的。 另外,很多汉字的笔画都是一样的,所以我们只保留所有汉字中笔画数相同的第一个,所以理论上剩下的汉字数就是笔画数最多的那个汉字的笔画数笔画。
另外,我认识的最多的汉字是“”,它由四个繁体“龙”字组成小学生作文,读作zhé,共64笔画。 我们也知道过字笔顺,笔画越多,字越少。 有些大笔画的汉字可能不存在。
然后我们最后只留下每个笔画数的汉字列表,然后我们把需要计算的汉字放到这个列表中,然后用笔画排序重新排序,就可以根据的笔画得到结果了要计算的汉字前后的汉字。 为什么?
这是因为我们留下的汉字是排在同笔数第一位的,所以要计算的汉字排在同笔数的后面,后面的笔画数排在前面,所以计算汉字前面的字符的笔划就是我们想要的结果。 比如保留列表是“1,2,3”,我们加上“B”后重新排序,得到“1,B,2,3”,所以“B”是一张图片,同理加上“十” ” 重新排序是“一、二、十、三”,因此是两幅画。 我们可以看一下动态demo:
3、汉字材料准备
首先,小编从网上尽可能多的找了汉字,一共70205个(需要原文的请私信),然后用笔画排序。
最后删除重笔数后,剩下48个笔画号唯一的汉字,如下所列,部分字符在部分机器上可能无法正常显示(需要原文档的请私信) .
4.录制宏解决重复劳动
汉字笔画计算的基本原理到这里已经说清楚了,素材也准备好了,但是我们还需要美化一下。 毕竟我们不能计算一个汉字,所以需要重新排序。
当你要重复某个操作时,你应该想到“宏”。 我们可以通过录制宏来完成这种重复的操作。
如上图,我们在红框E4单元格中输入汉字,然后点击计算得到结果,并显示在蓝框G4单元格中。
首先在A列数据最下面的A49单元格中输入公式“=$E$4”,在B49单元格中输入100(刚好大于B48中的64),再输入公式“=INDEX(B:B ,MATCH(100,B:B,0)-1)”(这里之所以用100代替E4中的汉字查询是因为输入的汉字和列表中的汉字可能相同,这会导致计算公式复杂度增加,选择B49中的100,因为笔画列没有重复的问题,所以公式可以简洁),即使用MATCH函数查询汉字所在的行定位,然后使用INDEX函数通过行号查询值。
单击“开发工具”选项卡上“代码”命令组下的“录制宏”。
然后选中A1:B49单元格区域,选择排序,设置选项按笔划排序,添加A列和B列分别升序排序。 这里选择AB和AB两列同时排序过字笔顺,是因为当输入的汉字与列表中的汉字重复时,输入的汉字可能在列表中同一个汉字的上方,而AB 的两列同时排序。 为了避免这种情况,保证公式的正确性和简洁性。
然后点击“开发者”选项卡“代码”命令组下的“停止录制”。
5.指定宏实现计算功能
然后选中计算图形右击鼠标(计算图形是通过插入矩形并设置背景添加文字来添加的),选择指定的宏。
在“指定宏”对话框中,选择您刚刚录制的宏。
到这里整个功能就完成了,我们来看看动态效果: