Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

24 Zahlen

24 Zahlen
06.09.2008 19:46:00
Udo
Hallo !
Ich hab immer in einer Excel Spalte von 1-24 zufällige Zahlen von 0 - 36. ( Die 0 gehört als Zahl dazu )
Davon sind immer einige mehrfach eingetragen.
Nehmen wir an es sind die Zahlen
33 10 12 16 19 32 9 10 8 34 4 15 7 9 9 16 35 7 16 12 21 24 22 4
Wie kann ich denn jetzt am geschicktesten rausfinden, welche Zahlen von 0 bis 36 fehlen ?
Vielen Dank für Euer feedback.
LG Udo

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 24 Zahlen
06.09.2008 20:09:24
Tino
Hallo,
so müsste es gehen.
Mit Formel:
 AB
1330
2101
3122
4163
519 
6325
796
810 
98 
1034 
114 
121511
137 
14913
15914
1616 
1735 
18717
191618
2012 
212120
2224 
2322 
24423
25  
26 25
27 26
28 27
29 28
30 29
31 30
32 31
33  
34  
35  

Formeln der Tabelle
ZelleFormel
B1=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B2=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B3=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B4=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B5=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B6=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B7=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B8=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B9=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B10=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B11=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B12=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B13=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B14=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B15=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B16=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B17=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B18=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B19=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B20=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B21=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B22=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B23=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B24=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B25=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B26=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B27=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B28=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B29=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B30=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B31=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B32=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B33=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B34=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)
B35=WENN(ZÄHLENWENN(A:A;ZEILE()-1)>0;"";ZEILE()-1)

Mit VBA und sortieren:
Option Explicit

Sub SucheFehlende()
Dim Bereich As Range
Set Bereich = Range("B1:B35")
    Bereich.FormulaR1C1 = "=IF(COUNTIF(C[-1],ROW()-1)>0,"""",ROW()-1)"
    Bereich.Value = Bereich.Value

    Bereich.Sort Key1:=Bereich(1), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub


Ergebnis sieht so aus:

 AB
1330
2101
3122
4163
5195
6326
7911
81013
9814
103417
11418
121520
13723
14925
15926
161627
173528
18729
191630
201231
2121 
2224 
2322 
244 

Gruß Tino
Anzeige
24 Zahlen, so gehts ...
06.09.2008 20:13:39
Matthias
Hallo
Hier 2 Beispielzeilen in der Datei
https://www.herber.de/bbs/user/55225.xls
Die Zahlen in A4:A27 sind änderbar
Ich habe das Blatt geschützt ohne PW.
In der ersten Zeile habe ich die bedingte Formatierung genutzt
In der zweiten Zeile dann Formeln
F steht für fehlt.
Hilfts?
Gruß Matthias
AW: 24 Zahlen
06.09.2008 20:43:58
Udo
Hallo Tino,
Hallo Matthias,
ich bin ja ganz begeistert. Vielen Dank Euch beiden. Ich denke ich komm damit klar.
Bin ein bisschen traurig, daß mir selbst nie solch schöne codes einfallen :-(
Schönes Wochende allerseits
und nochmals vielen Dank
Udo
Anzeige
LÜCKENLOSE Auflistung fehlender Zahlen
06.09.2008 21:12:00
WF
Hi Udo,
in A1 bis A24 stehen Deine (auch mehrfach vorkommenden) Zahlen.
in B1 steht die Arrayformel:
{=KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24);0));ZEILE($1:$37));ZEILE(A1))-1}
runterkopieren
und es werden Dir die Zahlen aufgelistet, die zwischen 0 und 36 in der Spalte A nicht vorkommen.
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
http://www.excelformeln.de/
die ultimative Formelseite
Anzeige
wieder Klasse ...
07.09.2008 08:11:12
neopa
Guten Morgen Walter,
... Deine Lösungsformel. Eben eine echte WF-Formel!
Man könnte noch ein bißchen Schnickschnack als Beiwerk zu Deiner Formell anfügen, um am unteren Ende evtl. noch störende Fehlermeldungen zu unterdrücken:

{=WENN(ZEILE()>37-SUMME(--(HÄUFIGKEIT(A:A;A:A)>0));""; KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24);));ZEILE($1:$37));ZEILE())-1)  }


Für Mitleser: Wenn Die Formel nicht in der ersten Zeile beginnt, muss natürlich ZEILE(A1) anstelle ZEILE() geschrieben werden.
Ein schönen Sonntag wünsch ich noch.
Gruß Werner
.. , - ...

Anzeige
Auflistung ohne Fehlermeldungen
07.09.2008 11:35:00
WF
Moin Werner,
Deine Lösung mit Häufigkeit funktioniert aber nur, wenn in A1 bis A24 ausschließlich Zahlen von 0 bis 24 vorkommen.
Können auch andere vorkommen, dann:
{=WENN(ZEILE(A1)>ANZAHL(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24);0));ZEILE($1:$37))); "";KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24);0));ZEILE($1:$37));ZEILE(A1))-1) }
Salut WF
trotzdem HÄUFIGKEIT() ...
07.09.2008 18:07:00
neopa
Hallo Walter ,
... auch wenn entgegen der Aufgabenstellung auch andere Zahlen als 0 bis 36 (was Du auch sicherlich meintest, nicht 0 bis 24) in A1:A24 enthalten sind, könnte man die Fehlermeldung mittels HÄUFIGKEIT() unterdrücken. natürlich etwas angepasst.

{=WENN(ZEILE()>37-SUMME(--(HÄUFIGKEIT(N(A1:A360));""; KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24);));ZEILE($1:$37));ZEILE())-1) }


Ist halt etwas kürzer ;-)
Ein schönen Abend wünsch ich noch.
Gruß Werner
.. , - ...

Anzeige
mit HÄUFIGKEIT - aber kürzer ;-)
07.09.2008 20:46:32
FP
Hallo Werner,
fehlende Zahlen von 0 bis 36 im Bereich A1:A24:
{=REST(MIN(KKLEINSTE((HÄUFIGKEIT(A$1:A$24;ZEILE($1:$37)-1)>0)*37+ZEILE($1:$38)-1;ZEILE(A1));37); 37) }
so einfach ist das ;-)
Servus aus dem Salzkammergut
Franz
das ist natürlich wieder ein echter FP-Hammer ...
08.09.2008 08:57:42
neopa
Guten Morgen Franz,
... und haut mich glatt um. Da wär ich wohl nie draufgekommen, selbst wenn ich nicht so abgespannt wäre wie zur Zeit (ein Glück das ich bald Urlaub hab).
Eine schöne Woche Dir
Gruß Werner
.. , - ...
AW: Bedingung mit SUMME(1/ZÄHLENWENN...)
08.09.2008 09:50:00
Erich
Hi zusammen,
jetzt noch eine etwas kürzere Abbruchbedingung zu Franz' und Walters Formel:
 ABCDEFG
12000000
215111111
37444444
415666666
510999999
632111111111111
731141414141414
826161616161616
95191919191919
1033222222222222
1118242424242424
1227252525252525
1330282828282828
1420292929292929
1517353535353535
1623363636363636
173#ZAHL!#ZAHL!0   
1813#ZAHL!#ZAHL!0   
1912#ZAHL!#ZAHL!0   
208#ZAHL!#ZAHL!0   
2134#ZAHL!#ZAHL!0   
2221#ZAHL!#ZAHL!0   
2317#ZAHL!#ZAHL!0   
2420#ZAHL!#ZAHL!0   

Formeln der Tabelle
ZelleFormel
B1{=KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24); 0)); ZEILE($1:$37)); ZEILE(A1))-1}
C1{=WENN(ZEILE()>37-SUMME(--(HÄUFIGKEIT(N(A1:A36<37); {1.0})>0)); ""; KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24); )); ZEILE($1:$37)); ZEILE())-1)}
D1{=REST(MIN(KKLEINSTE((HÄUFIGKEIT(A$1:A$24;ZEILE($1:$37)-1)>0)*37+ZEILE($1:$38)-1;ZEILE(A1)); 37); 37)}
E1{=WENN(ZEILE(A1)>ANZAHL(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24); 0)); ZEILE($1:$37))); "";KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24); 0)); ZEILE($1:$37)); ZEILE(A1))-1)}
F1{=WENN(SUMME(1/ZÄHLENWENN($A$1:$A$24;$A$1:$A$24))<38-ZEILE(); KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(ZEILE($1:$37)-1;(A$1:A$24); 0)); ZEILE($1:$37)); ZEILE(A1))-1;"")}
G1{=WENN(SUMME(1/ZÄHLENWENN($A$1:$A$24;$A$1:$A$24))<38-ZEILE(); REST(MIN(KKLEINSTE((HÄUFIGKEIT(A$1:A$24;ZEILE($1:$37)-1)>0)*37+ZEILE($1:$38)-1;ZEILE(A1)); 37); 37); "")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Das funktioniert nicht bzw. nur,
08.09.2008 12:12:23
WF
Hi Erich,
wenn in A1:A24 keine Leerzellen vorkommen.
wenn in A1:A24 keine Zahlen außerhalb des Bereiches 0:36 vorkommen.
Salut WF
AW: Das funktioniert bei der gestellten Aufgabe
08.09.2008 12:20:00
Erich
Hi Walter,
na ja, ich bin halt von der Aufgabenstellung ausgegangen:
"Ich hab immer in einer Excel Spalte von 1-24 zufällige Zahlen von 0 - 36."
Grüße von Erich aus Kamp-Lintfort
hab drei Macken entdeckt
08.09.2008 19:20:28
WF
Hallo Franz,
2 harmlose:
Die Formel funktioniert nicht, wenn in A1:A24 eine Fehlermeldung vorkommt.
Wird die Formel weiter als 37 Zeilen kopiert, erscheint #ZAHL! (würde ne Rolle spielen, wenn man die bis-Zahl - hier 36 - durch ein Eingabefeld dynamisch gestalten will.
eine gravierende:
Die fehlende Null wird nicht gelistet, wenn in A1:A24 auch negative Zahlen vorkommen.
Hab bei uns nen Beitrag (fehlende Zahlen von 1 bis 20 - also ohne Null) mit Deiner Formel als Alternative gebastelt. Muss noch freigegeben werden.
Salut WF
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige