Excel公式根据两个单元格的值对单元格的值

我可能在这里要求太多,但这也是我正在从下面的Excel表格的工作要求的一部分,我想find一个指定的单元格的价值,如果我给两个不同的值,我想达到与Excel中的OFFSETMATCHINDEX函数。

有两种情况

情况1:

如果我给了value1 = 3500(不在第一列)和value2 = 75,Result1 = 1.59和Result2 = 1.89

情景2:

如果我给了value1 = 3500和value2 = 85(这两个值都不在网格的第一行和第一列),结果值应该是Result1 = 1.59,Result2 = 1.89,Result3 = 1.51,Result4 = 1.81`

我如何在Excel中实现这一点?

 Measure |2.5 |5 |10 |25 |50 |75 |100 |150 |200 250 |0.835 |0.75 |0.69 |0.6 |0.528 |0.455 |0.383 |0.314 |0.245 500 |1.044 |0.938 |0.863 |0.75 |0.675 |0.6 |0.525 |0.451 |0.378 1000 |1.391 |1.25 |1.15 |1 |0.923 |0.845 |0.768 |0.689 |0.61 2000 |1.948 |1.75 |1.52 |1.4 |1.321 |1.243 |1.164 |1.083 |1.002 3000 |2.435 |2.188 |1.95 |1.75 |1.67 |1.59 |1.51 |1.426 |1.343 4000 |2.853 |2.563 |2.3 |2.05 |1.97 |1.89 |1.81 |1.726 |1.643 5000 |3.507 |3.15 |2.675 |2.4 |2.269 |2.188 |2.107 |2.021 |1.936 10000 | |4.553 |4 |3.72 |3.56 |3.477 |3.394 |3.304 |3.215 15000 | |5.691 |5 |4.6 |4.469 |4.385 |4.301 |4.209 |4.117 20000 | |6.545 |5.8 |5.3 |5.151 |5.066 |4.981 |4.888 |4.795 25000 | |7.527 |6.4 |5.83 |5.666 |5.573 |5.48 |5.377 |5.274 50000 | |9.785 |8.32 |7.579 |7.366 |7.245 |7.123 |6.99 |6.856 

假设您的工作簿被放置在命名范围Measure(B2:J13),值1(B15)和值2(B16)中,则公式:

 =INDEX(Measure,MATCH(Value_1,$A$2:$A$13,1),MATCH(Value_2,$B$1:$J$1,1)) =INDEX(Measure,MATCH(Value_1,$A$2:$A$13,1),MATCH(Value_2,$B$1:$J$1,1)+1) =INDEX(Measure,MATCH(Value_1,$A$2:$A$13,1)+1,MATCH(Value_2,$B$1:$J$1,1)) =INDEX(Measure,MATCH(Value_1,$A$2:$A$13,1)+1,MATCH(Value_2,$B$1:$J$1,1)+1) 

将返回您需要的值。 使用MATCH函数select行,用+ 1 (或类似的)有select地偏移它,然后使用INDEXselect表中的项目。

表格布局是化妆品。 没有什么可以防止列和行标签完全在别处。 命名范围引用input值。

额外的input值1000,10返回结果1.15,1,1.52,1.4。

我今天刚刚注意到这个问题,并且由于这个问题从来没有真正解决过,所以我决定回答这个问题,以供将来面对相同问题的人参考。

这是这个问题的许多可能的方法之一

假设测量表放置在Excel工作表的范围A1:J13中,值1在单元格A16中,值2在单元格C16中,结果值1到4存储在单元格范围E16:F17中,则我们可以在Excel 2010/2013中使用以下公式来提取所需的信息:

在单元格E16(存储结果1的值的单元格)中,input以下公式:

 =IF(AND(IFERROR(MATCH(A16,A1:A13,0),FALSE), IFERROR(MATCH(C16,A1:J1,0),FALSE)),INDEX((OFFSET($A$1:$J$13,(MATCH(A16,A1:A13,0)-1),(MATCH(C16,A1:J1,0)-1))),1,1), INDEX((OFFSET($A$1:$J$13,(MATCH(A16,A1:A13,1)-1),(MATCH(C16,A1:J1,1)-1))),1,1)) 

在单元格E17(存储结果2的值的单元格)中,input以下公式:

 =IF((IFERROR(MATCH(A16,A1:A13,0),FALSE))," ", INDEX((OFFSET($A$1:$J$13,(MATCH(A16,A1:A13,1)),(MATCH(C16,A1:J1,1)-1))),1,1)) 

在单元格F16(存储结果3的值的单元格)中,input以下公式:

 =IF((IFERROR(MATCH(C16,A1:J1,0),FALSE)),"",INDEX((OFFSET($A$1:$J$13,(MATCH(A16,A1:A13,1)-1),(MATCH(C16,A1:J1,1)))),1,1)) 

在单元格F17(存储结果4的值的单元格)中,input以下公式:

 =IF(AND(IFERROR(MATCH(A16,A1:A13,0),FALSE)=FALSE, IFERROR(MATCH(C16,A1:J1,0),FALSE)=FALSE),INDEX((OFFSET($A$1:$J$13,(MATCH(A16,A1:A13,1)),(MATCH(C16,A1:J1,1)))),1,1)," ") 

如果这有帮助,下面的公式似乎显示在angular落的值,假设测量是一个以A1开始的命名范围,value1和value2命名的范围:

= INDEX(测量,IFERROR(MATCH(值1,A:A,0),MATCH(值1,A:A,1)),IFERROR(MATCH(value2,1:1,0),MATCH(value2,1:1 ,1)))

= INDEX(测量,IFERROR(MATCH(值1,A:A,0),MATCH(值1,A:A,1)),IFERROR(MATCH(value2,1:1,0),MATCH(value2,1:1 ,1)+1))

= INDEX(测量,IFERROR(MATCH(值1,A:A,0),MATCH(值1,A:A,1)+1),IFERROR(MATCH(value2,1:1,0),MATCH(value2,1 :1,1)))

= INDEX(测量,IFERROR(MATCH(值1,A:A,0),MATCH(值1,A:A,1)+1),IFERROR(MATCH(value2,1:1,0),MATCH(value2,1 :1,1)+1))

不完全是你想要的,但这里是我的尝试:

B19input以下公式,然后复制并粘贴到绿色表中的所有单元格。

=IF(OR(AND($B$15=$A19,$B$16=B$18),AND($B$15>$A18,$B$15<$A20,$B$16>A$18,$B$16<C$18)),B2,0)

在这里输入图像说明