我在excel中有一个数组,看起来像这样,但要大得多:
A B C D E F G
0 0 0 0 2.78 2.48 2.11
0 0 0 3.11 2.94 2.78 2.15
0 0 0 2.72 2.7 2.2 2.15
0 1.68 2.44 2.29 2.13 0 0
1.89 1.97 2.43 2.07 0 0 0
我试图找到一个区间内的所有值,然后根据下面的图表用不同的值替换它们。第一行中的值是区间的极限,第二行表示我想插入上面数组中的值。例如,单元格A5中的值=1.89。1.89在1.8和1.9之间,所以根据下面的图表,我希望输出为19.9192。
A B C D E F G ........>
1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2
19.51 19.721 19.9192 20.1088 20.2903 20.4644 20.6318 20.7928 20.9484 21.0986 21.2441 21.3849 21.5214 21.654 21.7829 21.9083 22.0304
在查找值方面,我尝试了以下方法:
=AND(A1 > Lower limit ,A1< Upper limit)
并将下限/上限用作图表中的相邻单元格。例如,
=AND (A1> A10, A<A11)
其返回FALSE或TRUE的值,这取决于小区A1是否在指定的间隔内。我意识到这不太正确,但我不知道该怎么办。如果它为TRUE,我不确定如何根据第二个图表插入我想要的值-例如19.9192,如果值在1.8和1.9之间,如果为FALSE,我不知道如何继续检查下一个间隔,并不断检查间隔,直到找到正确的间隔,并适当地替换单元格。我认为可能需要一个循环,但我对excel没有太多的了解,也没有正确的语法来尝试它。
再次查看您的参考数据,格式的精度为0.1。而输入数据是0.01和0.1。另一个条件是你取差的下界。因此,我会将值1st取整,然后使用它查询ref表。例如1.89>转换为1.8>查找1.8对值>检索值。
在I2中输入:
=IFERROR(INDEX($11:$11,MATCH(INT(A1*10)/10,$10:$10,0)),"")
并将其拖动到O6。
+----【公式分解:】----+
将数字四舍五入到0.1精度>INT(A1*10(/10
在选择>匹配((中查找1.8位置
从识别的位置检索值>index((
希望能有所帮助。(: