首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在包含varible的数组中查找值

在包含varible的数组中查找值
EN

Stack Overflow用户
提问于 2015-06-28 16:35:13
回答 3查看 54关注 0票数 0

在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中有一个变量,它是搜索数组的起点。

我想要做的是在C1中输入变量,例如8,在这个例子中,得到"BR“之前的数字。或者1-6应该给出6,7-10的值,10的值,11-14的值,等等。

在我的帮助下

代码语言:javascript
复制
=INDIRECT(ADDRESS(MATCH("BR", INDIRECT(ADDRESS(MATCH(C1,level, 0), 3) & ":" & ADDRESS(ROWS(level), 3)), 0)+MATCH(C1,level, 0)-2, 3))

它可以正常工作,除非"BR“后面的数字是变量。在这种情况下,它给出了前面的"BR“上面的数字。

示例11给出10

此外,"BR“在数组中的位置可能会发生变化。

谢谢你的帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-28 18:04:50

这里还有另一种选择。

代码语言:javascript
复制
=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)
票数 0
EN

Stack Overflow用户

发布于 2015-06-28 17:26:18

试试这个数组-输入的公式。输入公式,按住ctrl-shift,同时按enter。如果操作正确,Excel将在公式栏中将大括号{...}放在公式旁边。

代码语言:javascript
复制
=INDEX(Level,-1+MATCH(TRUE,(Level="BR")*ROW(Level)>MATCH($C$1,Level,0),0))
票数 1
EN

Stack Overflow用户

发布于 2015-06-28 17:35:31

您提供的示例在我的excel中运行得很好,但是,第3列包含您提到的C1单元格,也许这就是为什么在文件中搞砸它的原因。是否确定用于输入搜索值的单元格不影响您的级别定义?

你能让你的桌子方便点吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31102143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档