多语言展示
当前在线:162今日阅读:83今日分享:25

两种方法计算实际收到的货款

本条经验讲诉的是通过分步计算和一步到位计算两种方法计算实际收到的货款。在该案例中,货款情况比较复杂,有未付款的,有部分付款的,有付清的,部分付款中有货款总额,但没有实际付款数据,只有欠款数据,还和文本混杂在一起,无法直接参与计算,需要使用公式单独提取出来才能参与计算,而欠款数据位数并不固定,无法用left或者right函数直接提取,只能用mid函数结合search函数提取出来。同时,因为付款有三种情况,需要用if函数来区分后才能计算各自的实际收款。
工具/原料
1

Windows10任意版本

2

Microsoft office 2019

方法1:分步计算
1

打开表格,在“欠款”下单元格输入公式“=IF(D2=$D$2,C2,IF(D2=$D$3,0,IF(RIGHT(D2,1)='元',MID(D2,SEARCH('欠',D2)+1,SEARCH('元',D2)-1-SEARCH('欠',D2)))))”,该公式用if函数区分三种付款情况,对于未付款的,显示货款总额,对于付清的,显示0,对于部分付款的,显示欠款额,而欠款额的提取的思路为:先用search函数找到字符串中“元”字所在的位置数据,再找到“欠”字所在的位置数据,然后两者相减之后再减去1,这就是要提取的欠款额的mid函数中的要查找的欠款额的位数,而开始查询的位置为”欠“字后一位,用search函数计算“欠”字的位置信息后再加1,这就是开始查找字符的位置(因为search函数会把要查找的字段的位置也计算在内,所以查找开始位数要加1把这个查询的字段排除在查询范围之外)。

2

点击回车键,结果显示出来。

3

鼠标左键再次选择该单元格后拖动往下,所有的单元格数据都显示出来,如下图所示。

4

下面计算实际到款数,在如下图所示的F2单元格输入公式“=C2-E2”,点击回车键,结果显示出来。

5

鼠标再次选择该单元格后拖动往下,所有的单元格数据都显示出来,同时,右下角也显示了实际收款的总数,如下图红框处所示。

方法2:一个公式一步到位
1

本方法的公式参考了方法1的公式。在如下图所示的G2单元格输入公式“=IF(D2=$D$2,0,IF(D2=$D$3,C2,IF(RIGHT(D2,1)='元',C2-MID(D2,SEARCH('欠',D2)+1,SEARCH('元',D2)-1-SEARCH('欠',D2)))))”,该公式稍微修改了方法1的公式,只是对于部分付款的情况,直接用货款总额减去欠款额得出实际收款数。

2

点击回车键,结果显示出来,鼠标再次选中该单元格并拖动往下,所有数据都被计算并显示出来,比对两种方法,结果一致。

注意事项
1

对于这种比较复杂的实际案例,一步到位的公式会比较复杂,也不好一下子就能想出来,其实可以参考方法1,先分步计算,再总结经验后得出一步到位的公式。

2

如果觉得这条经验对您有用,请点击左下角的“投票”和“有得”按钮给小编一个鼓励吧

推荐信息