在varible中查找数组中的值

在Excel中,我在第3列中有一个名为“level”的数组,如下1,2,3,4,5,6,BR,7,8,9,10,BR,11,12,13,14,BR ,15,16,17,18,BR,19,20 …..在C1中有一个variables是search数组的起点。

我想要做的就是在C1中inputvariables,比如说8,在这个例子中,得到“BR”之前的数字。或者1-6应该给我6,7的值, 10的值为10,11-14的值为14等等。

有一些帮助,我想出了

=INDIRECT(ADDRESS(MATCH("BR", INDIRECT(ADDRESS(MATCH(C1,level, 0), 3) & ":" & ADDRESS(ROWS(level), 3)), 0)+MATCH(C1,level, 0)-2, 3)) 

除了“BR”之后的数字是variables之外,它工作正常。 在这种情况下,它给出了以前的“BR”
例11给出了10

此外arrays中“BR”的位置可能会改变。

谢谢你的帮助

这是另一个select。

 =INDEX(level,MATCH("BR",(OFFSET(INDEX(level,1),MATCH(C1,level,0),0,ROWS(level)-MATCH(C1,level,0))),0)+MATCH(C1,level,0)-1) 

试试这个数组input的公式。 在按下回车键的同时按住ctrl-shift来input公式。 如果您正确执行此操作,则Excel将在公式栏中放置大括号{...}

 =INDEX(Level,-1+MATCH(TRUE,(Level="BR")*ROW(Level)>MATCH($C$1,Level,0),0)) 

你提供的例子在我的excel中工作得很好,但是,第三列包含你提到的C1单元格,也许这就是为什么在你的文件中混淆了它。 你确定你用来inputsearch值的单元格不会影响你的级别定义吗?

你可以让你的桌子访问吗?