🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

SVERWEIS im SVERWEIS verschachteln?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
carosurfer
Beiträge: 20
Registriert: So 13. Nov 2011, 13:09

SVERWEIS im SVERWEIS verschachteln?

Beitrag von carosurfer » So 13. Nov 2011, 13:42

Hallo,

ich möchte mit SVERWEIS einen Wert aus einer Tabelle heraussuchen UND gleichtzeitig die passende Tabelle heraussuchen.
Mein konkretes Projekt:
Ich möchte für das Sportabzeichen in einer Tabelle die erreichte Leistung (z.B. Weitsprung) in Punkte übersetzen jedoch abhängig vom Alter des Sportlers. Also für einen 14jährigen Jungen soll die erreichte Weite von 3,10m in der Wertungstabelle für die Altersklasse 14 "nachgeschaut" werden und für einen 13jährigen in der Wertungstabelle für die Altersklasse 13.

Ich habe dazu die Tabellen untereinander angelgt, so dass sich in der Matrix nur die Zeilen-Angaben ändern - die Spalten aber gleich bleiben.

Ich habe versucht mit einer Hilfstabelle zu arbeiten, in der jeder Altersklasse eine Matrix/Tabelle zugeordnet ist aber wenn ich bekomme Calc nicht dazu die Funktin SVERWEIS zu schachteln.

Tabelle1
_____A__________B___________C__________D____
1__Name_______Alter_______Weite______Punkte
2__Tom_________14_________3,10______<Formel>
3__Jerry________13__________2,90______<Formel>

Tabelle2
_____A__________B____
1__Weite_______Punkte_
2__Alterklasse 13_______
3__2,5__________10____
4__2,75_________11____
5__3,0__________12___
6__3,25_________14___
7____________________
8__Altersklasse 14_____
9___2,5__________9____
10__2,75_________10____
11__3,0__________11___
12__3,25_________12___
13___________________
7__

Tabelle3
1___Altersklasse___Matrix
2______13_______Tabelle2.A3:Tabelle2.B6
3______14_______Tabelle2.A9:Tabelle2.B12

Mein Versuch:
=SVERWEIS(C3;SVERWEIS(B2;Tabelle3.A2:Tabelle3.B3;2;1);2;1)

Das versteht Calc nicht weil - so glaube ich - das Ergebnis aus dem zweiten SVERWEIS als Text interpretiert wird und nicht als Matrix.

Mir würde es schon reichen, wenn ich eine Zelle mit einer Variable ansprechne könnte: Zelle BV wobei B die Spalte und V ein Zahlenwert ist, der die Zeile angibt.

Ich habe schon viel im Netz gesucht und immer nur die Kombi WENN und SVERWEIS gefunden, die aber bei mehreren Tabellen sehr unübersichtlich wird und eine WENN Verschachtelung ist wohl auch limitiert. Mein Beispiel ist recht limitiert. Am Ende geht es um 20 Altersklassen und noch mal 10 Disziplinen also 200 Tabellen.

Wenn irgendjemand hier einen heißen Tipp für mich hat wäre ich durchaus dankbar. Ihr würdet mir weitere graue Haare erspahren ;)

paljass
* LO-Experte *
Beiträge: 693
Registriert: Fr 18. Mär 2011, 15:34

Re: SVERWEIS im SVERWEIS verschachteln?

Beitrag von paljass » Mo 14. Nov 2011, 06:25

Hi,
bei dem Tabellenaufbau würde ich ich auf Tabelle2 die einzelnen Tabellen mit Namen (Einfügen -Namen) wie z.B. Weite13, Weite14 usw. bezeichnen.
In Tabelle1 kannst du dann statt des zweiten SVerweis() mit der Formel Indirekt($C$1&B2) arbeiten.

Viel Spaß dabei
paljass

Ach ja, so eine Tabelle nachzubauen kosten viel Zeit und schreckt viele Helfer ab. Vielleicht kannst du das nächste Mal eine Beispieldatei hochladen. Dazu musst du die Datei einfach von .ods nach .zip umbenennen.

carosurfer
Beiträge: 20
Registriert: So 13. Nov 2011, 13:09

Re: SVERWEIS im SVERWEIS verschachteln?

Beitrag von carosurfer » Mo 14. Nov 2011, 08:24

Hallo,

vielen vielen Dankfür den Hinweis auf die INDIREKT() Funktion! Das ist der Schlüssel zu meinem Problem. Damit kann ich den SVERWEIS schachteln, indem ich mir aus einer Hilfstabelle mit SVERWEIS die jeweils passende Anfangs- und Endzelle hole und mit INDIREKT aus dem Text einen Bezug mache. Das Ungetüm sieht dann wie folgt aus:

=SVERWEIS(K10;(INDIREKT(SVERWEIS(G10;Tabelle4.$B$3:Tabelle4.$D27;2;1);1)):(INDIREKT(SVERWEIS(G10;Tabelle4.$B$3:Tabelle4.$D$24;3;1);1));2;1)

... unübersichtlich aber immer noch besser als endlose Wenn Verschachtelungen.

So sieht das ganze aus, wenn die beiden SVERWEISe erst mal in einer Hilfsspalte I (Anfangszelle) und J (Endzelle) zuwischengespeichert werden. Für Calc steht dann in I9 und J9 einfach ein Text: "Tabelle2.B3" zum Beispiel. Damit wird das Prinzip der Formel vielleicht etwas deutlicher. Oben steht einfach nur statt der "I9" ein SVERWEIS und statt der "J9" der andere SVWERWEIS:

=SVERWEIS(K9;(INDIREKT(I9;1)):(INDIREKT(J9;1));2;1)

Der Hinweis, aus den einzelnen Tabellen pro Jahrgang eine große zu machen, macht auch viel Sinn, da es viele redundante Einträge spart, auch wenn es technisch mit der Formel oben nicht mehr notwendig ist. Werde ich auch umsetzen. Danke!

Ich werde demnächst meine Testdatei einmal hochladen - sofern ich das gebacken bekomme. Die ist nur etwas komplexer und strotzt nur so vor Versuchsformeln. Daher dachte ich eine Beschreibung wäre besser - falsch gedacht und ab sofort umgedacht :-) Danke für den Hinweis. Ist ja eigentlich logisch, dass Ihr Helfer das ausprobieren wollt.

Jedenfalls vielen Dank für die schnelle Hilfe!

Gruß,
Carosurfer


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten