Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
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

Werte vergleichen und dann anderen Wert kopieren

Werte vergleichen und dann anderen Wert kopieren
08.03.2019 17:05:12
Robert
Hallo!
Ich habe folgende Problemstellung und hoffe auf Ideen und/oder Lösungsansätze von den Profis ;-)
In einer Datei sind 2 Tabellenblätter.
In Tabelle 1 gibt es Werte in Spalte A und Werte in Spalte C.
Die Kombination aus 2 dieser Werte (z.B. a und 2) soll die Suchbasis für Tabelle 2 sein.
Dort soll zuerst nach dem Wert aus Spalte A gesucht werden in Zeile 5. Die Spalte soll markiert werden und nach dem Wert aus Spalte C durchsucht werden. Das Ergebnis kann hierbei mehrmals vorkommen. Sobald das erste Ergebnis gefunden wurde soll der Wert aus Spalte A dieser markierten Zeile in das Ergebnisfeld in Tabelle 1 Spalte B kopiert werden.
Das ganze soll sooft wiederholt werden bis die Spalte komplett durch ist.
Ich dachte hier an ein VBA Makro wo ich per Button eine Inputbox starte, dort den Wert1 aus Tabelle1 eintrage und danach auf dieser Basis die Blätter durchsucht und verglichen werden.
Ich hoffe es ist einigermaßen verständlich und freue mich auf Ideen und Lösungsvorschläge!
https://www.herber.de/bbs/user/128227.xlsx

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit UDF?
09.03.2019 08:39:48
hary
Moin
Wie waere eine UDF? Wenn du es so meinst.



Tabelle1
 ABC
4Wert 1gesuchte WerteVergleichswert
5aa11
6av52
7ar43
8a 4
9a 5
10ba11

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B5:B10=Ausgabe(Tabelle2!$A$5:$G$14;A5;C5)  =Ausgabe(Tabelle2!R5C1:R14C7,RC[-1],RC[1])

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

Code fuer die UDF in ein Modul.
Function Ausgabe(Bereich As Range, suche1 As String, suche2 As Long) As String
Dim a As Variant, b As Variant
a = Application.Match(suche1, Bereich.Rows(1), 0)
If IsNumeric(a) Then
b = Application.Match(suche2, Bereich.Columns(a), 0)
If IsNumeric(b) Then
Ausgabe = Bereich.Cells(b, 1)
End If
End If
End Function

gruss hary
Anzeige
AW: oder einfach nur eine Formel ...
09.03.2019 13:25:01
neopa
Hallo Robert,
... und zwar eine Matrixfunktion(alität)sformel die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt.
In B5:
=WENNFEHLER(INDEX(Tabelle2!A:A;VERGLEICH(C5;INDEX(Tabelle2!A:G;;VERGLEICH(A5;Tabelle2!$5:$5;0));0));"")
und Formel nach unten kopieren.
Gruß Werner
.. , - ...
AW: oder einfach nur eine Formel ...
09.03.2019 19:09:30
Robert
Hallo Werner,
danke für den Ansatz, vom Grundsatz her funktioniert das, richtig, allerdings mit dem Problem dass jeweils nur 1 Wert ausgegeben wird. Es gibt aber mehrere Werte die alle hintereinander mit Trenner in dem Feld ausgegeben werden.
Bei Deinem Ansatz wird immer nur der erste Treffer gesetzt.
Z.B. bei A und 1 gibt es in Tabelle 2 die Werte a1, b2, c3
Man müsste Deine Formel also solange wiederholen bis keine Ergebnisse mehr gefunden werden.
Wie würdest Du das dann lösen? eventuell Hilfstabelle und dann per Array oder ähnlich?
Danke und schönen Gruß
Robert
Anzeige
AW: dann z.B. mit einer AGGREGAT()-Formel ...
10.03.2019 08:32:34
neopa
Hallo Robert,
... in meiner Excel 2010er Version (kennt noch kein TEXTVERKETTEN) Hilfszellen, denn Excel hat genügend freie. Angenommen ab Spalte E wäre solche Leerzellen vorhanden, dann folgende Matrixfunktion(alität)sformel die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt, in E5 einkopieren:

=WENNFEHLER(INDEX(Tabelle2!$A:$A;AGGREGAT(15;6;ZEILE(A$6:A$19)/(Tabelle2!$B$5:$G$5=$A5)
/(Tabelle2!$B$6:$G$19=$C5);SPALTE(A1)));"")&WENN(F5="";"";", "&F5)

und Formel ziehend nach unten und weit genug nach rechts ziehend kopieren.
In B5 dann nur noch =E5&"" und diese nach unten kopieren.
Ohne Hilfszellen geht es auch z.B. mit einer UDF von Luc.
Gruß Werner
.. , - ...
Anzeige
AW: dann z.B. mit einer AGGREGAT()-Formel ...
15.03.2019 15:47:16
Robert
Hallo Werner,
genau so funktionierts! Vielen Dank!
Jetzt hätte ich noch eine Erweiterung für das Ganze.
Es gibt die Spalten Ergebnis 01 und Ergebnis 02.
Diese sollten folgendermaßen befüllt werden:
Der erste Abgleich bezieht sich auf Wert 1 und dem zugehörigen Tabellenblatt, also z.B. bei Wert a soll im Tabellenblatt a nach eRgebnis 01 und 02 gesucht werden.
Es gibt eine Info auf Tabelle 1 mit Spalte + und Spalte - in der die Unterteilung gelistet ist die zusätzlich benötigt wird. Im Tabellenbaltt a gibt es für Spalte + und für Spalte - eine eigene Tabelle, dort sind jeweils die Werte für Ergebnis 01 und 02 bezogen auf die Ergebnise Deiner Fomel.
Allerdings darf hier nur der Abgleich erfolgen anhand dem ersten Wert aus Deiner Formel. Also z.B. beim Tabelle 1, Zeile 5 sollte Anhand dem Wert 1 = a in Tabellenblatt a nach dem Wert a1 aus der Spalte + gesucht werden.
Wie würdest Du das denn lösen?
Vielen Dank schonmal für Deine Hilfe!
Gruß Robert
https://www.herber.de/bbs/user/128417.xlsx
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige