【题目】如下图所示,A列是公司全称,要求在D列设置公式,根据C列的简称查找A列全称。规则是查找返回的全称要包含C列简称的每一个字符。如:
中石化 查找返回 中国石油化工总公司
下面是兰色写的一个公式,供同学们参考吧。
=INDEX(A:A,MATCH(,MMULT(-ISERR(FIND(MID(C2,COLUMN(A:X),1),A$1:A6)),B1:B24+1),))
公式重点说明:
- 用MID+Column函数对简称进行分割。
- 用FIND函数逐个查找,成功返回位置(数字),不成功返回错误值。然后用ERROR转换成TRUE或FALSE,错误的变成TRUE、正确的变成FALSE。用-(负号)再把TRUE转换成-1,把FALSE转换为0。
- MMULT函数的作用是数组的分行求和。B2:B24+1是生成{1,1,1…} 24个1组成的数组。求和的结果,全匹配的行求和结果为0,其他为负值。
- 用MATCH函数查找0的位置
- 用INDEX函数返回A列的全称。