Tabellenkalkulation
Von: рuѕtеblumе246, 8.10.2010 11:27 Uhr
Liebe/-r Experte/-in,

ich habe zwei Tabellen erstellt:

die 1. ist die Bewerberliste und die 2. ist die Teilnehmerliste. In die erste Tabelle kommen alle Daten, d.h. Nachname, Vorname, Telefonnr. und Emailadressse, aller Bewerber hinein. Außerdem wird mit "ja" in der Spalte "Teilnahme" eingetragen, ob der jeweilige Bewerber zur Teilnahme berechtigt ist und wenn nicht, dann wird dieses Feld freigelassen. Die Bedingung für die 2. Tabelle ist also das "ja".

Ich möchte jetzt allerdings, dass die beiden Tabellen so miteinander verknüpft sind, dass die Daten von den mit "ja" gekennzeichneten Bewerber direkt in die vorgesehene Teilnehmerliste (Tabelle2)übertragen werden.

Im Internet habe ich Folgendes gefunden: {=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!B:B;"ja");"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!B$1:B$20="ja";ZEILE(Tabelle1!$1:$20));ZEILE(A1))))}

Das Problem hierbei ist, dass sich zwar bestimmte Daten von der Bewerber- in die Teilnehmerliste übertragen lassen, aber wenn dann nur genau eins und auch noch das Falsche :(

Vielen Dank im Voraus für die Unterstützung!!!

Liebe Grüße

pusteblume246



  1. Antwort von Fеmtоfаrаd (abgemeldet) 1
    Re: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
    Hallo Pusteblume,

    diese Lösung ist schon ziemlich komplex.
    Jetzt weiß ich nicht, ob diese Matrixformel schon ein Lösungsvorschlag für die beiden Tabellen ist oder ein allgemeines aus dem Web kopiertes Beispiel. Die Zellbezüge müßten natürlich schon genau passen, und auch die jeweiligen Bereichsangaben (auch aufpassen mit die festen absoluten Bereichsgrenzen, durch das $-Zeichen gekennzeichnet).

    Die dargestellte Formel besagt auch, daß die Daten ohne Überschrift in Zeile 1 beginnen, oder der Bereich bei ZÄHLENWENN muß angegeben werden statt der gesamten Spalte.

    Ich habe entsprechende Beispieltabellen erstellt und versuche gerade noch , es hinzubiegen, einzeln aufgetrennt funktioniert es, als Gesamtformel noch nicht.

    Was auf jeden Fall hilft, ist die Trennung der einzelnen Formelteile, also z.B. ab KKLEINSTE eine Spalte füllt: "{=KKLEINSTE(WENN(Bewerber!C$1:C$4="ja";ZEILE(Bewerber!$1:$4);"");ZEILE(Bewerber!A1))}"

    Dann eine Spalte mit der Index-Berechnung =INDEX(Bewerber!A$1:B$4;H4;1) (wobei H4 bei mir das Ergebnis der "=KKLEINSTE" - Formel ist). Dann kann man schon mal eher sehen, wo es klemmt.
    Wichtig dabei ist jeweils, daß es ne Matrixformal ist (mit STRG+SHIFT+RETURN die geschweiften Klammern hinzufügen für den Zielvektor !).

    Das WENN und ZÄHLENWENN dient nur dazu, die Zeilen von oben her lückenlos nach unten mit den tatsächlichen Teilnehmern zu füllen (was bei Lösungen mit den Funktionen VERWEIS und SVERWEIS nicht so einfach möglich wäre).

    Fazit: die Formel sieht korrekt aus, muß aber von den Bezügen genau auf die Tabellen abgestimmt sein, um das zu überprüfen , hilft die Trennung in einzelne Berechnungen.

    Ich begebe mich bei mir mal auf Fehlersuche...

    Grüße
    3 Kommentare
    • Re^2: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
      Hallo Ferntofarad,

      danke für deine Antwort.

      Zu deiner Frage: Die Formel habe ich aus einem Internetforum kopiert und aus dem "x" ein "ja" gemacht, als ich es in meine Anfrage eingefügt habe. Ansonsten, als ich es ausprbiert hatte, habe ich die Bereiche immer wieder neu angepasst (also nicht nur die Formel so wie sie war übernommen).
      Hast du dich nochmals auf Fehlersuche begeben? Danke für deinen Tipp. Habe alles soweit auseinander gedröpselt und gebe die Befehle einzeln ein. Bin die ganze Zeit am Einsetzen und Durchschauen, aber komme leider nicht drauf, was ich anders machen könnte.
      Über deine weitere Hilfe würde ich mich sehr freuen :)
      lg Pusteblume246
    • von Fеmtоfаrаd (abgemeldet) 0
      Re^3: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
      Also:
      ich habs hinbekommen.
      meine Beispiel tabellen sehen wie folgt aus:

      Bewerber:
      Name | Vorname | Teilnahme
      -------------------------------
      Schmitz | Werner | nein
      Müller | Hans | ja
      Schneider | Wilhelm | nein
      Lehmann | Franz | ja

      In der zweiten Tabelle möchte ich in den Zellen C4 bis C7 die Nachnamen der Teilnehmer anzeigen lassen.

      Das mache ich mit :
      {=WENN(ZEILE(Bewerber!1:1)>ZÄHLENWENN(Bewerber!C$1:C$4;"ja");"";INDEX(Bewerber!A$1:B$4;(KKLEINSTE(WENN(Bewerber!C$1:C$4="ja";ZEILE(Bewerber!$1:$4));ZEILE(Bewerber!A1)));1))}

      Danach habe ich meine Formel vereinfacht und so angepaßt, wie es im Original gemacht wird:
      =WENN(ZEILE(Bewerber!1:1)>ZÄHLENWENN(Bewerber!C:C;"ja");"";INDEX(Bewerber!A:A;(KKLEINSTE(WENN(Bewerber!C$1:C$4="ja";ZEILE(Bewerber!$1:$4));ZEILE(A1)))))

      Klappte immer noch. Als letzten Schritt habe ich die Klammer um KLEINSTE entfernt. Klappt immer noch.

      An der genannten Formel lag es also nicht, die müßte funktionieren.

      Hier nochmal die Originalformel zum Vergleich:
      {=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!B:B;"ja");"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!B$1:B$20="ja";ZEILE(Tabelle1!$1:$20));ZEILE(A1))))}

      Allerdings:
      ich habe bei meinem ersten Versuch, wo die Gesamtformel nicht klappte, die Namen in Spalte A4 (bis A7) schreiben wollen, und obwohl da nun genau die gleiche Formel drin steht wie in den Formel in C4 (bis C7), steht überall (4x) der Name Müller in der Spalte A, wohingegen in Spalte C korrekterweise nur 1x Müller und 1x Lehmann stehen.

      Grund ist anscheinend die Erstellung des Arrays, denn in den 4 Formeln der Spalte A stehen überall dieselben Bezüge, und das darf nicht sein (Sprich die Formeln sind absolut identisch)).
      Im Teil "WENN(ZEILE(Bewerber!1:1)" müssen pro neuer Zeile die Bereiche hochgezählt sein Bewerber!1:1 , Bewerber!2:2 usw, und auch im Formelteil ganz zum Schluss müssen die Bezüge inkrementiert werden: ZEILE(A1) ZEILE(A2). Und das ist bei mir in Spalte A (1. Version ) nicht der Fall, und ich kann auch nachträglich das Array nicht mehr ändern.

      Meine funktionierende Spalte C habe ich erzeugt, in dem ich die Formel kopiert habe, in C4 eingefügt und angepaßt habe, dann das Array (auch erstmal nur für die eine Zeile) erstellt habe mit STRG+SHIFT+RETURN, und danach diese Zeile per Runterziehen kopiert habe.

      Dann klappt das.

      Ich hab leider keine Ahnung mehr, wie ich beim ersten Versuch das Array erstellt habe, aber anscheinend irgendwie falsch.

      Schau also mal, ob in jeder Zeile die Formeln exakt gleich sind oder ob die Bezüge an den besagten Stellen inkrementiert werden, und versuche ggf die Erstellung eines neuen Arrays.
      Und sag bitte Bescheid, ob es klappt und was die Ursache war.

      Grüße
    • Re^4: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
      Danke, danke, danke :) :)
      Habe deine Formel eingesetzt und es ging ganz leicht. Ich kann dir ehrlich gesagt nicht mehr sagen, warum ich mir so schwer getan habe mit der ersten Formel, aber auf jeden Fall hat es mit deiner Hilfe super geklappt!!! Und deine ausführliche Erklärung hat mir zum Verständnis sehr weitergeholfen :)
      Wenn ich wieder Hilfe brauche, melde ich mich!!
      lg
  2. Antwort von ΑntоnV60 0
    Re: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
    Hallo Pusteblume246
    Nun wenn ich dich richtig verstanden habe, dann hast du 2 Tabellenblätter mit Daten.
    Auf Tabelle1 werden die Datengesammelt, und auf der zweiten bei erfüllen der Bedingung "ja" angezeigt.
    Nun in der Zelle der Tabelle2 wo die Daten(Emailadresse) erscheinen soll, kommt die Formel.
    =WENN(Tabelle1!C1="Ja";Tabelle1!B1;0) Das heisst diese Zelle wird erst dann mit Daten gefüllt wenn die Abfrage "ja" positiv erfolgte.
    Ich hoffe ich konnte dir das Prinzip verdeutlichen.
    Über eine Info würde ich mich freuen.
    Gruß AntonV60
    2 Kommentare
    • Re^2: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
      Hallo AntonV60,

      danke für deine Antwort. Ich habe die Formel ausprobiert, allerdings kam immer nur eine Fehlermeldung. Ich war ganz überrascht als ich deine Formel in der Mail gesehen habeund habe mich gefreut, dass das Problem vielleicht doch nicht so komplex ist, wie es mir nach meiner Suche im Internet schien.
      Hattest du es vorher ausprobiert, ob es klappt? Habe alle Bereiche angepasst, sogar fixiert etc., aber leider scheint es nicht zu funktionieren :(
      Über eine Antwort würde ich mich freuen,
      lg Pusteblume 246
    • Re^3: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
      Hallo Pusteblume 246,
      Ja, ich habe die Formel vorher ausprobiert(zusätzlich) ist eigentlich ständig in meinem Gebrauch.
      Schreib mir doch mal bitte die Fehlermeldung.
      Damit ich sehen kann was er zu melden hat.
      Liebe Grüße
      AntonV60
  3. Antwort von ΜаrkDrum 0
    Re: Datenübertragung von Tabelle1 in Tabelle2 mit Bedingung
    Hallo Leute,

    super thread. Hat mir schon sehr geholfen. Momentan bin ich gerade dabei eine kleine Datenbank zu erstellen. Hierbei sollen kritische Werte in ein extra Datenblatt innerhalb eines Excel Files übertragenwerden. Kritische Werte heißt:

    1. Werte kleiner als x... Also anstatt dem Suchkriterium "ja"/"nein" geht es bei mir z.b. um "<3". Punkt 1 konnte ich erfolgreich integrieren. Funktioniert soweit ganz gut. Allerdings macht mir folgender Punkt Schwierigkeiten undzwar:

    2.Werte größer als x... Also anstatt dem Suchkriterium "ja"/"nein" geht es bei mir z.b. um ">3".
    Habe schon viel mit der Formel rumprobiert, aber korrekt geschafft habe ich es noch nicht. Problematisch könnte sein, dass in der Datentabelle auch leere Felder vorhanden sind (=""). Wenn irgend jemand eine Idee hat, wie dies zu handhaben ist, bitte ich um Antwort. Mir wäre seeeeeeeehr geholfen.
    Vielen Dank schonmal!

    Nochmal die Kurzform:
    Statt nach "ja" zu filtern soll nach ">x" (numerische Werte) gefiltert werden und diese in Reihenfolge in anderes Tabellenblatt im gleichen File übertragen werden.

    Danke schonmal!

    Beste Grüße, Mork