2017-09-25 251 views
1

在公式的部分中,我有如下所示的内容。在excel公式中将地址转换为地址

MATCH(TRUE, $B3:$B$28 < 0, 0) 

我想转换成排(),柱()和尝试了以下

MATCH(TRUE,INDIRECT("B" & ROW() & ":B28") < 0, 0) 

但式的输出是不一样的。你能帮助解决这个公式吗?谢谢

+0

您是否可以添加一些示例数据来显示您现在的位置,以及在您的问题得到解答后您想要的位置?很难想象你的问题只有一个数字范围的Excel单元格。 –

+0

嗨,基本上我的公式是如此之大,我能用MATCH(真实的,$ B3:$ B $ 28 <0,0)的方法得到它的正确性。所有我想要他的基于行()的范围。因为我使用程序生成Excel工作表,所以我无法手动拖动公式,这会自动将公式更改为MATCH(TRUE,$ B4:$ B $ 28 <0,0),MATCH(TRUE,$ B5:$ B $ 28 <0,0)..等等MATCH(TRUE,$ B28:$ B $ 28 <0,0)。相反,我想改变范围,如“B”和Row()&“:B28”。所以当我以编程方式生成基于该行正确应用的公式时。谢谢 – NSN

+1

你可以用公式ROW()创建一个帮助列,然后引用该列,如MATCH(TRUE,INDIRECT(“B”&HelperColumn&“:B28”)<0,0)? – rwilson

回答

2

可以包裹内部INDEXINDIRECT功能

=MATCH(TRUE,INDEX(INDIRECT("B" & ROW() & ":B28"),0,0) < 0, 0) 

这是阵列式所以通过按压Ctrl键 + + 输入提交它。

+0

是的,在我看到您的回复之前,我做了类似的事情并且能够修复它。我仍然会接受你的回答,所以其他论坛用户可以使用你的解决方案。 – NSN

2

你应该用SUM formula包装ROW()公式。这样您的ROW()公式将从数组转换为数字,并将与公式的其他部分一起使用,从而为间接生成有效参考。请尝试下面的公式。 =MATCH(TRUE,INDIRECT("B" & SUM(ROW()) & ":B28")<0,0)

+1

我不知道的酷招。 – rwilson

+1

哇,绝妙的诀窍 – NSN