多语言展示
当前在线:867今日阅读:165今日分享:48

根据关键字匹配信息

数据的结构是复杂多样的,有时会要求根据事物或事件特有的特征来匹配出相关信息,或者说根据某一关键字匹配出类别     举例来讲,当我们找到一个含有“李白”这个关键字时,首先想到的是唐朝的诗,而包含“苏轼”这个关键字时,会想到是宋朝的词
工具/原料

Excel 2010及以上版本

方法/步骤
1

情景设定,如附图有一系列的手机型号生产,匹配关键字如右侧(部分型号可能不在匹配表中)

2

公式设定=IFERROR(LOOKUP(9^9,FIND($E$2:$E$8,A2),$F$2:$F$8),'未知')如果不借助辅助列表,也可以将辅助表转换为常量数组=IFERROR(LOOKUP(9^9,FIND({'荣耀';'华为';'Nova';'Vivo';'OPPO';'小米';'iPhone'},A2),{'华为';'华为';'华为';'步步高';'步步高';'小米';'Apple'}),'未知')

3

原理分析(第一步)首先看内层函数FIND($E$2:$E$8,A2)用关键字列表去与手机型号字符匹配,如何匹配的到的话,返回关键字在字符中的位置,如果匹配不到则返回错误值#VALUE!,这样就产生了一个匹配结果的数组,例如第一款手机型号生成的数组为:{1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

4

原理分析(第二步)再看外层函数LOOKUP(9^9,FIND($E$2:$E$8,A2),$F$2:$F$8)实际是lookup函数的一个套路公式,lookup(一个比较大的查找值,包含查找值的数组,返回结果的数组)上步分解的find函数生成的数组作为lookup函数的第二参数。当查找值在第二参数中找不到时,则返回小于查找值的最大值对应的结果,利用lookup函数查找可以忽略错误值和从后向前查找的特性,如果第二参数若不是错误值,即返回第三参数对应的结果

5

原理分析(第三步)最外层函数是做容错处理,当关键字列表中查找完都找不到对应的(相应的find函数返回的都是错误值),说明此型号是一个新型号,匹配结果设为未知。

注意事项

如果觉得有帮助,帮忙点赞、投票

推荐信息