如何用excel监控敏感的用户评论?
excel函数是处理数据化问题的一个利器,在了解常用函数的基础用法后,面对实际问题时更需要的是合理地拆解问题、选择嵌套使用的函数。下面我们针对实际问题,重点讲解下问题分析的思路,以及如何选择函数。
写在前面:解题中用到的函数 find、isnumber、if、textjoin。
一、问题背景:产品上线后,我们获取了大量的用户评论,由于数量巨大且不断有新的数据合入,我们不可能每一条都查看,因此我们需要找到其中包含敏感词或关键词的评论(如退货、差、外观、音质,等),重点关注。
二、问题:如何在大量评论中找到包含关键词的评论,并标记出来评论及包含的关键词?
(数据如下图所示,假设我们要关注的关键词是“距离”“功率”“待机”“差”,如何找到包含这些关键词的评论?并直观地标示出来该条评论包含哪些关键词?)
需要处理的原数据三、问题分析:与数学课上解决问题的方法相同,逆向思维。
1. 明确问题要做什么,并将问题转换为系统可执行的描述。
问题1:找到包含这些关键词的评论(系统看不懂)
转换描述:有以下四个关键词“距离”“功率”“待机”“差”,需要先确定每条评论是否包含这四个关键词,然后确定包含哪一个,并标出该评论。
问题2:标示出来该条评论包含哪些关键词
转换描述:将包含的关键词标示在评论单元格后面。
根据以上两个问题的拆解,我们将原数据表格进行了优化和扩充。
增加“汇总区域”“监控区域”2. 根据转换后的描述确定函数
我们先处理第一个问题:在监控区域找到包含的关键词,并显示出来。
① 从文本字符串中查找是否包含某个特定字符串(如“功率”),想到find函数;
find(要查找的字符串,包含字符串的单元格,[从单元格第几个字符开始查找])。用处:返回字符串在单元格中的位置,返回的是数值;第三项可以省略,省略后表示从第一个字符开始查找。
② 由于find函数返回的是数值,而非我们要的目标字符,如果要在监控区域显示字符,则需要借助if函数做逻辑处理:如果find函数返回了数值,即表示找到了该关键词,则显示对应的关键词即可,否则返回空值("")。格式是=if(find(),对的值,错的值)
if(条件,正确时返回值,[错误时返回值])。用处:逻辑判断,返回的是指定的内容。如果不指定错误时的返回值,会返回FALSE。
③ 由于if函数的第一项要求是一个可以判断对错的条件,而find函数返回的是数值,因此不能将find函数直接作为if函数的第一项,上述格式需要调整。加一层判断逻辑,find函数返回的是否是数值?想到isnumber函数。
isnumber(值),判断一个值是否是数字,返回逻辑判断的结果TRUE/FALSE。
即,if函数的第一项是isnumber(find())。根据以上分析,关于第一个问题的函数结构应该是=if(isnumber(find()),对的值,错的值)
如下图所示(由于其他单元格要拖拽公式,注意调整单元格的绝对引用,快捷键是F4)
下面我们处理第二个问题
④ 在汇总区域标示出来评论中包含哪些监控的关键词。由于关键词已经显示在同一行的监控区域,那么,只需要将监控区域中的内容连接后显示在汇总区域即可。连接文本,想到函数textjoin。
textjoin(文本间的分隔符,是否忽略空单元格1/0,要连接的单元格)。用处:用指定的分隔符将指定的文本连接在一起显示出来。第二项选择1(忽略空单元格)或0(不忽略空单元格)。
注:此函数在2016及以上的版本才可使用。
注:问题2要连接文本,也可以直接使用连接符&。
以上,我们就用excel完成了对敏感的用户评论的监控。对于该问题,换用不同的解法也能达成该需求,欢迎讨论。
喜欢可以点赞鼓励一下老西儿,后面还会逐步分享一些更复杂的操作,以及excel常用函数,以及PPT、Word等办公软件使用中的一些提升生产效率的小技巧。