如何设条件利用excel软件判断一个数是质数还是合数
同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
自定义函数:
Function
ZHSHU(x
As
Long)
As
String
Dim
i
As
Long
If
x
=
1
Then
ZHSHU
=
"??":
Exit
Function
If
x
=
2
Or
x
=
3
Then
ZHSHU
=
"质数":
Exit
Function
For
i
=
2
To
Int(Sqr(x))
If
Int(x
/
i)
=
x
/
i
Then
ZHSHU
=
"合数"
Exit
Function
Else
ZHSHU
=
"质数"
End
If
Next
i
End
Function
回到Excel中,在某单元格输入=ZHSHU(A1)
就可以返回A1是质数还是合数。
也可以不用自定义函数,直接输入
=IF(A1=1,"??",IF(OR(A1=2,A1=3),"质数",IF(OR(INT(A1/ROW((INDIRECT("2:"INT(SQRT(A1))))))=A1/ROW((INDIRECT("2:"INT(SQRT(A1)))))),"合数","质数")))
但要同时按Ctrl、Shift、Enter(数组公式)
EXCEL里怎么判断质、合数
详细参见我的blog:
假设在a1单元格是要判断的数据,则在其他空白单元格(如a2)输入数组公式(输入方法:输入公式后,不是按回车,而是按组合键
ctrl+shift+enter):
=if(and(a14,a1=int(a1)),if(or(int(a1/row(indirect("2:"int(sqrt(a1)))))*row(indirect("2:"int(sqrt(a1))))=a1),"合数","质数"),if(or(a1={2,3}),"质数","合数"))
即可判断出a1里的数据是质数还是合数。不过,要注意其范围:可判别不大于4295098368的数(包括小数和所有负数),可判别出的最大质数为4295098349
在Excel中怎么判断某个数是质数还是合数?
详细参见我的blog:
假设在A1单元格是要判断的数据,则在其他空白单元格(如A2)输入数组公式(输入方法:输入公式后,不是按回车,而是按组合键 Ctrl+Shift+Enter):
=IF(AND(A14,A1=INT(A1)),IF(OR(INT(A1/ROW(INDIRECT("2:"INT(SQRT(A1)))))*ROW(INDIRECT("2:"INT(SQRT(A1))))=A1),"合数","质数"),IF(OR(A1={2,3}),"质数","合数"))
即可判断出A1里的数据是质数还是合数。不过,要注意其范围:可判别不大于4295098368的数(包括小数和所有负数),可判别出的最大质数为4295098349
excel同时判定两个数据为质数或合数
需要写自定义函数判断是否质数
Alt+F11,插入模块,自定义一个判断是否是质数的函数:
代码:
Function ZS(nNum) As Boolean
Dim n, i
ZS = True
If nNum = 3 Then Exit Function
n = Int(Sqr(nNum))
For i = 2 To n
If nNum / i = nNum \ i Then ZS = False: Exit Function
Next
End Function
C2公式:
=IFS(zs(A2)+zs(B2)=0,"合合",zs(A2)+zs(B2)=2,"质质",zs(A2),"质合",zs(B2),"合质")
下拉填充即可。
excel函数公式判断质数合数条件公式?
B2输入
=IF(SUMPRODUCT(N(MOD($A2,ROW(INDIRECT("1:"(A2))))=0))2,"合","质")
公式下拉