【EXCEL】LOOKUP(,-FIND(sheet2!$B$2:$B$40,B6),sheet3!$B$2:$B$40)是什么意思,有何作用。在线等。

LOOKUP(,-FIND(sheet2!$B$2:$B$40,B6),sheet3!$B$2:$B$40)是什么意思,有何作用

应该是个数组公式。

-FIND(sheet2!$B$2:$B$40,B6)就是在字符串中查找另一个字符串,并且得出其位置。
在sheet2!$B$2:$B$40各单元格中的值如果是 1,2,3,4 这样,B6值为"2341",那么得出的结果为{4,1,2,3}。
LOOKUP(,-FIND(sheet2!$B$2:$B$40,B6),sheet3!$B$2:$B$40)

就是根据查找字符串位置得出的数组,看谁最先出现,就选出
sheet3!$B$2:$B$40中对应的值。
lookup第一参数空掉,就默认为0.追问

没理解。

追答

把范围改小点,
假如是这样的=LOOKUP(,-FIND(B1:B4,A1),C1:C4)
A1="abcdefg" B1:B4 = c ,d ,a ,g C1:C4 = 1, 2, 3, 4
那么-FIND(B1:B4,A1) 会产生这样一个数组{-3,-4,-1,-7},
公式实际运行变成
=LOOKUP(0,{-3,-4,-1,-7},{1, 2, 3, 4})
但是这个公式可能有点问题,因为lookup函数,查找的是等于或者小于第一参数的值,所以要求第二个参数是升序排列的,不然结果可能不准确。
按照这个计算,最后会得出结果4.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-24
1、-FIND(sheet2!$B$2:$B$40,B6)
返回sheet2中$B$2:$B$40是否存在于b6中的数组。
2、LOOKUP(,返回的数组,sheet3!$B$2:$B$40)
根据返回的数组,在sheet3的$B$2:$B$40返回最后一个符合条件的对应单元格信息。
如:sheet2的$B$2:$B$40中b4为“abc”,其他的均与“abc”无关。当前表的b6中包含“abc”。则find函数返回的对应数组为:
{FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,....FALSE}
也就是数组中,除了b4对应的位置为TRUE外,其他的均为FALSE。这样,符合条件的也就是sheet2的b4所对应的sheet3的b4单元格。则,当前单元格的返回值为sheet3的b4单元格的信息。
相似回答