Anregung gesucht - mehrfacher SVerweis/Bereich.Ver

Hallo Experten,

ich such gerade nach einer Lösung um folgendes zu realisieren:

Ich will in einer Zelle mehrere Zahlen eingeben…
Diese Zahlen stellen id’s dar also im Prinzip Zeilennummern von anderen „Datensätzen“.

Von diesen Datensätzen soll jeweils ein Wert ermittelt werden - ein Datum um genau zu sein - das steht in Spalte H.

Anschliessend soll das höchste gefundene Datum ausgegeben werden.

Mein Problem ist jetzt dass ich nicht weiss, wie ich das angehen soll…
Ich möchte eigentlich nur eine Zelle haben, in der beliebig viele ID’s angegeben werden können.
Die jeweiligen Daten der anderen Zellen sollten dann per MAX() verglichen werden - aber wie mache ich das (ohne vba), dass ich mir eben diese Werte unabhängig von deren Anzahl zusammensuchen kann?

Hoffe dass das verständlich war…?

Grüsse
Munich

Hallo MunichFreak,

Ich will in einer Zelle mehrere Zahlen eingeben…

Das verstehe ich nicht so ganz, du kannst mE in eine Zelle nur eine einzige ID gleichzeitig eingeben.

Von diesen Datensätzen soll jeweils ein Wert ermittelt werden

  • ein Datum um genau zu sein - das steht in Spalte H.
    Anschliessend soll das höchste gefundene Datum ausgegeben
    werden.

Dieses Problem habe ich gelöst, unter der Voraussetzung, dass nur eine einzige Zahl als ID eingegeben werden kann.

{=WENN(IDs=F6;KGRÖSSTE(Daten;1);SVERWEIS(F6;C6:smiley:9;2;WAHR))}
Mit dieser Matrixformel müsste das funktionieren.

Gruß Alex

Hallo Alex,

Ich will in einer Zelle mehrere Zahlen eingeben…

Das verstehe ich nicht so ganz, du kannst mE in eine Zelle nur
eine einzige ID gleichzeitig eingeben.

nein… Du kannst ID’s auch durch bestimmte separatoren trennen - normalerweise mit „;“ oder auch „-“ bzw „|“. Auch ein Leerzeichen wäre absolut ausreichend - solange man die einzelnen Zahlen danach auch wieder zerlegen kann…

Von diesen Datensätzen soll jeweils ein Wert ermittelt werden

  • ein Datum um genau zu sein - das steht in Spalte H.
    Anschliessend soll das höchste gefundene Datum ausgegeben
    werden.

Dieses Problem habe ich gelöst, unter der Voraussetzung, dass
nur eine einzige Zahl als ID eingegeben werden kann.

leider ist es aber nicht nur eine ID.
Die Datensätze sind in meinem Fall auch eindeutig - sprich es gibt nicht mehrere mit id 1 von denen dann das Datum ermittelt werden soll.
Vielmehr suche ich eine Möglichkeit rauszufinden, welcher Datumswert von id 1, 2 und 4 der grösste (älteste) ist.
Wenn ich nur mit einer ID arbeite reicht mir da ein normaler Sverweis - aber bei mehreren Id’s eben nicht…

{=WENN(IDs=F6;KGRÖSSTE(Daten;1);SVERWEIS(F6;C6:smiley:9;2;WAHR))}
Mit dieser Matrixformel müsste das funktionieren.

die verstehe ich sowieso nicht *g*

Danke trotzdem und ein * für Deine Mühen

Grüsse
Munich

Hallo Munich,

mit einer einzelnen Formel habe ich es nicht lösen können. Am einfachsten läßt sich das Ganze mit einer kleinen Hilfstabelle lösen.
In der Hilfstabelle werden die mit Trennzeichen eingegebenen IDs wieder in Einzelwerte aufgelöst und per SVERWEIS die zugehörigen Datumswerte gesucht. Von den gefundenen Werten wird dann der Max.-Wert per Formel ermittelt. Tabellen- und formelmäßig sieht das Ganze dann beispielhaft so aus, wobei ich als Trennzeichen für die IDs Leerzeichen verwendet habe:

Tabellenblattname: Tabelle1

 A B C D E F G H 
1 IDs Max. Datum ID Datum 
2 2 400 3 06.02.06 10 02.02.06 
3 2 04.02.06 
4 3 06.02.06 
5 400 04.02.06 
6 5 08.02.06 
7 6 04.02.06 
8 70 05.02.06 

Benutzte Formeln:
B2: =MAX(Hilfstabelle!D2:smiley:24)

Namen in der Tabelle:
IDs : =Tabelle1!$A$2
Werte: =Tabelle1!$E$2:blush:H$10000



Tabellenblattname: Hilfstabelle

 A B C D 
1 Gesuchte Ids Pos. 1. Zeichen Pos. Letztes Zeichen Werte 
2 2 1 1 04.02.06 
3 400 3 5 04.02.06 
4 3 7 7 06.02.06 
5 9 7 

Benutzte Formeln:
A2: =WENN(B2\>C2;"";WERT(TEIL(IDs;B2;C2-B2+1)))
A3: =WENN(B3\>C3;"";WERT(TEIL(IDs;B3;C3-B3+1)))
B3: =C2+2
C2: =WENN(ISTFEHLER(SUCHEN(" ";IDs;B2)); LÄNGE(IDs);SUCHEN(" ";IDs;B2)-1)
C3: =WENN(ISTFEHLER(SUCHEN(" ";IDs;B3)); LÄNGE(IDs);SUCHEN(" ";IDs;B3)-1)
D2: =WENN(ISTFEHLER(SVERWEIS(A2;Werte;4;FALSCH));"";SVERWEIS(A2;Werte;4;FALSCH))
D3: =WENN(ISTFEHLER(SVERWEIS(A3;Werte;4;FALSCH));"";SVERWEIS(A3;Werte;4;FALSCH))

Ab Zeile 3 kann man in der Hilfstabelle die Formeln nach unten kopieren entsprechend der max. Anzahl IDs, die in Tabelle1 in Zelle A2 eingegeben werden sollen.

Auf Wunsch schicke ich Dir gerne eine Beispiel-Datei.

Gruß
Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ojeh, das sieht wirklich kompliziert aus besonders weil ich eigentlich auf einer Tabelle bleiben wollte…

Deine Beispieldatei wäre klasse…

Auch Dir ein * für Deine Bemühungen - ich versuch jetzt nochmal genauer zu verstehen *g*

Grüsse
Munich

Ich will in einer Zelle mehrere Zahlen eingeben…
Diese Zahlen stellen id’s dar also im Prinzip Zeilennummern
von anderen „Datensätzen“.
Von diesen Datensätzen soll jeweils ein Wert ermittelt werden

  • ein Datum um genau zu sein - das steht in Spalte H.
    Anschliessend soll das höchste gefundene Datum ausgegeben
    werden.
    Ich möchte eigentlich nur eine Zelle haben, in der beliebig
    viele ID’s angegeben werden können.
    Die jeweiligen Daten der anderen Zellen sollten dann per MAX()
    verglichen werden - aber wie mache ich das (ohne vba), dass
    ich mir eben diese Werte unabhängig von deren Anzahl
    zusammensuchen kann?

Hi Munich,
wichtig ist, als erstes Zeichen ein Leerzeichen zu haben, die einzelnen IDs müssen feste Länge haben, hier 2, also mit 0 auffüllen und sie müssen durch leerzeichen getrennt sein.
Geht auch ohne führendes Leerzeichen, aber dann wird der Code noch länger. Natürlich kann man auch such bis such4 in einen namen verschmelzen, war mir jetzt zu aufwendig :smile:
Der Id-String muss in A1, in B1 erscheint dann das „höchste“ Datum.

Tabellenblattname: Tabelle2

 A B C D E F G H I 
1 01 05 07 13 13.02.2006 01.02.2006 05.02.2006 07.02.2006 13.02.2006 00:00:00 00:00:00 00:00:00 

Benutzte Formeln:
B1: =MAX(C1:I1)
C1: =such4
D1: =such4
E1: =such4
F1: =such4
G1: =such4
H1: =such4
I1: =such4

Namen in der Tabelle:
such : =WENN(ISTFEHLER(FINDEN(" ";Tabelle2!$A$1;(SPALTE()-3)\*3+1));0;FINDEN(" ";Tabelle2!$A$1;(SPALTE()-3)\*3+1))
such2 : =WENN(such0;WERT(TEIL(Tabelle2!$A$1;such+1;2));0)
such3 : =SVERWEIS(such2;Tabelle1!$A$1:blush:H$1000;8;0)
such4 : =WENN(ISTFEHLER(such3);0;such3)
Vergl : =WENN(INDIREKT("Tabelle1!$A$"&(ZEILE()-1)\*22+1)="x";INDIREKT("Tabelle1!$C$"&(ZEILE()-1)\*22+3);"")
Vergl1: =INDIREKT("Tabelle1!$A$"&(ZEILE()-1)\*22+1)
Vergl2: =INDIREKT("Tabelle1!$C$"&(ZEILE()-1)\*22+3)

Das bezieht sich auf folgende Datentabelle, ID=Zeilennummer.

Tabellenblattname: Tabelle1

 A B C D E F G H 
 1 1 01.02.2006 
 2 2 02.02.2006 
 3 3 03.02.2006 
 4 4 04.02.2006 
 5 5 05.02.2006 
 6 6 06.02.2006 
 7 7 07.02.2006 
 8 8 08.02.2006 
 9 9 09.02.2006 
10 10 10.02.2006 
11 11 11.02.2006 
12 12 12.02.2006 
13 13 13.02.2006 
14 14 14.02.2006 
15 15 15.02.2006 
16 16 16.02.2006 
17 17 17.02.2006 
18 18 18.02.2006 
19 19 19.02.2006 
20 20 20.02.2006 

Gruß
Reinhard

Ups, Vergl, Vergl1 usw. waren für woanders o.w.T.