Hallöchen,
genau wie der letzte Eintrag aktiv / inaktiv gesucht werden kann, kann man auch zu einem Auto den letzten Namen suchen. Ist doch das gleiche Prinzip ...
rngtab1 und rngtab2 sind keine Funktionen, sondern Variable. Die wurden am Anfang des Makros als Range definiert, also sind es Variable für einen Bereich. In der Schleife sollte sich das auf irgendwas konkretes beziehen. In Deinem code ist der Bezug auf den kompletten Bereich gelenkt. Ich würde da z.B. nur einzelne Zellen nehmen.
Ja verstehe dasselbe Prinzip schon, hab versucht das anzupassen, komme immer auf einen Zirkelbezug.
Na egal..... wird es halt händisch angepasst.
ich gebe es auf.......
Hallo Zenon,
hier mal der Ansatz. Da nun nur noch nach der Zahl gesucht wird, gibt es ein Problemchen z.B. mit 1, 10, 11 usw. da die 1 auch in den anderen Zahlen gefunden wird. Du müsstest die Zahlen in beiden Listen zur Unterscheidung z.B. mit führender Null versehen '01 '02 usw. Beim Formelfinden gibt es ja kein xlWhole wie im VBA.
Die Formel findet so allerdings immer das letzte Auftreten der Nummer. Du kannst damit also nicht die Nummern vortragen.
Arbeitsblatt mit dem Namen 'Bestand ' |
| A | B | C |
1 | Auto | Fahrer | Status |
2 | 01 | Müller | |
3 | 02 | Ich | ups |
4 | 03 | Kunze | ups |
Zelle | Formel |
B2 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A2;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
C2 | {=WECHSELN(WECHSELN(INDEX(Ausgaben!D:D;VERWEIS(2;1/FINDEN(A2&B2;Ausgaben!A1:A1000&Ausgaben!B1:B1000);ZEILE(1:997)));"x";"aktiv");"0";"inaktiv")} |
B3 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A3;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
C3 | {=WECHSELN(WECHSELN(INDEX(Ausgaben!D:D;VERWEIS(2;1/FINDEN(A3&B3;Ausgaben!A2:A1001&Ausgaben!B2:B1001);ZEILE(2:998)));"x";"aktiv");"0";"inaktiv")} |
B4 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A4;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
C4 | {=WECHSELN(WECHSELN(INDEX(Ausgaben!D:D;VERWEIS(2;1/FINDEN(A4&B4;Ausgaben!A3:A1002&Ausgaben!B3:B1002);ZEILE(3:999)));"x";"aktiv");"0";"inaktiv")} |
Achtung, Matrixformel enthalten! |
Die geschweiften Klammern{} werden nicht eingegeben. |
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine. |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |
Jo, mit dem Voranstellen von einer 0 oder auch einen Buchstaben wie A1, A2 ect.. funktioniert so leider auch nicht.
Sobald wieder was identisches wie 1, 11 oder so gefunden wird, passt der Name nicht mehr....
Hab´s mit SVERWEIS versucht...oder auch mit INDEX und VERGLEICH, in etwa so um eine exakte Suche zu haben über 0 bzw. FALSCH.
Code:
=INDEX(Ausgaben!B:B;VERGLEICH(A2;Ausgaben!$A$1:$A$1000;0))
dann sucht er aber nicht mehr die letzte Zeile.......
Hallo Zenon,
das müsstest Du aber in beiden Listen davorstellen. Ich hab das mit eine, Häkchen davor eingegeben, damit Excel die Zahl als Text erkennt. '01 usw.
Hallo schauan,
habe ich in beiden Tabellenblättern angeglichen und die Formatierung der Zellen jeweils in Spalte A auf TEXT gestellt.
siehe auch angehängte Beispiel xls.
Funktioniert ja auch vom Prinzip her......nur sobald wie im Beispiel z.B Auto 11 mit Fahrer Test 5 ins Spiel kommt wird auch Müller auf A2 zum Test 5......
weil Excel wie ja auch gewollt grundsätzlich in der letzten Zeile in Ausgaben sucht. Dort findet er ja auch Auto 1(1) und ändert dann den Wert.
Problem ist demnach das keine 100% exakte Übereinstimmung gesucht wird. Kann man das noch irgendwie anpassen?
Hi,
(25.12.2015, 12:38)Zenon schrieb: [ -> ]abe ich in beiden Tabellenblättern angeglichen und die Formatierung der Zellen jeweils in Spalte A auf TEXT gestellt.
wenn in einer Zelle Text drin steht, egal, ob mit oder ohne anschließende Zahl, ist es immer Text. Da wird das ' nicht benötigt.
Kommt aber trotzdem der von Dir notierte Fehler.
Versuche es mal mit Auto 01, Auto 02, ... dann ist es richtig, das hat ja auch André im Beitrag #33 schon vorgestern geschrieben.
Datenbank | A | B | C |
1 | Auto | Fahrer | Status |
2 | Auto 01 | Müller | aktiv |
3 | Auto 02 | Kunze | aktiv |
4 | Auto 03 | Meier | aktiv |
5 | Auto 04 | Schulte | inaktiv |
6 | Auto 05 | Hinz | aktiv |
7 | Auto 06 | Kunz | aktiv |
8 | Auto 07 | Test | aktiv |
9 | Auto 08 | Test2 | aktiv |
10 | Auto 09 | Test3 | aktiv |
11 | Auto 10 | Test4 | aktiv |
12 | Auto 11 | Test5 | aktiv |
verwendete Formeln | |
Zelle | Formel | Bereich | N/A |
B2:B12 | {=INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A2;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000)))} | $B$2 | |
C2:C12 | =WECHSELN(WECHSELN(INDEX(Ausgaben!D: D;VERWEIS(2;1/FINDEN(A2&B2;Ausgaben!A1:A1006&Ausgaben!B1:B1006);ZEILE(1:997)));"x";"aktiv");"0";"inaktiv") | | |
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!Excel-Inn.de |
Hajo-Excel.de |
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 |
Add-In-Version 21.07 einschl. 64 Bit |
Hallo Rabe
hatte ich zwischendurch auch schon. Geht aber auch nicht.....siehe beigefügte xls. aus Müller wird Test 5
Hi,
(25.12.2015, 14:49)Zenon schrieb: [ -> ]hatte ich zwischendurch auch schon. Geht aber auch nicht.....siehe beigefügte xls. aus Müller wird Test 5
hattest Du nicht!
Siehe mein Ausschnitt im vorigen Beitrag, vergleiche mal mit dem Text in Spalte A in Deiner beigefügten Datei "Mappe2".
Tipp:
Auto 1 ist in
Auto 11 enthalten, aber
Auto 01 ist in
Auto 11 nicht enthalten!
Hallo Zenon,
hier erst mal der Ausschnitt aus Bestand. #NV kommt deshalb, weil ich in Bestand '04 eingetragen habe und in Ausgaben noch 4 steht und '04 nicht enthalten ist. Die 0 bei 5 kommt deshalb, weil beim letzten Auftreten von 5 im Blatt Ausgaben noch nichts steht.
Arbeitsblatt mit dem Namen 'Bestand ' |
| A | B |
1 | Auto | Fahrer |
2 | 01 | Müller |
3 | 02 | Ich |
4 | 03 | Kunze |
5 | 04 | #NV |
6 | 5 | 0 |
Zelle | Formel |
B2 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A2;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
B3 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A3;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
B4 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A4;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
B5 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A5;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
B6 | =INDEX(Ausgaben!B:B;VERWEIS(2;1/FINDEN(A6;Ausgaben!$A$1:$A$1000);ZEILE($1:$1000))) |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |
Hier noch der zugehörige Teil aus dem Blatt Ausgaben:
Arbeitsblatt mit dem Namen 'Ausgaben' |
| A | B |
1 | Auto | Fahrer |
2 | 01 | Müller |
3 | 02 | Meier |
4 | 03 | Kunze |
5 | 4 | Otto |
6 | 5 | Heinrich |
15 | 4 | |
16 | 5 | |
17 | 6 | |
18 | 33 | Du |
19 | 1 | Müller |
20 | 02 | Ich |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |