从Excel中大小不同的两列中减去值
下表有四列:从Excel中大小不同的两列中减去值,excel,excel-formula,Excel,Excel Formula,下表有四列: > x1 y1 x2 y2 > 1.2 800.5 1.4 200 > 2.6 850.3 7.6 300 > 3.1 900.1 9.2 400 > 4.6 949.9 5.5 500 > 5.2 999.7 10.2 600 > 6.7 1049.5 8.4 700 > 7.8 1099.3 > 8.3 1149.1 &
> x1 y1 x2 y2
> 1.2 800.5 1.4 200
> 2.6 850.3 7.6 300
> 3.1 900.1 9.2 400
> 4.6 949.9 5.5 500
> 5.2 999.7 10.2 600
> 6.7 1049.5 8.4 700
> 7.8 1099.3
> 8.3 1149.1
> 9.1 1198.9
> 10.1 1248.7
我想再有两个专栏。一个包含与列x1和x2匹配的数字,另一个包含与行匹配对应的值之间存在差异的数字,如下表所示:
x1 y1 x2 y2 x3 y3 = y2-y1
1.2 800.5 1.4 200 1.2 (800.5-200)
2.6 850.3 7.6 300 5.2 (999.7-500)
3.1 900.1 9.2 400 7.8 (1099.3-300)
4.6 949.9 5.5 500 8.3 (1149.1-700)
5.2 999.7 10.2 600 9.1 (1198.9-400)
6.7 1049.5 8.4 700 10.1 (1248.7-600)
7.8 1099.3
8.3 1149.1
9.1 1198.9
10.1 1248.7
换句话说,列x3应包含与x1和x2匹配的值(条件是数字应更接近,例如1.2和1.4),而y3应包含减去y1和y2得到的值,对应于匹配行。必须使用x1、x2、y2和y3对x3和y3进行评估
到目前为止,我一直在手工操作,但这是一个很长的表格让人筋疲力尽,我想excel中应该有一个方法,我无法理解我们的方法。我试过了
=INDEX(x1_array,MATCH(x2_array,y1_array,-1))
但它看起来像一个不完整的公式,我甚至不确定我是否做对了,因为列大小不同。有人能帮我想一个办法吗
如果我不清楚,我已经画了一个例子供参考:
这里有一种解决方法:查看下图,并在A-D列显示您的数据 首先,您需要一个列E来查找最接近的x1以匹配每个x2。这里有一个资源: 然后,您需要匹配F列中的Y1。例如,F2是
=MATCH(E2,$A$2:$A$11,0)
最后,从包含y2s的列中偏移匹配,就完成了。在我的例子中,G2是
=OFFSET($A$1,F2,1)
,H2只是=G2-D2
你能保证x1列从上到下的顺序吗?是的。x1和x2都已排序。您需要2个索引/匹配
,一个返回y1,一个返回y2。当x3
为5.2
时,我们为什么要减去600
?与x2
值5.5
相对应的500
不是更有意义吗?@jnevil它一定是一个输入错误,因为500是唯一一个未计算的数字,有2600个。。。不过他需要澄清一下。谢谢@wkzhu。这并不是我想象的那样,但使用你的解决方案,它工作得非常完美!