![]()
在日常工作中,我们少不了跟客户或者供应商进行定期的对账。每个客户的对账要求都各不相同,有时候我们难免会碰到一些奇葩的对账要求。而我们只能按照对方的要求对数据进行预先处理,然后对账。该客户要求数据中第三位小数大于等于 5,则保留,小于 5,则取前面两位。现在关注【秋叶 Excel】
发送关键词【福利】
客户的要求是对第三位小数进行判断,所以我们需要先提取出第三位小数。因为原始数据最多只有第三位,所以我们可以直接用 right 函数从【B2】单元格数据的右边取一位数字,也就是我们需要的第三位小数了。如果数据的位数不止三位,那我们就需要换成 MID+FIND 函数来取出第三位小数了。=MID(B2,FIND(".",B2)+3,1)
先用 FIND 函数查找小数点所在的位置,然后加 3,就是第三位数字所在的位置。最后用 MID 函数从这个位置开始截取一位数字,正好是第三位数字。MID(text,start_num,num_chars)意思是:从一个字符串的指定位置开始,截取多少个字符。FIND(find_text,within_text,start_num)把取出的第三位数字与 4 进行比较。如果小于等于 4,就舍去,如果大于 4 就保留不变。如果小于等于 4,就返回 TRUE,如果大于 4 就返回 FAlSE。大家有没有发现上图中得出来的结果全都是 FALSE。是因为 RIGHT 等文本截取类函数,返回的结果是文本,并不是真正的数字。我们只需要对这类文本型数字进行四则运算就行,比如减负运算,或者乘法运算等等。先将 RIGHT 函数截取出来的文本型数字进行乘法运算,将其转换为真正的数字,然后与 4 进行比较。最后使用 TRUNC 函数进行处理后,就能得到我们想要的结果。=TRUNC(B2,3-(RIGHT(B2,1)*1<=4))
使用 RIGHT 函数截取出的数字如果小于等于 4,就返回 TRUE,然后用 3 减去这个 TRUE,结果为 2,再利用 TRUNC 函数对数据取两位小数,就是我们想要的结果。如果 RIGHT 函数截取出的数字大于 4,就返回 FALSE,3 减去 FALAE,结果还是 3,作为 TRUNC 的第二参数,还是取出原数据不变。此处理的 TRUE 和 FALSE 在进行运算时相当于 1 和 0。TRUNC( number,num_digits )除了上面「四舍五不入」,我们还可能会遇到其他的舍入问题。Excel 并没有直接提供这类舍入函数,但是通过其他对函数的灵活组合运用,这些问题其实也可以解决。比如,我们以五舍六入为例给大家进行讲解,对上面的例子稍加修改,要求是:保留两位小数。如果第三位小数小于等于 5 则舍掉,大于 5 则进位。先将【B2】单元格的数据减去 0.001,再用 ROUND 函数进行四舍五入。因为要求是保留两位小数,所以需要看第三位小数是多少。ROUND 函数是四舍五入,我们这里对原数据进行了修正,将第三位数字是 5 的减去 0.001,如果结果是 4 或者以下,就舍去,如果结果是 5 或者以上的,则进位。如果你想学习更多好用的 Excel 技巧,那么千万别错过《秋叶 Excel 3 天集训营》!
3 大学习模块,每天半小时,教你玩转 Excel!
🎁
![]()