难倒了多少大神的习题:从一个四位数中任意取三个数,令其和值尾数等于指定值。你也来试试吧!
送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
小伙伴们啊,有这样一个趣味题目,有兴趣的朋友们可以来试一试你的函数功底到底如何!
给出任意一个四位数,从其中任意选出三个数求其和值,并令其和值的尾数等于指定的数值。
怎么样?思考十秒钟,有思路了吗?
这道题目其实主要还是考察的数学逻辑思维,只要逻辑理清楚了,公式书写起来还是不太难的。
在单元格D4中输入公式“=IF((MIN(MOD(SUM(--MID($B4,{1,2,3,4},1))-MID($B4,{1,2,3,4},1)+10-$B$3,10))=0),IF(OR(MIN(MOD(SUM(--MID($B4,{1,2,3,4},1))-MID($B4,{1,2,3,4},1)+10-$B$3,10))>$B$3,ISERR(FIND(D$3,$B4)),MOD(SUM(--MID(SUBSTITUTE($B4,D$3,""),{1,2,3},1))+10-$B$3,10)=0),"",D$3),"")”,并向右向下拖曳即可。
思路:
要从四个数中任意取三个,且和值的尾数等于指定数,需要满足两个条件:
1)三个数之和减去指定数后,用10对其求余数,结果必须为0
2)待验证的0-9这几个数字必须在这个四位数中
(MIN(MOD(SUM(--MID($B4,{1,2,3,4},1))-MID($B4,{1,2,3,4},1)+10-$B$3,10))=0)部分,即是第一个条件。四位数中的四个数字之和分别减去这四个数字,再减去指定数;加上10的作用是让总的和值大于10,方便用10求余数,即尾数
OR(MIN(MOD(SUM(--MID($B4,{1,2,3,4},1))-MID($B4,{1,2,3,4},1)+10-$B$3,10))>$B$3,ISERR(FIND(D$3,$B4)),MOD(SUM(--MID(SUBSTITUTE($B4,D$3,""),{1,2,3},1))+10-$B$3,10)=0)部分,设定了三个条件:1)最小尾数大于指定数;2)待验证的0-9这几个数字必须在这个四位数中;3)三个数之和减去指定数后,用10对其求余数,结果必须为0。只有这三个条件都不满足时,才可以排除待验证的数字,否则,待验证的数字即为备选答案之一
当最小尾数大于指定数时,表明求余没有最终完成,还可以继续求余
当三个数之和减去指定数后,用10对其求余数,结果等于0是,表明当前的待验证的数字可以排除了,因为那三个已经尾数等于指定数了
整个公式利用两次IF函数进行判断,最终得到正确结果
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”
注意!前方有红包挡道!速点阅读原文消灭之!