自定義函數:
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(數組公式)