Wie kann man in Excel prüfen ob ein Wert eine Primzahl ist?
Gibt es eine Formel oder eine Möglichkeit in VBA?
4 Antworten
Hallo ich habe eine Function VBA, die diese Ergebnisse liefert:
hier der Code:
Function PRIMZAHL(rngZelle As Range) As Boolean
On Error Resume Next
If rngZelle.Value < 2 Then PRIMZAHL = False: GoTo aus 'zu klein
If Int(rngZelle.Value) <> rngZelle.Value Then PRIMZAHL = False: GoTo aus 'Dezimalstellen
For i = 2 To rngZelle.Value ^ 0.5
If rngZelle.Value Mod i = 0 Then PRIMZAHL = False: GoTo aus
Next i
PRIMZAHL = True
aus:
End Function

Super Klasse. Vielen lieben Dank! Genau so etwas habe ich gesucht. 👍
=ISTPRIMZ(Zahl)
Function ISTPRIMZ(ByVal x As Long) As Boolean
If x < 2 Then
ISTPRIMZ = False
Exit Function
End If
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then
ISTPRIMZ = False
Exit Function
End If
Next i
ISTPRIMZ = True
End Function
Geht z.B. mit dieser Formel:
=IF(A2=2,"Primzahl",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Primzahl","Keine Primzahl"))
A2 ist in diesem Fall die Zelle, die die Zahl enthält, die überprüft wird
Weitere Infos sh. :
https://de.extendoffice.com/documents/excel/3681-excel-check-if-prime-number.html
Ein einfacher Weg wäre, Dir die Primzahlen in einem Tabellenblatt zu hinterlegen
... und per Wennabfrage Dir den Treffer anzeigen lassen.

