帮忙解读下这个Excel函数公式 谢谢
{=INDEX(地址对照表!A:A,MIN(IF(ISNUMBER(FIND(地址对照表!$B$2:$B$338,AC7)),ROW($2:$337),2^20)))&"...
{=INDEX(地址对照表!A:A,MIN(IF(ISNUMBER(FIND(地址对照表!$B$2:$B$338,AC7)),ROW($2:$337),2^20)))&""}
展开
展开全部
首先,这个数组公式有一处错误。其中的“338”、“337”应该改一致,否则返回值为“#N/A”。
这个公式的意思是:拿“地址对照表”中的“B2:B338”单元格值,与当前表格的AC7单元格的值进行比较。若“B2:B338”中有多个单元格的值都包含在AC7单元格中,就返回排在最靠上(即行号最小)的B列单元格的左边(即A列)单元格的值,若没有找到对应匹配值,则返回空。
若对Excel公式不熟悉,这么说的确有些绕,
就拿图说事吧(以返回值放在当前表格B列为例),相信你能看明白。
·
图1、地址对照表
·
·
图2、当前表
·
·
举例:以“当前表的AC8为例,在“地址对照表”的B列中,有“台湾”和“台北”包含在AC8中。因在“地址对照表”中“台北”(B8)排在“台湾”(B9)的上边,所以上述公式所在的单元格返回“台北”所在单元格B8左边单元格A8的值,即“TB”,匹配成功。
展开全部
a=FIND(地址对照表!$B$2:$B$338,AC7) 在B2至B338的每个单元格中的值中查找是否包含有AC7的值
b=ISNUMBER(a) 判断查找的返回值是否是数值,如果是数值说明包含有AC7的值,反之则是没有。
c=if(b,row($2:$337),2^20) 如果b值为真,c值返回行号,否则返回一个最大的值(这个值一般是excel的最大行数) 这里返回的是一个数组。
d=min(c) 在c数组中取最小值
=index(A:A,d) 在A列中取d的那个单元格的值。
b=ISNUMBER(a) 判断查找的返回值是否是数值,如果是数值说明包含有AC7的值,反之则是没有。
c=if(b,row($2:$337),2^20) 如果b值为真,c值返回行号,否则返回一个最大的值(这个值一般是excel的最大行数) 这里返回的是一个数组。
d=min(c) 在c数组中取最小值
=index(A:A,d) 在A列中取d的那个单元格的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询