以下公式是判断质数和合数的公式,请高手详解如下公式:
=IF(SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0)+0)>2,"合数","质数")
注:本人看不懂
有个excel函数公式,求高手帮忙详解
答案:4 悬赏:20 手机版
解决时间 2021-01-27 07:26
- 提问者网友:轮囘Li巡影
- 2021-01-26 10:41
最佳答案
- 五星知识达人网友:拜訪者
- 2021-01-26 11:13
例如A1=5
INDIRECT("1:"&A1)返回引用"1:5"
ROW(INDIRECT("1:"&A1))返回数组{1;2;3;4;5}
MOD(A1,ROW(INDIRECT("1:"&A1)))是用1,2,3,4,5分别除5所得余数构成数组{0,1,2,1,0}
MOD(A1,ROW(INDIRECT("1:"&A1)))=0返回{True,False,False,False,True}
(MOD(A1,ROW(INDIRECT("1:"&A1)))=0+0返回{1,0,0,0,1}
SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0+0)对数组{1,0,0,0,1}个数求和返回2,
再用if判断,如果大于2就是合数,如果小于或等于2就是质数。
INDIRECT("1:"&A1)返回引用"1:5"
ROW(INDIRECT("1:"&A1))返回数组{1;2;3;4;5}
MOD(A1,ROW(INDIRECT("1:"&A1)))是用1,2,3,4,5分别除5所得余数构成数组{0,1,2,1,0}
MOD(A1,ROW(INDIRECT("1:"&A1)))=0返回{True,False,False,False,True}
(MOD(A1,ROW(INDIRECT("1:"&A1)))=0+0返回{1,0,0,0,1}
SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0+0)对数组{1,0,0,0,1}个数求和返回2,
再用if判断,如果大于2就是合数,如果小于或等于2就是质数。
全部回答
- 1楼网友:第四晚心情
- 2021-01-26 13:46
假设单元格b2:d2里是绩点3、3.5、4
在e3输入 =sumproduct(b$2:d$2,b3:d3)
就是你要的,公式可以向下复制。绩点可以改。
- 2楼网友:煞尾
- 2021-01-26 13:26
假设A1的值是5:
1)先来看这个公式ROW(INDIRECT("1:"&A1)),(比如A1的值是5),
此公式简化后即是row(1:5),计算结果是{1,2,3,4,5},如果A1是其它数值依此类推,
2)于是问题中的公式简化为=IF(SUMPRODUCT((MOD(A1,{1,2,3,4,5})=0)+0)>2,"合数","质数")
3)再来看这个公式:(MOD(A1,{1,2,3,4,5})=0)+0,也就是A1分别与1,2,3,4,5相除,它们的结果的余数如果等于0即是true,不等于0即是false,于是公式简化为(true,false,false,false,true)+0,再经简化即变为{1,0,0,0,1},
4)于是问题中的公式就可以简化为=IF(SUMPRODUCT(1,0,0,0,1)>2,"合数","质数")
由此可再简化=IF(2>2,"合数","质数"),
很显然:结果是“质数”
- 3楼网友:行雁书
- 2021-01-26 12:44
这个公式包含多个函数,最外层是判断(IF)函数,
如果SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0)+0)的结果大于2,返回合数,否则返回质数.
接下来分析SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0)+0)
嵌套了4个函数,要知道每个函数的意义才能正确分析公式的计算过程.
ROW(INDIRECT("1:"&A1))用于生成,从1到A1的一组数字,例如A1的值是7就生成一组数字1.2.3.4.5.6.7.
mod(是求余数,A1的值和生成的那些数字相除,求余数,得到一组结果,例如A1是7,就得到一组余数,为0;1;1;3;2;1;0,
再比较这组余数是否等于0,等于0的返回真值,不等于0的返回假值,
最后用SUMPRODUCT计算出真值的个数
最后是if函数,结果大于2,就判断为合数,否则判断为质数.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |