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
![](https://images.gutefrage.net/media/user/hannes1806/1460361699407_nmmslarge.jpg?v=1460361699000)
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
![- (Formel, Microsoft Excel, VBA)](https://images.gutefrage.net/media/fragen-antworten/bilder/484055998/0_big.png?v=1672755650000)
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Super Klasse. Vielen lieben Dank! Genau so etwas habe ich gesucht. 👍
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
=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
![](https://images.gutefrage.net/media/user/diewoelfin0815/1451126177116_nmmslarge__0_0_413_413_76c9d89fe815a5f88ccfacf65b03aa53.jpg?v=1451126177000)
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
![](https://images.gutefrage.net/media/user/GutenTag2003/1588519744538_nmmslarge__0_0_330_331_af4ab91c989f18c51a60e2a994fb233a.jpg?v=1588519745000)
Ein einfacher Weg wäre, Dir die Primzahlen in einem Tabellenblatt zu hinterlegen
... und per Wennabfrage Dir den Treffer anzeigen lassen.
![- (Formel, Microsoft Excel, VBA)](https://images.gutefrage.net/media/fragen-antworten/bilder/484009768/0_big.png?v=1672732090000)
![- (Formel, Microsoft Excel, VBA)](https://images.gutefrage.net/media/fragen-antworten/bilder/484009768/1_big.png?v=1672732090000)