查看原文
其他

用excel归类相同部首的汉字

Patrick徐老师 Patrick徐老师 2023-07-26

事情是这样开始的:很久以前做过一个汇总所有偏旁部首的quizlet,是这样的

https://quizlet.com/147614689/


当时只是从一个词典软件里把部首抓了下来,就放在quizlet里了。当时想法是,毕竟不是每个部首都那么容易输入,需要的时候从这里复制粘贴会比较容易。


前两天把这个东西分享给别的老师时,忽发奇想:“为什么不给每个部首后面放些例子呢???” “几个栗子?每个部首逐个输入?” “二百多个条目一条一条来?!” “拉倒吧!” 

我不想做简单无差别的体力劳动,但我要把所有汉字都放进去。。做成这样:


怎么搞?


说实话,我不太擅长弄字卡之类的东西:毫无逻辑,零散无序,每次用完都要整理。所以但凡需要展示汉字,我都用excel。教中文这么久,汉字一直被我当成数据库中的一列数据,通过各种索引方法,随时抽调出需要的组合:一课书里的生字,一学期的复习,高频字,同音字,同笔画字。。。。


扯远了。继续说怎么搞。既然要按部首分类,那么:


第一步,找到按部首索引的字表:


好在之前收藏了一个字典软件的库文件:


因为只需要汉字和部首,所以要对这个表加工一下:去掉拼音列,并排序:

(图4)


黄老师问我这是按什么排的序?答曰:偏旁的发音。是的,偏旁有发音,是按字源字来读的。“双人旁”是部首的名字,人家发音是chì。为什么要这么排序?不为什么,excel默认的。其实排不排序也无所谓,我习惯先排一下而已。


然后,第二步,分类汇总:


就变成这样了:

本以为大功告成,然后随便用个函数就可以合并单元格内容。


但试了phonetic函数,失败。英文版的excel不支持:


又试了textjoin和其他几个,依然无果,都查不出问题在哪里:


怎么办?难不成用“&”一个一个去拼接,或是一个一个字copy?开玩笑,七千多字的通用字表。即便按部首算,二百多个部首,工程也太过浩繁。所以只能通过合理的算法,填充公式解决(不会VBA,万事靠公式)。

怎么计算?想不出来。。不是我迟暮,只是懒得自己想算法。幸好找到了这篇文章:

聊聊EXCEL中的合并同类项

http://club.excelhome.net/forum.php?mod=viewthread&tid=1224302&page=1#pid8337863


(说句题外话,任何时候,这个论坛都能提供完美的解决方案。无论多么奇葩的问题,你都不用自己发帖提问,肯定已经有人问过,而且解决方法绝不只有一种)


公式如下:

通过if函数进行判断:如果第二行和第一行的部首一样,则在c2这个单元格里把第二行的汉字加上逗号再加上第二行的汉字,否则,显示第二行汉字。(如果觉得拗口,就别看这段了。一会儿抄答案就行了。)


然后把这个公式向下填充。果然7000多行的数据有点儿多,电脑跑了好一阵才完成:

(图10)


到这里,估计勤快的人已经去每个部首最后一行复制数据了。二百多个部首,每个复制粘贴的动作即便只需要两秒钟,那也得干十来分钟啊。。。我宁可花十五分钟找个合适的公式。。


所以现在需要对数据进一步索引,找出每个部首字最多的那一行。


花开两朵,各表一枝。用前面图4那张表,做个数据透视表,做好备用:


上面这个表其实也没什么用,只是为了提取所有的部首。并以此为基准,用lookup函数查找字最多的那一行,所以只需要把上图A列内容复制到图10的表格里,然后填充这个公式:

具体原理,去读刚才提到的那篇文章吧。


至此,大功基本告成。把这两列内容导入quizlet便完成了最初的构想。quizlet地址如下:https://quizlet.com/296989277/flash-cards/

(其实完全可以找个在线字典把部首索引页复制过来。)


说实话,这东西对教学来讲,没有什么实际意义。做这个只是出于对奇技淫巧的痴迷而已。如果一定说有用的话,用这个方法,随时可以把学生学过的字按部首整理出来,类似《部首小字典》的功能。


但怎么能很快的把学过的字,而不是全部汉字,按部首排序呢?以后有空聊聊vlookup这个函数吧。如果急需的话也可以告诉我,可以按需订制。


聪明的你一定会想到更实用的方法,把这个分类方式用在教学中。有任何想法,敬请留言。


Patrick 徐老师

2018年5月23日 于美国










































还找什么呢?


不用往下翻了。没有彩蛋,不用扫码,也没有下载链接。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存