0

我正在尝试为产品创建定价矩阵,但使用 Index/Match 或 SumProduct 公式对我来说是一场噩梦,我想知道 VBA 是否会更容易?

本质上,如果产品的宽度或高度介于两个数字之间,我需要引用的价格才能采用下一个定价范围。(注意:在公式中四舍五入或使用上限函数也不适用于我)

我尝试使用的代码示例是:

=SUMPRODUCT(--(HeightRange=CEILING(Height,1000))*--(WidthRange=CEILING(Width,10))*PriceRange)

=INDEX(PriceRange,MATCH(MIN(ABS(HeightRange-Height)),ABS(HeightRange-Height),-1),MATCH(MIN(ABS(WidthRange-Width)),ABS(WidthRange-Width),-1))

示例表: 在此处输入图像描述

4

3 回答 3

1

利用:

=INDEX(B:J,MATCH(N3,A:A),MATCH(M3,B$3:J$3))
于 2019-02-26T21:47:02.250 回答
0

您可以像上面两个人所说的那样直接使用公式......我在这里:

=INDEX($A:$J,MATCH($N3,$A:$A,0),MATCH($M3,B$3:J$3,0))
于 2019-02-27T01:24:07.690 回答
0

你可以=AGGREGATE()像这样使用:

=INDEX(A:E,AGGREGATE(15,3,(($A$4:$A$11>=N3)/($A$4:$A$11>=N3))*ROW($A$4:$A$11),1),AGGREGATE(15,3,(($B$3:$J$3>=M3)/($B$3:$J$3>=M3))*COLUMN($B$3:$J$3),1))

于 2019-02-26T22:07:38.260 回答