Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verweisfunktion, mehrere Kriterien, Höherer Wert

Verweisfunktion, mehrere Kriterien, Höherer Wert
20.07.2014 17:26:58
Tim Fischer

Hallo allerseits,
ich verwende aktuell die Verweisfunktion um 4 Kriterien zu untersuchen und einen dazugehörigen exakten Wert zurückzugeben.
Die Quelle ist folgendermaßen aufgebaut (gekürzt):
Fahrzeug Kraftstoff Haltedauer Laufleistung Wartungskosten
A Benzin 3 5000 10
A Benzin 3 10000 20
A Benzin 4 5000 15
A Benzin 4 10000 30
Die Funktion lautet:
=VERWEIS(2; 1/(Wartungskosten!A2:A5&Wartungskosten!B2:B5&Wartungskosten!C2:C5&Wartungskosten!D2:D5=Main!A5&Main!D5&Main!C15&Main!B15) ;Wartungskosten!E2:E5)
Dies funktioniert auch hervorragend, allerdings möchte ich nun hinzufügen dass wenn z.B. eine Laufleistung von 7000 eingegeben wird, der NÄCHST GRÖSSERE Wert (bei Haltedauer 3 also 20, bzw. Haltedauer 4 also 30) ausgegeben wird. Bisher erhalte ich verständlicherweise lediglich ein #NV)
Gibt es eine Möglichkeit dies einzubinden oder muss ich hierfür eine andere Funktion verwenden?
Freundliche Grüße,
Tim

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
was steht denn wo ...
20.07.2014 18:41:59
der neopa
Hallo Tim,
... Deine Formel zeigt mir, dass Du Daten in 2 Tabellenblättern zu stehen hast. Du zeigst aber hier nur Daten auf, die in einem stehen.
Stell doch mal Deine (auf das Wesentliche reduzierte) Datenmappe hier ein. Ich gehe jetzt gleich offline,
aber auch andere können Dir dann sicherlich weiterhelfen.
Gruß Werner
.. , - ...

Warum sollen wir das nachbauen, ...
20.07.2014 18:46:01
Luc:-?
…Tim;
falls deine Angaben sich auf Blatt Wartungsdauer als DatenQuelle beziehen sollten, fehlt aber immer noch Blatt Main, denn damit wird schließlich vgln! Da dessen Struktur und Daten unbekannt sind, würde das hier auf Rätselraten hinaus laufen, denn normalerweise macht VERWEIS das, was du erreichen willst (bei geordneten Werten!).
Gruß, Luc :-?

Anzeige
AW: Verweisfunktion, mehrere Kriterien, Höherer Wert
21.07.2014 13:39:34
Tim Fischer
Hallo allerseits,
vielen Dank erstmal für schnelle Rückmeldung. Erwarte natürlich nicht dass es nachgebaut wird. Ich dachte eher dass ich ein Fehler in die Verweisfunktion getippt habe.
Anbei ein auf das Nötigste reduzierte Excel File um das ganze etwas klarer zu machen.
Die grün hinterlegten Felder im Main Datenblatt können mit den in Klammer geschriebenen Daten verändert werden. Das gelbe Feld entspricht dem Rückgabewert der Verweisfunktion.
Im Datenblatt "Wartungskosten" sind die vier zu prüfenden Kriterien niedergeschrieben und die Spalte "Kosten" wird zurückgegeben.
Bei exakten Werten (Laufleistung) funktioniert dieses Prinzip wunderbar. Allerdings würde ich gerne auch Zwischenwerte eingeben können wie z.B. 7.000km. Hierbei soll dann, abhängig von den anderen Kriterien, der Wert "Kosten" für 10.000km zurückgeben werden. Sprich immer der nächst höhere. Bisher erhalte ich lediglich ein "#NV". Ist meine Sortierung eventuell das Problem?
https://www.herber.de/bbs/user/91601.xlsx
Vielen Dank und freundliche Grüße,
Tim

Anzeige
nachgefragt ...
21.07.2014 14:58:09
der neopa
Hallo Tim,
... wenn in Deiner Datentabelle die Kosten immer in den gleichen Schritten für die Laufleistung angeben sind, dann kann eine noch einfache Formelanpassung vorgenommen werden.
Anderenfalls bei unterschiedlichen Laufleistungsangaben (Anzahl wie Differenz) wird wohl eine andere Matrixformel notwendig.
Gruß Werner
.. , - ...

AW: nachgefragt ...
21.07.2014 15:51:14
Tim Fischer
Hallo Werner,
die Schrittweite der Laufleistung ist immer 5000km. Ich möchte auch keine Interpolation o.ä. für Zwischenangaben verwenden da es ausreichen würde wenn er auf den nächst höheren Wert zugreift.
Mir ist aber absolut unklar wie ich das in meinem Fall mit der Verweisfunktion realisiere.
Gruß,
Tim

Anzeige
die Anpassung für die VERWEIS() -Formel ...
22.07.2014 08:46:19
der neopa
Hallo Tim,
... so:
=VERWEIS(9; 1/(Wartungskosten!A2:A35&Wartungskosten!B2:B35&Wartungskosten!C2:C35=Main!A1&Main!B1&Main!B5) /(Wartungskosten!D2:D35=(1+MIN(KÜRZEN(A5/5000,1;);3))*5000);Wartungskosten!E2:E35)
Gruß Werner
.. , - ...

AW: nachgefragt ...
21.07.2014 16:14:36
Daniel
Hi
würde ich so lösen:
1. in füge in die Tabelle "Wartungskosten" in Spalte F folgende Formel ein (ab Zeile 2)
=A2&"-"&B2&"-"&C2

und kopiere diese Formel bis ans Tabellenende
2. ins Blatt "Main" Zelle B10 kommt diese Formel
=INDEX(Wartungskosten!E:E;VERGLEICH(A1&"-"&B1&"-"&B5;Wartungskosten!F:F;0)+ABRUNDEN(A5/5000;0)) 
der erst Teil (Vergleich) liefert dir die erste Zeilennummer des Eintrags für Fahrzeug-Kraftstoff-Haltedauer, der zweite Teil (Abrunden), rechntet dann aus der Laufleistung aus, wie viele Zellen man noch nach unten muss.
Funktioniert nur, wenn die Laufleistung regelmässig gestaffelt und für alle gleich ist.
Gruß Daniel

Anzeige
AW: nachgefragt ...
21.07.2014 16:43:13
Tim Fischer
Hallo Daniel,
das sieht schon ziemlich gut aus. Allerdings wird bei passender Laufleistung, sprich 5000/10000km etc. bereits der nächsthöhere Wert zurückgegeben. Dies ist natürlich der ABRUNDEN Funktion geschuldet da hier der Wert 5000 hinterlegt ist.
Weiter ist es so leider auch möglich utopische Laufleistungen von z.B. 60.000km einzugeben und die Funktion gibt munter einen Wert aus der nicht zu den Kriterien passt da einfach die Zellen im Sheet Wartungskosten nach unten gezählt werden.
Allerdings bedanke ich mich dennoch für deine Mühe... sie war nicht umsonst!
Kann ich mein Problem eventuell lösen indem ich statt VERWEIS eine Kombination aus INDEX und VERGLEICH nutze?
Gruß,
Tim

Anzeige
AW: nachgefragt ...
21.07.2014 17:07:22
Tim Fischer
Ich habe das Problem teilweise gelöst. Danke nochmal Daniel... du hast mich allein durch deine INDEX/VERGLEICH Funktion in die richtige Richtung geleitet.
{=INDEX(Wartungskosten!E2:E33;VERGLEICH(Main!A1&Main!B1&Main!B5&Main!A5; Wartungskosten!A2:A33&Wartungskosten!B2:B33&Wartungskosten!C2:C33&Wartungskosten!D2:D33;-1)) }
Es ist auf Matrixschreibweise der Funktion zu achten!
Zudem musste ich im Sheet Wartungskosten JEDE Spalte absteigend sortieren.
Was ist einzig noch nicht verstehe ist weshalb irgendwelche Werte zurückgegeben werden wenn ich utopische Laufleistungen oder Haltedauern eingebe???

Anzeige
AW: nachgefragt ...
21.07.2014 17:40:21
Daniel
Hi
Wenn du einen Wert suchst der nicht vorhanden ist dann gibt dir diese Variante der Vergleichs-Funktion den nächstgrösseren Wert als Ergebnis zurück!
dh auch wenn du ein nicht vorhandenes Fahrzeug oder einen exotischen Betriebsstoff (mache Fahrzeuge fahren ja mit Frittenfett) eingibst, wirst du ein Ergebnis bekommen.
ich würde das so lösen wie von mir vorgeschlagen mit folgender Modifikation

:=INDEX(Wartungskosten!E:E;VERGLEICH(A1&"-"&B1&"-"&B5;Wartungskosten!F:F;0)+Min(3;ABRUNDEN((A5-1) /5000;0))) 
dann bekommst du für nichtvorhandenen Fahrzeugtyp/halterdauer/Betriebsstoff einen NV-Fehler, und bei einer utopischen Laufleistung wird das Ergebnis auf den Maximalwert gedeckelt, so dass der Verweis nicht in die nächste Fahrzeugklasse rutscht.
durch das -1 sorgst du dafür, dass die neue Klasse erst ab 5001 beginnt und nicht schon bei 5000.
(eine Laufleistung mit 0 wird wohl hoffentlich niemand eingeben, ansonsten:

+Max(0;Min(3;Abrunden(...)))

Gruß Daniel

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige