EXCEL中当某一单元格的数值等于某两个单元格的数之和时,在另外一个单元格输出以那两个单元格为坐标的值
如图。假如我在C12中输入55.1,那么51.1=A3+G2,而A3,G2对应的数是47.28,我要求在D12中显示出47.28这个数,我用了如图的公式,其它都正确,就是...
如图。假如我在C12中输入55.1,那么51.1=A3+G2,而A3,G2对应的数是47.28,我要求在D12中显示出47.28这个数,我用了如图的公式,其它都正确,就是54.9 和55.9,就是这种小数后面是9的时候返回的值不是上表中的值,是哪里不对啊?????
展开
展开全部
这是浮点误差造成的。因为MOD(54.9,1)的结果是0.899999999999999,比0.9小,所以会找到前一列。
公式改为=INDEX($B$3:$K$10,MATCH(INT($C12),$A$3:$A$10),MATCH(ROUND(MOD($C12,1),1),$B$2:$K$2))
即人为确定一下精度。
也可用下面这个公式
=VLOOKUP(INT(C12),$A$3:$K$10,MOD(C12,1)*10+2)
第二个公式也存在MOD(C12,1)的浮点误差,但通过乘10+2(也是浮点运算)又调整回来了。
公式改为=INDEX($B$3:$K$10,MATCH(INT($C12),$A$3:$A$10),MATCH(ROUND(MOD($C12,1),1),$B$2:$K$2))
即人为确定一下精度。
也可用下面这个公式
=VLOOKUP(INT(C12),$A$3:$K$10,MOD(C12,1)*10+2)
第二个公式也存在MOD(C12,1)的浮点误差,但通过乘10+2(也是浮点运算)又调整回来了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询