分享

票选华山论剑

 EXCEL应用之家 2020-12-17

点击上方

蓝色

文字  关注我们吧!

送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



在上一篇中向朋友们介绍了一次统计多个关键字的技巧,尤其是在财务应用上非常方便。今天就这个话题我们再做一次延伸,帮助大家更好地理解关于“数组”的概念。

如下表,众大侠们在票选“天下第一”。可是,他们这些人只懂得打打杀杀,那里玩儿得了写写画画这种事情!于是,表格就做成了下面这个样子。

怎样才能快速统计每个人的得票呢?




01

在单元格F2中输入“=COUNT(FIND(E2,$C$2:$C$13))”,三键回车并向下拖曳即可。



思路:

  • 利用FIND函数在单元格区域C2:C13中查找单元格E2中的值“乔峰”

  • 利用COUNT函数统计查找到的个数

  • 由于COUNT函数可以忽略错误值,可以正常返回结果


02

在单元格F2中输入“=COUNTIF($C$2:$C$13,"*"&E2&"*")”并向下拖曳即可。



思路:

  • 这里"*"&E2&"*"是亮点,构造了模糊查询

COUNTIF函数的用法请参看帖子总结篇--COUNTIF函数实用终极帖


03

在单元格F2中输入“=SUM(N(SUBSTITUTE($C$2:$C$13,E2,)<>$C$2:$C$13))”,三键回车并向下拖曳即可。



思路:

  • 利用SUBSTITUTE函数在单元格区域C2:C13中用“”将单元格E2中的值“乔峰”替换

  • 将替换后的结果和单元格区域C2:C13对比,并返回一组逻辑数组

  • 利用N函数将逻辑转换为数字

  • 利用SUM函数求和

SUBSTITUTE函数的用法请参看帖子Substitute函数使用简介。N函数的用法请参看帖子N函数的【5种应用汇总】


04

在单元格F2中输入“=SUM(IFERROR(FIND(E2,$C$2:$C$13)^0,))”,三键回车并向下拖曳即可。



思路:

  • 利用FIND函数查找

  • FIND(E2,$C$2:$C$13)^0部分是亮点,在于将所有数字都转换为1,便于统计

  • IFERROR屏蔽错误

  • SUM求和


05

在单元格F2中输入“=(LEN(PHONETIC($C$2:$C$13))-LEN(SUBSTITUTE(PHONETIC($C$2:$C$13),E2,"")))/LEN(E2)”,三键回车并向下拖曳即可。



思路:

  • 利用PHONETIC函数将单元格区域$C$2:$C$13的数据合并为一个字符串

  • 利用SUBSTITUTE函数将上述字符串中的单元格E2中的数值用“”替代

  • 利用LEN函数分别求出替换前和替换后字符串的长度

  • 两者相减得到被替换的字符串的总长度

  • 除以对应单元格中字符串的长度,求出对应单元格中字符串的个数


06

在单元格F2中输入“=COUNT(1/(LEN($C$2:$C$13)-LEN(SUBSTITUTE($C$2:$C$13,E2,""))))”,三键回车并向下拖曳即可。



思路:

  • 这个技巧参考了COUNTIF函数统计不重复数字个数的经典用法

  • 利用LEN函数和SUBSTITUTE函数分别求出替换前和替换后字符串的长度

  • 相减后是被替换字符的长度,其结果是{0;0;0;0;2;0;0;2;0;2;0;2}

  • 1/(LEN($C$2:$C$13)-LEN(SUBSTITUTE($C$2:$C$13,E2,"")))部分的结果是{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0.5;#DIV/0!;#DIV/0!;0.5;#DIV/0!;0.5;#DIV/0!;0.5},方便COUNT函数统计

  • COUNT函数忽略错误值,统计出结果


07

在单元格F2中输入“=SUM(IF(LEN($C$2:$C$13)<>LEN(SUBSTITUTE($C$2:$C$13,E2,"")),1,0))”,三键回车并向下拖曳即可。



思路:

  • 这个技巧和上个技巧的思路类似。利用LEN函数和SUBSTITUTE函数来比较替代前和替代后的字符

  • 利用IF函数判断并分别返回1和0

  • 利用SUM函数求和,得出正确答案


08

在单元格F2中输入“=SUMPRODUCT(N(TRIM(MID(SUBSTITUTE(C$2:C$13,"、",REPT(" ",99)),{1,2,3}*99-98,99))=TRIM(E2)))”,三键回车并向下拖曳即可。



思路:

  • 这个技巧利用的SUBSTITUTE函数提取字符的经典应用

  • 利用TRIM函数去除多余的空格

  • 和单元格E2比较并返回逻辑值

  • 利用N函数将逻辑值转换为数值

  • 利用SUMPRODUCT函数求和

SUBSTITUTE经典函数用法请参看帖子SUBSTITUTE函数提取字符经典应用一例


-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

戳原文,更有料!免费模板文档!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多