In A2 steht:
=WENN(B1=0;1;A1/B1)
Diese Formel bis A40 runterkopieren.
In B1 steht:
{=MIN(WENN(2*(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))-GANZZAHL(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))=0;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))}
Diese Formel bis B40 runterkopieren.
In C1 steht:
=WENN(ZÄHLENWENN(B:B;"> 1") < ZEILE()-1;"";WENN(ZÄHLENWENN(B:B;">1")=ZEILE()-1;INDEX(A:A;ZEILE());B1))
Diese Formel bis C40 runterkopiert, enthält die Primfaktoren.
Die größte zu zerlegende Zahl ist 2^40+2^21 = 1.099.513.724.928
Da ist dann Schluss, weil 1.048.576 (2^20) die letzte Zeilenzahl ist, die als Wurzel resultieren könnte.
Vor Excel-2007 war sie 2^32+2^17 = 4.295.098.368 wegen 65.536 (2^16)
Wenn die Zahl selbst eine Primzahl ist, steht sie solo in C1.
Ergebnisdarstellung mit Exponenten
In D1 steht:
{=MIN(WENN(C$1:C$99 > 1;C$1:C$99))}
In D2 steht:
{=WENN(MAX(D$1:D1)=MAX(C:C);"";MIN(WENN(C$1:C$99 > D1;C$1:C$99)))}
D2 bis D11 runterkopieren.
In E1 steht:
=WENN(D1="";"";WENN(ZÄHLENWENN(C:C;D1)>1;"^"&ZÄHLENWENN(C:C;D1);"")&WENN(D2 <> "";" * ";""))
Bis E11 runterkopieren.
Das Ergebnis:
=WENN(A1>2^40+2^21;"Zahl ist zu Groß!";WENN(UND(C1=A1;A1>1);"Primzahl";"= "&TEXT(D1;"#.###")&E1&TEXT(D2;"#.###")&E2&TEXT(D3;"#.###")&E3&TEXT(D4;"#.###")&E4&TEXT(D5;"#.###")&E5&TEXT(D6;"#.###")&E6&TEXT(D7;"#.###")&E7&TEXT(D8;"#.###")&E8&TEXT(D9;"#.###")&E9&TEXT(D10;"#.###")&E10&D11&E11))
Erläuterung
Mehr als 11 verschiedene Primfaktoren können nicht vorkommen.
=2*3*5*7*11*13*17*19*23*29*31 ergibt 200.560.490.130
Zusätzlich noch *37 wären über7 Billionen - hier also zu Groß.
B1 kann man mit der Funktion REST auch kürzer fassen zu:
{=MIN(WENN(REST(A1;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5))))=0;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))}
Wegen einer Macke in dieser Funktion vor Excel-2007 wäre die größte zu zerlegende Zahl dort dann aber nur 2^28-1 = 268.435.455
Ist jetzt anscheinend behoben ?