从LOOKUP函数到VLOOKUP

时间:2018-10-23 20:11:56

标签: excel function vlookup lookup

我正在尝试使用VLOOKUP excel函数代替LOOKUP。 我已经阅读了VLOOKUP的优化信息,但无法对其进行调整。 有什么帮助吗?

以下函数返回:

  • 如果满足第一个条件,则为1>
  • -1,如果满足第一个条件是<< / li>

=LOOKUP(2,1/((E1:E9>E10)-(E1:E9<E10)))

功能范围是:查找E10值,从下至上搜索范围E1:E9,如果首先出现E10的数字>或<,则返回+1或-1

示例1

E1 = 6
E2 = 5
E3 = 5
E4 = 4
E5 = 6
E6 = 6
E7 = 5
E8 = 8
E9 = 8
  

如果E10 = 8

结果为-1,因为找到的第一个值小于E10(从E9开始并向上)

  

如果E10 = 7

结果为1,因为找到的第一个值大于E10(从E9开始并向上)

??

=VLOOKUP(2,1/((E1:E9>E10)-(E1:E9<E10));1)

或其他任何功能代替LOOKUP?

2 个答案:

答案 0 :(得分:0)

先前的假定解决方案正常工作

=VLOOKUP(2,1/((E1:E9>E10)-(E1:E9<E10));1)

但需要输入以下公式:

CTRL+SHIFT+ENTER

我尝试过使用MATCH,但对我来说,结果是无法正常工作。

还有其他想法吗?

答案 1 :(得分:0)

返回我的第一个功能:

h2:first-word{color:red}

我已经对其进行了组合,以了解其工作原理,并找到其他可能的解决方案。

  • 首先Excel将我的情况转换为 TRUE FALSE
  

如果E10 = 8

=LOOKUP(2,1/((E1:E9>E10)-(E1:E9<E10)))

  • 接下来,它将 TRUE FALSE 转换为 1 0

=LOOKUP(2,1/((FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)-(TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE)))

  • 接下来,它使“ -”操作获得:

=LOOKUP(2,1/((0,0,0,0,0,0,0,0,0)-(1,1,1,1,1,1,1,0,0)))

  • 接下来它将转换为数组:

=LOOKUP(2,1/(-1,-1,-1,-1,-1,-1,-1,0,0))

  • 下一步还将=LOOKUP(2,{-1,-1,-1,-1,-1,-1,-1,#Div/0!,#Div/0!},ROW(E1:E9))转换为数组,以获得:

ROW(E1:E9)

  • 要得出从底部顶部范围的外观,请搜索接近=LOOKUP(2,{-1,-1,-1,-1,-1,-1,-1,#Div/0!,#Div/0!},{1,2,3,4,5,6,7,8,9})的值,请返回2,因为{{1} },并且比-1

因此,现在,要了解Excel的详细说明,可以使用以下函数来获取数组:

E7=5

产生相同的结果:

E10=8

并使用先前的结果与 VLOOKUP 组合,得到与 LOOKUP 函数相同的结果,但是接受 CTRL + SHIFT + ENTER 是我的目标

=INDEX(1/((E1:E9>E10)-(E1:E9<E10)),0)