1

我有一张全是 wights 的桌子,行中的第一个单元格是价格,列标题是从 1 到 10 的数字 .. 像这样:

   1  2  3  4  5  6  ..
1$ 1g 9g 7g

2$ 4g 6g 8g 0g 0g 3g

3$ 4g 6g 8g 0g 0g 3g

4$ 4g 6g 8g 0g 0g 3g

.
.

我需要在excel中的这张表中编写一个小算法,它需要2个参数(param1,param2)param1来过滤一些列,param 2来过滤一些行,然后选择所需的适当权重。我不是在问算法,但我问我如何在excel中做到这一点,我的办公技能不存在,所以如果我需要宏,你能给我一个很好的链接,解释宏指令读取单元格范围和类似的东西..

4

2 回答 2

1

您不需要 VBA,但可以使用公式:

=INDEX($B$2:$G$5,MATCH(H6,INDEX(A2:A5,1,),0),MATCH(I6,INDEX(B1:H1,1,),0))

INDEX函数将接受输入INDEX(Range, row, column)并返回值。所以我们要找到输入的行和列,这是通过MATCH.

MATCH(H6,INDEX(A2:A5,1,),0)

查找包含的值H6并给出范围内的索引A2:A5.所以,如果包含的值H63$这个函数将返回3,表明你的目标值在第三行。

同样,对于以下

MATCH(I6,INDEX(B1:H1,1,),0)

您正在寻找一个值,I6但现在正在搜索列标题。因此,如果I6= 4,这将返回值 4(因为它是第四列)。

把它放在一起,你现在有一个函数是

=INDEX($B$2:$G$5, 3, 4)

它为您提供表中 Row = 3 和 Column = 4 中的值,由 给出$B$2:$G$5,或您的 lokup 值。

于 2012-10-02T12:39:35.000 回答
0

这是一个非常全面的开始使用宏的链接:http: //dmcritchie.mvps.org/excel/getstarted.htm

如果您的过程将非常有条件,那么制作宏可能会更好,并且知道如何编写宏将是一项非常有价值的技能。

一旦你尝试了一些事情并编写了一些代码,你可以在这里发布它,我们可以在它不起作用的领域为你提供帮助,或者如果你不知道如何在你可以询问的领域开始另一个适当的问题。

于 2012-10-02T13:29:25.407 回答