1.7k Aufrufe
Gefragt in Tabellenkalkulation von ponscho Mitglied (323 Punkte)
Hallo ihr lieben Makro- und Formel-Jongleure!

Für meine Ahnenforschung habe ich mir eine Familienblatt erstellt, in dem diverse Daten eingesetzt werden sollen.

In einer Zelle soll dann auch per Formel, wenn in einer anderen Zelle eine Zahl von bis eingegeben wird, die Ahnenbezeichnung dargestellt werden.
Anscheinend ist aber die Formel WENN UND auf eine bestimmte Anzahl begrenzt. Hier mal meine Formel:

="Nachnamen der "&WENN(UND(D17>=4;D17<=7);"Grosseltern";WENN(UND(D17>=8;D17<=15);"Urgroßeltern";WENN(UND(D17>=16;D17<=31);"Alteltern";WENN(UND(D17>=32;D17<=63);"Altgroßeltern";WENN(UND(D17>=64;D17<=127);"Alturgroßeltern";WENN(UND(D17>=128;D17<=255);"Obereltern";WENN(UND(D17>=256;D17<=511);"Obergroßeltern";"")))))))


Bis hierhin funktioniert sie einwandfrei, füge ich ein weiteres WENN UND hinzu, wird mir ein Fehler angezeigt.

Habt ihr eine Idee wie ich die Begrenzung aushebeln kann? Oder habt ihr eine elegantere Lösung per Makro?
Denn es sollen insgesamt 23 Ahnenbezeichnungen in die Formel hinein.

Danke und internette Grüsse
Mick

5 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Mick,

benutze anstatt WENN() die Tabellenfunktion SVERWEIS(), dann sieht die Formel so aus

="Nachnamen der "&SVERWEIS(D17;$Y$1:$Z$100;2;0)

ab Y1 abwärts stehen dann die Zahlen, die in D17 geprüft werden
ab Z1 abwärts die zugehörigen Bezeichnungen Grosseltern, Urgrosseltern....usw.

Du kannst natütlich jeden anderen Hilfsbereich wählen, je nach dem, wo er in Deiner Tagbelle nicht stört.

Gruss
Rainer
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo Rainer,

vielen Dank für Deine Hilfe!

Da ich noch nie mit SVERWEIS gearbeitet habe, stelle ich eine unwissende Frage:
da eine Generation mehrere Nummern (Kekule-Nummer) haben kann, muss ich doch mit
grösser kleiner gleich arbeiten oder nicht?

z.b.
Generation Alteltern = Kekule-Nummer 16-31, d.h. die Formel muss doch prüfen ob die Nummer z.b. 21
zwischen 16 und 31 liegt.

Wikipedia Generationsbezeichnungen

Soweit werde ich wahrscheinlich nie kommen aber mit einer Kekule-Nummer von 33.554.431 wird es eine
seeeehr lange Hilfsliste ;o)

Internette Grüsse
Mick
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Mick,

es spielt keine Rolle, wie lang Deine Hilfstabelle ist.
Habe Dir mal ein Testbeispiel erstellt, was Du nach Belieben anpassen kannst.
Teste es einfach mal.

Testbeispiel

Gruss
Rainer
0 Punkte
Beantwortet von
Hallo Mick!

Die Antwort von Rainer ist für mich bereits als höheres Excel einzustufen, zumal sie für die Lösung Deiner Frage samt Zusatzinformationen optimal ist.

Meine Gratulation ich Dich Rainer!

Nachdem es in der Frage „nur“ um 23 Verschachtelungen gegangen wäre, wollte ich Dir eine verschachtelte Wenn Formel anbieten, doch war es mir trotz recherchen nicht möglich, eine solche Formel welche einen Text ausgeben sollte zu finden.
Es gibt schon verschachtelte Wenn Formeln (dazwischen mit +), die aber leider nur mit Zahlen anwendbar sind.

Funktioniert alles nur mit Zahlen oder auch Zellbezüge in denen sich Zahlen befinden:

http://www.schmittis-page.de/index.html?/excel/t42.htm


http://www.office-loesung.de/ftopic33270_0_0_asc.php

Beispiel im obigen Link:

=WENN(G15=0;0)+WENN(UND(G15>0;G15<4);"469")+WENN(G15=9;"501")+WENN(G15=4;"565")+WENN(G15=5;"565")+WENN(G15=7;"510")+WENN(G15=8;"469")+WENN(G15>=100;E15)+WENN(G15="afr";0)+WENN(G15="fr";0)

Solange es nur um Zahlen geht, die man in G15 eingibt funktioniert es, auch wenn man E15 (Zellbezug) eingibt, wird nur eine in E15 enthaltene Zahl angeführt, sollte ein Text drinnen stehen, kommt eine Fehlermeldung.
Auch wenn man wie in der obigen Formel angeführt in G15 „afr“ oder „fr“ eingibt erscheint nicht wie vorgesehen 0 sondern eine Fehlermeldung

Warum es mit Texten nicht funktioniert kann ich nicht verstehen, wahrscheinlich hat Excel auch seine Grenzen.

Es sollte nur eine Information meiner Bemühungen sein.


Schöne Grüße an Dich und an Rainer


Paul1
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo Rainer,

super toll, jetzt hab ich es verstanden!

Zuerst dachte ich, daß ich die Zellen von oben nach unten von 1 bis 33.554.431 durchnummerieren muss.

Vielen Dank!

Internette Grüsse
Mick
...