Office: Listenabfrage mit zwei Variablen --> "bester" W

Helfe beim Thema Listenabfrage mit zwei Variablen --> "bester" W in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Einen schönen, guten Morgen alle zusammen! :-) Ich benötige mal wieder eure Hilfe: Ich habe eine kleine Liste mit mehreren Spalten, die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Dennis-S, 12. Oktober 2009.

  1. Dennis-S Erfahrener User

    Listenabfrage mit zwei Variablen --> "bester" W


    Einen schönen, guten Morgen alle zusammen! :-)

    Ich benötige mal wieder eure Hilfe:

    Ich habe eine kleine Liste mit mehreren Spalten,

    die erste Spalte (X) soll mit dem Inhalt eines Eingabefeldes verglichen werden, in der daraus resultierenden Zeile soll jetzt ein weiterer Wert mit dem Inhalt dieser Zeile verglichen werden und von dem Wert, der "am nächsten" dran ist soll der Index (A, B oder C) ausgegeben werden.

    Das Problem für mich an dieser Sache: wenn in der jeweils vorausgehenden oder auch der folgenden Spalte ein Wert vorkommt der besser in Frage kommt (näher dran ist), so soll dessen Index ausgegeben werden.

    Habe schon einiges mit INDEX VERGLEICH und KGRÖSSTE sowie der VERWEIS Funktion ausprobiert, aber so richtig hin bekommen habe ich es bis jetzt noch nicht.

    Da sich das jetzt bestimmt kompliziert anhört, habe ich mal ein Beispiel angehängt!

    Gruße,
    Dennis
     
    Dennis-S, 12. Oktober 2009
    #1
  2. Exl121150 Erfahrener User
    Hallo Dennis,

    mit folgenden Formeln müsste es funktionieren:

     ABCDEFGH
    1Eingabe:0,7und:155    
    2        
    3Ausgabe:B      
    4        
    5XABC ZeileSpalteWert
    60,057,72,20,8 142225,5
    70,1025,47,32,7    
    80,1551,514,85,5    
    90,2085,524,59,1    
    100,25126,836,213,5    
    110,30175,249,918,5    
    120,35230,565,624,3    
    130,40292,583,130,8    
    140,45 102,437,9    
    150,50 123,645,7    
    160,55 146,554,1    
    170,60 171,163,2    
    180,65 197,572,9    
    190,70 225,583,2    
    200,75  94,1    
    210,80  105,6    
    220,85  117,6    
    230,90  130,3    
    240,95  143,6    
    251,00  157,4    
    26        
    ZelleFormel
    B3=ZEICHEN(G6+64)
    F6=VERGLEICH(B1-0,0001;A5:A25;1)
    G6{=VERGLEICH(MIN(ABS(BEREICH.VERSCHIEBEN($B$5:$D$5;$F$6;0;1;3)-$D$1));ABS(BEREICH.VERSCHIEBEN($B$5:$D$5;$F$6;0;1;3)-$D$1);0)}
    H6=INDEX(B6:D25;F6;G6)
    <table><tr><td>Achtung, Matrixformel enthalten!</td></tr><tr><td><span>Die geschweiften Klammern{} werden </span><span>nicht</span><span> eingegeben.</span></td></tr><tr><td><span>Verlasse den Zelleneditor stattdessen mit </span><span>Strg+Shift + Enter</span><span>, anstatt mit Enter alleine.</span></td></tr></table>[/parsehtml]

    Zu beachten ist jedoch noch:
    dass in Zelle A5 eine 0 zu speichern ist. Damit aber wieder ein "X" angezeigt wird, muss als benutzerdefiniertes Zahlenformat ;;"X" eingegeben werden.

    EDIT:
    Statt der Formel in Zelle B3 kann man auch folgende Formel verwenden:
    =INDEX(B5:D5;1;G6)
    Diese hat den Vorteil, dass sie allgemeiner ist (und nicht so speziell auf nur 1 Buchstaben zugeschnitten).
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Exl121150, 12. Oktober 2009
    #2
  3. Dennis-S Erfahrener User
    Hallo Exl121150,

    Danke, dass du dich meinem Problem annimmst!
    Auf die Formel in "G6" wäre ich von alleine nicht gekommen.
    Leider funktioniert sie nicht. Ich kann sie zwar nachvollziehen
    aber den Fehler finde ich nicht. :-(

    Matrix-Formel habe ich selbstverständlich beachtet! Die restlichen Formeln funktionieren soweit einwandfrei! Danke schon mal hierfür!

    Gruß & gute Nacht!
    Dennis
     
    Dennis-S, 13. Oktober 2009
    #3
  4. Exl121150 Erfahrener User

    Listenabfrage mit zwei Variablen --> "bester" W

    Hallo Dennis,

    meinst Du das Problem mit den leeren Zellen innerhalb der Matrix B6:D25 und zwar in B14:B25 und C20:C25 ?
    Sobald nämlich in D1 ein Wert eingegeben wird, der kleiner als der halbe Wert der 3. Spalte von B6:D25 ist, so wird eine 1 von der Formel in Zelle G6 errechnet, wenn in Spalte 1 der betreffenden Zeile von B6:D25 eine Leerzelle enthalten ist.

    Es gibt eine Möglichkeit, ohne die Formeln zu ändern, dass die Formel in G6 im vorhin genannten Fall trotzdem die richtige Spalte liefert:
    Indem man im Bereich B14:B25 und C20:C25 jeweils eine große Zahl (zB. 99999) speichert. Diese Zahl muss mindestens so groß sein, dass ihre Hälfte immer noch um einiges größer ist als die einzugebenden Zahlen in D1.
    Damit nicht diese (unschönen) Zahlen in der Tabelle angezeigt werden, kann man sie mit dem benutzerdefinierten Zahlenformat ;;; wegblenden.
    Ändern sich diese Problembereiche (häufig), so kann man im Bereich B6:D25 eine bedingte Formatierung durchführen, bei der das vorhin genannte benutzerdef. Format angewendet wird, sobald in der betreffenden Tabellenzelle eine solche große Platzhalterzahl (oder eine Zahl, die eine bestimmte Mindestgröße überschreitet) steht.

    Darüberhinaus kann man die Formel in Zelle G6 um einiges übersichtlicher/nachvollziehbarer gestalten, indem man im Namensmanager einen neuen Namen festlegt:
    zB. Name AbsDiffZeile
    Bereich: Tabelle1
    bezieht sich auf: =ABS(BEREICH.VERSCHIEBEN($B$5:$D$5;$F$6;0;1;3)-$D$1)
    (Die $-Zeichen sind hier ganz wichtig, müssen unbedingt so eingegeben werden!!)
    Dann kann man die Formel in Zelle G6 vereinfachen zu:
    =VERGLEICH(MIN(AbsDiffZeile);AbsDiffZeile;0)
    (die geschweiften Klammern können in diesem Fall sogar entfallen, da Excel im Bereich des Namens die Formel bereits als Matrix-Formel behandelt).
     
    Exl121150, 13. Oktober 2009
    #4
  5. Dennis-S Erfahrener User
    Hallo Exl,

    Super! Danke! ;-)

    Also das war der entscheidende Tip, dass die Leerzellen nicht leer sein dürfen.
    Jetzt funktioniert alles so wie es sein soll! Auch deine weiteren Tips habe ich mir angenommen und diese funktionieren ebenfalls.
    Ich kann zwar die Funktionsweise gut nachvollziehen, wäre allerdings nie auf diese Formeln, bzw. deren Kombination gekommen. Da fehlt mir dann doch ein bisschen die Erfahrung.

    Werde die Tabelle zukünftig um einige Spalten erweitern, ich denke da müssten dann nur die Bezüge angepasst werden, damit das klappt.

    Vielen Dank und schönen Tag noch,
    Dennis.
     
    Dennis-S, 13. Oktober 2009
    #5
  6. Exl121150 Erfahrener User
    Hallo Dennis,

    nur der Sicherheit halber möchte ich noch erwähnen, da Du die Tabelle um weitere Spalten erweitern willst:
    angenommen die Tabelle soll 1 Spalte dazubekommen (Bereich B6:E25 mit Überschrift in B5:E5):
    im Namen AbsDiffZeile sind dann Anpassungen durchzuführen
    =ABS(BEREICH.VERSCHIEBEN($B$5:$E$5;$F$6;0)-$D$1)
    Die beiden letzten Parameter von BEREICH.VERSCHIEBEN($B$5:$E$5;$F$6;0;1;4) kann man in diesem Fall besser weglassen - dann behält der verschobene Bereich die Größe des 1. Parameters ($B$5:$E$5) bei.
    Formel in H6: =INDEX(B6:E25;F6;G6)
    Formel in B3: =INDEX(B5:E5;1;G6)
     
    Exl121150, 13. Oktober 2009
    #6
  7. Dennis-S Erfahrener User
    Hallo,

    also ich habe die Tabelle auf 8 Spalten und 100 Zeilen erweitert, Bezüge angepasst - kein Problem. Bis jetzt konnte ich noch keinen Fehler feststellen: saubere Arbeit, Exl121150 ! Listenabfrage mit zwei Variablen --> "bester" W :cool:

    Lieben Gruß,
    Dennis
     
    Dennis-S, 13. Oktober 2009
    #7
Thema:

Listenabfrage mit zwei Variablen --> "bester" W

Die Seite wird geladen...
  1. Listenabfrage mit zwei Variablen --> "bester" W - Similar Threads - Listenabfrage Variablen bester

  2. Combobox einbinden

    in Microsoft Excel Hilfe
    Combobox einbinden: Hallo, ich bastele an einer Funktion, bei der ich an einer Stelle im Programm eine Combobox aufrufen möchte, die dann mit bestimmten Werten aus einer Tabelle gefüllt ist und dann den gewählten...
  3. VBA:Laufzeitfehler beim Einlesen in Variable

    in Microsoft Excel Hilfe
    VBA:Laufzeitfehler beim Einlesen in Variable: Hallo Excel Freaks, ich habe eine Frage, ein Problem wo ich nicht mehr weiter weis.... In eine Exceldatei kopiere ich mir über Makro auf ein Tabellenblatt von anderen Exceldateien das...
  4. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  5. Variable Anzahl immer 9er Kombination StellenBerechnung

    in Microsoft Excel Hilfe
    Variable Anzahl immer 9er Kombination StellenBerechnung: Hallo schönen Guten Abend mit Bauchweh, das ich bereits habe bei meiner Nicht weiter kommenden Formel. Folgendes Es lässt sich Schwer beschreiben doch ich versuche es Ich habe in J3 einen Wert...
  6. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  7. Variable Länge

    in Microsoft Excel Hilfe
    Variable Länge: Hallo zusammen, ich habe mal eine Frage. In einer Tabelle sind Spalten und Zeilen angegeben. Die Zeilen werden beispielsweise mit A1:H5 angegeben. Nun werden zwei Spalten mit Werten hinzugefügt....
  8. Schuldenplan, Variable Rückzahlung

    in Microsoft Excel Hilfe
    Schuldenplan, Variable Rückzahlung: Erstmal Hallo in die Runde und schönen 2. Advent, Ich habe mal eine Frage und brauche mal ein wenig Schwarm wissen. Ich möchte gerne einen Schuldenzahlungsplan mit mehreren Gläubigern anlegen....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden