在Excel表格中,两列单元格相减,即A列的数减去B列的数

在Excel表格中,两列单元格相减,即A列的数减去B列的数在Excel表格中,两列单元格相减,即A列的数减去B列的数。
当A列的数小于B列的数时,则A列的数自动加10或者20或者30。也就是说A列的数必须先转为大于B列的数再进行减法运算。例如:1-8=3中的1先加10再减8得3;6-13=3中6先加10再减13得3;4-17=7中的4先加20再减17得7;2-25=7中的2先加30再减25得7。现在如何用公式或者数组公式来表达?

看似简单的问题,却还是有一定难度的。测试了部分数据,因为测试的数据有限,不能肯定公式是否能满足所有数据情况。假设对A1、B1两个数据来计算,题主试试下面的公式吧:

=IFERROR(LOOKUP(B1,A1+10*(ROW($1:$99)-1))+10,A1)-B1

同时按Ctrl+Shift+Enter三键输入数组公式

追答

以追问另一个人的截图数据,前面的公式是可以得出正确结果的。

追问

你这个公式遇到A、B列的数相等时就在A列中加10,这里就不够完美了,其它的都适合用

追答

考虑A、B相等的情况,把公式中lookup中的第1参数的B1,修改为减去一个小于1的数就可以了:
=IFERROR(LOOKUP(B1-0.1,A1+10*(ROW($1:$99)-1))+10,A1)-B1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-12

如下图,在C1中输入公式

=CEILING(ABS(A1-B1),10)+A1-B1

回车确认后下拉填充。

追问

你好,当A列的数大于B列时,其中的数也是加10了,其实这里就不需要再加10了,只有小于的时候才加10的

追答

=IF(A1<B1,CEILING(ABS(A1-B1),10),0)+A1-B1

追问

现在完美了,谢谢你!

本回答被提问者采纳
第2个回答  2018-04-12
上截图!!!!!!!追问

差不多,必须要使A列的数大于B列的数,这样减法运算才能去正数,而不是取绝对值

追答

上截图!!!!!!!

追问

那个例如就是,遇到A列数小于B列数就自动换算。A列大于B列就正常运算。

追答

公式的话在A列就循环引用了。

追问

不明白的

追答

又绕回来了
上截图!!!!!!!

追问

这是部分截图,再多也是一样的。

追答

A2下拉?你没有说明你要的结果在哪一列呈现
=B2+C2

追问

想多了

追答

明确的说 你也想多了