我有一个装满了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中做到这一点,我的办公室技能都不存在,所以如果我需要宏,请你给我一个很好的链接,解释宏指令读取单元格范围和类似的东西..
答案 0 :(得分: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.
中的索引因此,如果H6
中包含的值为3$
,则此函数将返回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值。
答案 1 :(得分:0)
这是一个非常全面的宏开始链接:http://dmcritchie.mvps.org/excel/getstarted.htm
如果您的过程非常有条件,那么制作宏可能会更好,并且知道如何编写宏将是一项非常有价值的技能。
一旦你尝试了一些东西并写了一些代码,你可以在这里发布它,我们可以帮助你在无法工作的地方,或者如果你不知道如何开始在一个地区你可以问另一个合适的问题。