加载参数匹配的电子表格记录

时间:2014-09-29 16:55:39

标签: excel

在Microsoft Excel中工作时,我有一个相当于购物清单的电子表格,如果数量大于0,那么我希望在另一张表格上显示说明。

这是使用INDEX函数非常简单的东西,但是这只返回匹配的第一个值。

我应该如何重新考虑下面的查询,以返回(n)

的值

=INDEX(Software!B23:Software!B34,MATCH(TRUE,INDEX(Software!A23:Software!A34<>0,0),0))

假设这是一个数组,我误以为我可以调用Array [n]来获取该位置,但事实证明这是不正确的。

感谢您的协助。

2 个答案:

答案 0 :(得分:2)

在这种情况下,您不想使用MATCH(),想要同时使用SMALL()IF()功能......

=INDEX(Software!$B$23:$B$34,SMALL(IF(Software!$A$23:$A$34>0,ROW(Software!$A$23:$A$34)),ROW(A1))-ROW(Software!$B$23)+1)

以数组公式输入

基本上,你所说的是:

给我一​​行A列中的数据&gt; 0表示Kth最小时间 现在取出那一行并从中减去我的数据集的起始行,然后从A列中的数组中返回该条目。

你也可以在IFERROR()语句中包装整个内容,以免弹出错误值。

有一个地方可以找到关于此的更多数据{@ 3}}

希望这有道理并做到这一点!

答案 1 :(得分:0)

这可能很有用(不知道这是你想要的)

Sub test_index()
Dim ii As Integer, jj As Integer
ii = 23
jj = 24
With ActiveSheet
For ii = 23 To 34

Cells(ii, 12).Formula = "=INDEX(Software!B" & ii & ":Software!B" & ii & _
",MATCH(TRUE,INDEX(Software!A" & ii & ":Software!A" & ii & ",0,0),0))"

Next
End With
End Sub