indirect + address + match -> unerwartetes Ergebnis

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Konstantin
Beiträge: 6
Registriert: Fr, 02.03.2007 16:28

indirect + address + match -> unerwartetes Ergebnis

Beitrag von Konstantin »

Hallo!

Vorweg sei gesagt, dass ich eine englische Version von OOo nutze. Ich hoffe, ihr könnt die Begriffe/Funktionen entsprechend einordnen, da ich nicht weiß, wie sie in deutsch lauten.

Ich habe eine Tabelle "Teilnehmer" in der in der ersten Spalte der Kurs, in der zweiten der Vorname und in der dritten Spalte der Nachname steht. Des Weiteren habe ich eine Tabelle, die als Anwesenheitsliste benutzt werden soll. Für jeden Kurs soll es eine eigene Liste mit den entsprechenden Teilnehmern geben.

im Grunde möchte ich jetzt mit den Funktionen folgende SQL-Abfrage nachbilden: SELECT Teilnehmer.Nachname WHERE Kurs == "Kurs1"

Da es eine maximale Anzahl an Teilnehmern gibt (z. B. 20), hab ich 20 Zeilen vorbereitet, wo ich folgende Formel nutzen wollte (hier die Formel aus der ersten Zeile):

Code: Alles auswählen

=INDIRECT(ADDRESS(MATCH($A$1;Teilnehmer.$A$2:$A$1000)+$A3;3;1;"Teilnehmer"))
In A1 steht der Name des Kurses. In A3, A4, A5 ... steht die laufende Nummer.

Es soll also die erste Zelle gesucht werden, wo der Kursname drin steht. Auf die Zeilennummer wird dann die laufende Nummer der Anwesenheitstabelle addiert, die Adresse gebildet und mit Indirect den Wert der Zelle geholt.

In einem weiteren Schritt wollte ich dann noch überprüfen, ob es sich noch um den richtigen Kurs handelt, oder ob der Teilnehmer schon zum nächsten Kurs gehört (bei weniger Teilnehmern als die Maximalzahl). (mit einer IF-Abfrage)

Die Tabelle ist nach Kurs, Vorname, Nachname sortiert. Unerwarteter Weise bekomme ich den letzten Namen, statt den ersten Namen.

Woran liegt das nun, dass ich nicht den ersten Namen kriege sondern den letzten? Wie kann ich das verhindern. Das sortieren von Match bringt mir auch nichts, da ich die Tabelle nicht sortiern kann, sondern nur das Array, welches Match benutzt.

Ich hoffe, es hat irgendeiner eine Idee, wie ich das Problem lösen kann. Von mir aus auch mit einem ganz anderen Ansatz (sollte aber schon mit FUnktionen realisiert sein ...)

Gruß
Konstantin
Ich benutze zur Zeit: OpenOffice.org 2.0 unter FreeBSD 6.0
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Beitrag von Gert Seler »

Hallo Konstantin,
in deutsch ist es die Funktion "SVERWEIS" in english sollte es "VLookup"
sein.
Ich hoffe es hilft Dir weiter.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Wenn jemand mal deutsch-englisch-Übersetzungen der Calc-Funktionen braucht:
http://ooowiki.de/DeutschEnglischCalcFunktionen
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Beitrag von Gert Seler »

Danke Eia.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Konstantin
Beiträge: 6
Registriert: Fr, 02.03.2007 16:28

Beitrag von Konstantin »

Danke euch. Ich werde mich mal wieder daran versuchen ... :-)
Ich benutze zur Zeit: OpenOffice.org 2.0 unter FreeBSD 6.0
Antworten