永发信息网

有个excel函数公式,求高手帮忙详解

答案:4  悬赏:20  手机版
解决时间 2021-01-27 07:26
  • 提问者网友:轮囘Li巡影
  • 2021-01-26 10:41
以下公式是判断质数和合数的公式,请高手详解如下公式:
=IF(SUMPRODUCT((MOD(A1,ROW(INDIRECT("1:"&A1)))=0)+0)>2,"合数","质数")
注:本人看不懂
最佳答案
  • 五星知识达人网友:拜訪者
  • 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就是质数。
全部回答
  • 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,就判断为合数,否则判断为质数.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯