请问在excel表中如何实现部分匹配?

请问在excel表中如何实现部分匹配?如图,A列包含各小类名称如甲一123、甲二66、乙一234、乙66等,绿色区域是分值限定,甲一10分,乙一20分,有什么函数或办法能在B列填如正确分值,最后得到如红色区域的结果?

公式=IF(ISNUMBER(FIND("甲一",F2)),"10分",IF(ISNUMBER(FIND("乙一",F2)),"20分",""))

公式解析:

find函数:用来检测单元格中是否包含指定字符串,找到则显示第一个字符的位置为数字格式。

isnumber函数:用来判断find的结果是否为一个数字类型。结果为逻辑类型,true 或 false

if:如果找到“甲一”,则为true 则显示10分,否则继续判断是否包含“乙一”,如有则显示20分,若两者都为找到,则空格显示。

追问

感谢您的回答,我在图里的例子是简单的例子,实际遇到的问题更复杂一些,大类是几十个地址名称,没法简单的用find来解决

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-13
excel表格中把两张表格中相同的部分给匹配出来的步骤如下:
1、打开2个excel表格,然后将鼠标移动到导入列的第二行,打开菜单栏的”公式“选项,在公式的工具中找到点击”插入函数“。
2、在插入函数窗口页面,在搜索函数框中输入”vlookup"然后转到,在出现的结果函数中,点击vlookup函数,然后点确定。
3、弹出来的函数参数中,在第一个填写框vlookup_value中直接点击两个表格中同类数列下的A2。
4、在第二个填写框Table_array中全选表格2,表格2中所有列都包含了。
5、在第三个填写框col_index_num 中直接填写表格2中导入数据的数列数,比如2,表示选择第2列的数据,然后第四个填写框Range_lookup中填写0,表示大致匹配,然后填写完毕之后点击确定就可以导入对应A2的数据。
第2个回答  2019-12-04
把D E列挪到I J列,C列全部用甲一文字取代,D列使用VLOOK函数(见函数说明)对A C列比对,之后复制D列123格式到E列,取代NA值为空,取代其他值(用*)为10分,即得甲一成绩栏,以此类推
第3个回答  2017-09-13
在A2中输入:
=IFERROR((VLOOKUP(LEFT(A2,2),$C$2:$D$3,2,FALSE)),0)

$C$2:$D$3 是条件区域,可以扩充,增加条件。 最后的0可以修改为“”。追问

感谢您的回答,我在图里的例子是简单的例子,实际遇到的问题更复杂一些,大类是几十个地址名称,每个名称的字符长度不一致,没法简单的用LEFT

追答

改变VLOOKUP的匹配方式
=IFERROR((VLOOKUP(A21,$C$2:$D$10,2,TRUE)),0)

相似回答