Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sverweis, Intervall-Problem
#1
Wink 
Hallo Forum-Gemeinde,

ich habe leider ein Problem mit der Sverweis-Formel (sofern diese in meinem Beispiel überhaupt sinnvoll ist).

Ich habe eine Liste mit ca. 20.000 Intervallen und eine Liste mit Suchwerten die genau (oder gar nicht) in einem der Intervalle vorkommen.
Wenn der Wert vorkommt, soll die Nr. des Intervalls ausgegeben werden.
Leider steh ich hier etwas auf der Leitung und konnte bisher noch keine Lösung finden.

Im Anhang findet ihr ein Excel, wie ich mir das Ganze ca. vorstelle bzw. wie das Ganze aussieht.

Hoffe ihr könnt mir weiterhelfen.

LG
Knirschi


Angehängte Dateien
.xlsx   MusterBSP.xlsx (Größe: 9,08 KB / Downloads: 14)
Antworten Top
#2
Hi,

das wird nicht realisierbar sein, da hier keine Zahlen sondern Text vorliegen! Außerdem ist kein einziger Suchwert in den Intervallen vorhanden!

Wären das Zahlen, dann ginge das so.


Code:
=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE($A$1:$A$1000)/($B$1:$B$1000<=F2)/($C$1:$C$1000>=F2);1));"nicht da")
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Moin,

es geht auch mit Text wie in dem Beispiel mit der Formel
PHP-Code:
=INDEX($A$2:$A$6;VERGLEICH($F$2:$F$6;$B$2:$B$6;1)) 
Antworten Top
#4
Hi Wastl,

ich habe mich in meinem ersten Post vertan, als ich schrieb, dass keine der Zahlen in einem Intervall liegt. Im Gegenteil, die liegen fast alle in mehreren Intervallen.

Arbeitsblatt mit dem Namen 'Tabelle1 (2)'
ABCDEFGH
1Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
211019911019999WAHRWAHR101991015
322029912029999WAHRWAHR10199102
433039913039999WAHRWAHR10199103
544049914049999WAHRWAHR10199104
655059915059999WAHRWAHR10199105
7
8Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
911019911019999WAHRFALSCH202995715
1022029912029999WAHRWAHR20299572
1133039913039999WAHRWAHR20299573
1244049914049999WAHRWAHR20299574
1355059915059999WAHRWAHR20299575
14
15Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
1611019911019999WAHRWAHR30399713
1722029912029999WAHRWAHR3039972
1833039913039999WAHRWAHR3039973
1944049914049999WAHRWAHR3039974
2055059915059999WAHRWAHR3039975
21
22Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
2311019911019999WAHRFALSCH404996815
2422029912029999WAHRFALSCH40499682
2533039913039999WAHRFALSCH40499683
2644049914049999WAHRWAHR40499684
2755059915059999WAHRWAHR40499685
28
29Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
3011019911019999WAHRFALSCH505997015
3122029912029999WAHRFALSCH50599702
3233039913039999WAHRFALSCH50599703
3344049914049999WAHRFALSCH50599704
3455059915059999WAHRWAHR50599705

ZelleFormel
D2=$F$2>=B2
E2=$F2<=C2
H2=INDEX($A2:$A6;VERGLEICH($F2:$F6;$B2:$B6;1))
H9=INDEX($A9:$A13;VERGLEICH($F9:$F13;$B9:$B13;1))
H16=INDEX($A16:$A20;VERGLEICH($F16:$F20;$B16:$B20;1))
H23=INDEX($A23:$A27;VERGLEICH($F23:$F27;$B23:$B27;1))
H30=INDEX($A30:$A34;VERGLEICH($F30:$F34;$B30:$B34;1))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Du siehst aber auch, was Deine Formel anzeigt, wenn es sich um Zahlen handelt.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Hi

G2    =WENNFEHLER(VERWEIS(2;1/((F2>=$B$2:$B$6)*(F2<=$C$2:$C$6));$A$2:$A$6);"")
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Knirschi
Antworten Top
#6
(21.02.2018, 09:02)Wastl schrieb: Moin,

... in dem Beispiel mit der Formel
PHP-Code:
=INDEX($A$2:$A$6;VERGLEICH($F$2:$F$6;$B$2:$B$6;1)) 

Hallo, dass das Suchkriterium hier ein Bereich ist, ist das ein besonderer Trick..? Was bewirkt das genau..? Warum muss das so...? Was ist der signifikante Unterschied zu ..:

Code:
=INDEX($A$2:$A$6;VERGLEICH(F2;$B$2:$B$6;1))

... ohne beide Formeln auf Richtigkeit geprüft zu haben...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#7
Ups @ Jockel,

das hab ich mir irgendwann mal angewöhnt.
Damit kann sie überall stehen.
Deine Formel tut genauso, es sei denn, du ziehst die zuweit nach unten, dann bringt sie #NV
und außerdem ist sie kürzer.

Ich bin neulich über noch was gestoßen was Formeln verlängert und du weniger überlegen musst:
wenn die Formel in der selben Reihe liegt wie das was gezählt werden soll.
Excel weiß dann was gemeint ist.
=Zählenwenn(A:A;A:A)

@ Boskobati

Schöne Darstellung, die aber nicht den Vorgaben des TE entspricht.
Exclamation
Sverweis - habe ich 1998 gelernt - funktioniert nicht mit Zahlen. Punkt
Wenn Serweis mit Zahlen funktionieren soll, mach aus den Zahlen Texte Wink)
Hier is Sverweis nicht anwendbar weil Suchspalte links ist
Meine Variante ist nur Sverweis nach Links mit den oben gültigen Bedingungen.
Antworten Top
#8
Hallo, also kein sittlicher Nährwert..?!? ... außer, das n andere Fehlermeldung kommt... ... und ein Blick in die Formelauswertung zeigt..:

   
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#9
Zitat:Hallo, also kein sittlicher Nährwert..?!?

Nein, Nährwert nicht, nur muss ich weniger nachdenken bzw. mache weniger Fehler.

Excel ist bei mir wie das Meer. Mal gibt es Wellenberge, so wie eben, mal Wellentäler, wo ich Excel nicht mal aufmache.
Das erste Mal mit ungleichen Bereichen, die dann nicht tun, bin ich bei Summenprodukt gestoßen, was man heute mit Zählenwenns ersetzt.
Es gibt halt so Kniffe die gut sind.
Einen dieser guten Kniffe hab ich mal vor Jahren WF abgeguggt:
=DATEDIF(MIN(C14;A14);MAX(C14;A14);"d")
ich kann mir nie merken, ob zu erst der kleinere Wert kommt oder der größere. Min in Max ändere ich leichter als die Zelladressen.
Antworten Top
#10
Hi Wastl,

Zitat:Sverweis - habe ich 1998 gelernt - funktioniert nicht mit Zahlen. Punkt


völliger Quatsch!

Zitat:Das erste Mal mit ungleichen Bereichen, die dann nicht tun, bin ich bei Summenprodukt gestoßen, was man heute mit Zählenwenns ersetzt.
Auch ZÄHLENWENNS braucht gleiche Bereiche, ist längst nicht so flexibel wie SUMMENPRODUKT und versagt an manchen Stellen ganz.


Die Vorgaben des TE sind auch sehr dubios, was ich mit meinem Beitrag nur zeigen wollte. Sind die Werte Zahlen, dann überlappen die Bereiche. Sind es keine Zahlen, dann funktionieren keine Vergleiche mit den Operanden >, = oder
Deine Formel funktioniert nur, weil Texte anders behandelt werden als Zahlen. Außerdem bringt sie falsche Ergebnisse, wenn eine Zahl nicht im Intervall ist:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFG
1Nr. IntervallAnfangswertEndwertSuchwertSoll-Ausgabe
21010199101019999011199101
32020299102029999020299572
4303039910303999903039973
54040499104049999040499684
65050599105059999050599705

ZelleFormel
G2=VERGLEICH(F2;$B$2:$B$6;1)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Die erste Zahl ist definitiv nicht im ersten Intervall!

So sollte es funktionieren:

Arbeitsblatt mit dem Namen 'Tabelle1'
FG
1SuchwertSoll-Ausgabe
201119910nicht da
3020299572
403039973
5040499684
6050599705

ZelleFormatWert
G2[=0]"nicht da";Standard0

ZelleFormel
G2=VERGLEICH(F2;$B$2:$B$6;1)*(WENNFEHLER(VERGLEICH(F2;$C$2:$C$6;1);0)<>VERGLEICH(F2;$B$2:$B$6;1))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste