Hallo hullen,
na Du! Auch mal wieder da?
ich möchte mit einem wVerweis arbeiten.
Ich aber nicht. Denn ich gehe das anders an.
Allerdings besteht die Bezugszelle aus zwei zusammengefügten Zellen.
Kein Problem. Wenn deine Oroginale Datei genau so aufgebaut ist, dann kann man einen Korrekturfaktor einbauen.
Ich vermute, dass es mit Verschiebung, Adresse, Indirekt oder so geht, aber ich verlaufe mich in der Abstraktheit dieser Formeln. Kann jemand helfen?
Ja, das stimmt, das man sich manchmal da verlaufen kann. =ADRESSE() und INDIREKT() sind schon mal gar nicht so verkehrt. Jedoch arbeite ich noch zusätzlich mit =VERGLEICH() und =SVERWEIS().
Und ja, ich kann dir mit einem Vorschlag helfen.
Also, der Reihe nach.
Als erstes brauchen wir einen Spaltenindex für das Datum. Auch wenn zwei Zellen verbunden sind, so ist die Adressierung dieser Zelle immer die erstere der beiden Zellen. Wenn A4 und B4 verbunden sind, und in A4 etwas drin steht, so ist das Ansprechen der verbundenen Zellen mit A4 möglich.
Nun müssen wir also den Spaltenindes des Datums ermitteln, was ganz einfach hiermit geht.
Damit die spätere Hauptformel nicht zu unübersichtlich wird, lagern wir diese aus. Das soll heißen, sie bekommt irgendwo einen eigenen Platz/Zelle. Nehmen wir jetzt mal beispielsweise die Zelle A9.
Nun wird es etwas interessanter, denn wir wollen ja einen Datenbereich erstellen, der abhängig vom Datum ist. Wir können also keinen festen Datenbereich a-la A4:D6 vorgeben. Und zu diesem Zweck kommt jetzt =ADRESSE() zum Zuge.
Die wichtigsten Infos dazu kannst Du ja in der Hilfe nachlesen.
Durch das &":"& werden die zwei Adressen mit einander zusammengefügt.
Ich sprach ja eben von einem Korrekturfaktor, und der wird jetzt in der zweiten ADRESSE eingesetzt, und zwaar mit +1. Und deshalb steht in der zweiten Adresse nicht einfach A9, so wie in der ersten, sondern A9+1.
Wenn du jetzt also diese Formel beispielsweie in A10 eingibst, und in B18 das Datum 01.02.18 steht, dann wird folgender Text angezeigt:
C4:D4.
Okay, das war jetzt nur zum allgemeinen Verständnis, für die gleich noch folgende Hauptformel.
Jedoch haben wir jetzt noch keinen Mehrzeiligen Datenbereich, sondern nur eine Einzeilige Datenzeile. Und damit können wir nichts anfangen. das ändert sich jetzt aber sofort.
Natürlich könntest Du auch bei der zweiten Adresse die letzte benutzte Zeile von Hand eingeben, und das würde dann so aussehen.
Und das bleibt auch dir überlassen ob Du die Hauptformel dementsprechend umstellst, und ich wäre dir auch deswegen nicht böse.
Jedoch kann man sich auch die letzte benutzte Zeile automatisch ermitteln lassen. Und dafür wäre diese Formel gut.
Diese muss aber als Matrixformel mit "Strg" + "Shit" + "Enter" angeschlossen werden.
Sagen wir jetzt mal das wir diesen automatismus einbauen wollen, dann müsste die Formel in A10 mit den beiden Adressen wie folgt aussehen.
Code: Alles auswählen
=ADRESSE(4;A9;4)&":"&ADRESSE(MAX(ZEILE(A4:A8)*(A4:A8<>""));A9+1;4)
Da wir jetzt aber die eben vorgestellte Matrixformel eingebaut haben, muss diese hier jetzt auch als Matrixformel abgeschlossen werden.
Und als Ergebnis, wenn in B18 das Datum 01.02.18 steht, dann wird folgender Text angezeigt:
C4:D6.
Na Prima!
Jetzt haben wir einen echten Mehrzeiligen Datenbereich.
Und nun kommt die Hauptformel in B21.
Code: Alles auswählen
=SVERWEIS(A21;INDIREKT(ADRESSE(4;A$9;4)&":"&ADRESSE(MAX(ZEILE(A4:A8)*(A4:A8<>""));A$9+1;4));2;0)
Auch diese Formel musst Du als Matrixformel abschließen.
Das ist also mein Vorschlag mit =SVERWEIS.
Und der Beweiss das dies auch funktioniert, ist im Anhang.
Die Formel in A10 kannst Du getrost löschen. Sie soll dir nur dazu dienen das ganze etwas leichter zu verstehen.
Ich hoffe das Du damit zu recht kommst. Ansonsten frag halt einfach nach.
Gruß
balu