Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1496to1500
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

Ähnliches Material suchen über Hilfstabelle

Ähnliches Material suchen über Hilfstabelle
14.06.2016 17:37:48
Rene
Hallo zusammen,
die Nervensäge ist es, da es mit Hilfe eine Ähnlickeits-text-marko nicht so funktionierte, dachte ich mir man könnte es per Formel machen aber mit Hilfe einer Zusatztabelle.
Anbei ein Foto meines Problems.
Habe nur mal schnelle ein BSP aufgestellt.
Userbild
- Tabelle 1 soll über Tabelle 2 ein ähnliches Material finden und die Sachnummer als Referenz ausgeben.
So leider muss ich erstmal Feierabend machen :).
Viel Spaß beim Fussball

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ähnliches Material suchen über Hilfstabelle
14.06.2016 17:40:30
Hajo_Zi
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann. Eine hochgeladene Arbeitsmappe bzw. ein geposteter Tabellenausschnitt dagegen, erhöhen die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese Mappe mit einem aussagekräftigen Dateinamen hoch oder benutze ein Tool zur Tabellenanzeige.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, solltest du diese Daten anonymisieren bzw. pseudonymisieren.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms).

Jul 2014
 C
29Falsch
30496

verwendete Formeln
Zelle Formel Bereich N/A
C29=C27=C28  
C30=SUMMEWENN([Bildschirm.xlsm]Statistik!$Q$44:$Q$54;"<" &HEUTE();[Bildschirm.xlsm]Statistik!$R$54)  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.07 einschl. 64 Bit



Anzeige
AW: Das Suchkriterium mit Sternen verknüpfen ...
14.06.2016 18:02:38
...
Hallo Rene,
... dann kannst Du das einfach mit SVERWEIS() lösen. Also so z.B.: =SVERWEIS("*"&E2&"*";B:C;2;) erhältst Du die Referenzsachnummer und mit Bezug auf diese mittels INDEX() und VERGLEICH() die Sachnummer.
Gruß Werner
.. , - ...

Referenz nicht praxistauglich
14.06.2016 19:35:48
Michael
Hi zusammen,
ich finde die Beispieldaten zu "simpel", um eine praxistaugliche Lösung überhaupt andenken zu können.
Es wird doch sicher eine Haube 145 und eine Haube 397 geben, mit unterschiedlichen Nummern, Größen usw. usf.
"Ähnliches Material" hilft nix: wenn, dann das "RICHTIGE" - z.B. mit einer Auswahlfunktion bei mehreren Treffern oder so.
Ohne Beispieldatei mit möglichst echten Werten ist das sinnlos.
Schöne Grüße,
Michael

Anzeige
AW: Referenz nicht praxistauglich
15.06.2016 14:30:55
Rene
Hallo zusammen,
anbei die Datei mit richtigen Angaben.
https://www.herber.de/bbs/user/106259.xlsx
Reiter I: Planung, dort möchte ich gern die Referenzsachnummern haben.
Userbild
Reiter II: Ist der vorhandene Wortstamm der von mir angelegt wird
Userbild
Reiter III: Ist die Archivliste dort wo er sich die Daten holen soll.
Userbild
Nun soll er über den Wortstamm ein ähnlichen Datensatz finden und dann die Länge Breite Höhe vergelichen wenn dies im Toleranzbereich ist dann soll er mir die Sachnummer von Reiter III als Referenz wieder geben. Für Länge Breite und Höhe verwende ich ein Verweisformel.
=VERWEIS(12;1/('Archiv'!E1:E999>=Planung_DBS!C3)/('Archiv'!F1:F999>=Planung_DBS!D3) /('Archiv'!G1:G999>=Planung_DBS!E3);'Archiv'!A:A) . Diese eine Formel hätte ich mit der anderen Verbunden.
Ich hoffe ihr könnt was daraus machen :D

Anzeige
so schon eher
15.06.2016 17:35:10
Michael
Hi Rene,
meines Erachtens ist das mit Formeln zu kompliziert.
Ich habe was mit VBA gebastelt: https://www.herber.de/bbs/user/106271.xlsm
Mit "VBA nur mit Rekorder" werden Dir die Makros etwas unverständlich erscheinen - aber wenn es in etwa so läuft, daß Du sinnvoll damit arbeiten kannst, macht's ja auch nichts.
Dafür gibt es zwei Voraussetzungen:
a) das Archiv habe ich "wegkopiert" auf "Archiv Orig"; da sind sooo viele Doppelte drin: wozu die alle mitrechnen? In "Archiv" habe ich die Doppelten entfernt.
b) versuche nicht, die Makros in eine andere Datei zu kopieren. Kopiere vielmehr Deine Daten in die Makro-Datei.
Getting started:
a) im "Plan xxx" den Button "WS zuordnen" klicken. Vorhandene Wortstämme werden im Plan in die Spalte H geschrieben.
b) im "Archiv" den Button "WS zuordnen" klicken. Wie gehabt, halt im Archiv, außerdem werden parallel im Wortstamm (Spalte B) Infos hinterlegt, in welchen Zeilen des Archivs der jeweilige Begriff vorhanden ist: einfach mal ansehen, aber bitte nichts ändern.
c) wieder im "Plan" werden die einzelnen Nummern durch Doppelklick in die gelbe Spalte gesucht.
Das geht folgendermaßen: nach dem Doppelklick erscheinen rechts (J bis N) alle Treffer samt einer Inputbox, in der Du ein Teil anklicken kannst: dessen Nummer wird dann in Spalte G geschrieben.
Das ist deutlich "halbautomatisch", aber bei der Art von Datenmaterial wird es sich nicht wirklich automatisieren lassen.
Happy Exceling,
Michael

Anzeige
AW: so schon eher
15.06.2016 17:50:35
Rene
Super,
Vielen Vielen Dank, nun ein paar Fragen:
1. Auch bei Doppelklick füllt er Spalte Gelb nicht? ._.
2. Wie groß ist die Toleranz bei Länge Breite Höhe?
vielen lieben Dank.

AW: so schon eher
15.06.2016 17:57:58
Rene
Frage 1 habe ich herausgefunden geile Lösung :)

gern geschehen
16.06.2016 00:49:17
Michael
Hi Rene,
2. habe ich gar nicht programmiert, dafür kannst Du die Sachen ja händisch auswählen.
Naja, der Punkt ist einfach die "Datenqualität" der Beispieldaten: wenn ich Listen mit 10000 Datensätzen sehe, spiele ich erst Mal ein paar Stunden damit herum (rauf- und runtersortieren usw.), bis ich sehe, wie gut sie zusammenpassen: das kann ich natürlich in diesem Fall nicht.
Bei dem, was Du geliefert hast, brauche ich gar nicht erst nach Größen zu schauen, wenn es schon bei der Farbe hakelt...
Du kannst Dir mal überlegen, ob und wie das mit Toleranzen sein sollte, vielleicht läßt es sich mit wenig Aufwand einbauen.
Schöne Grüße,
Michael

Anzeige
AW: gern geschehen
16.06.2016 15:34:56
Rene
Hallo Michael,
Danke nochmal jetzt habe ich aber ein Problem, ich habe den Wortstamm gefüllt und auch den Makro von 9 auf 856 erhöht, bei Reiter I (Plan DBS) ist alles korrekt aber bei Reiter III (Archiv) macht er mir "xxx". Kannst du mir helfen. Anbei der Code?
Option Explicit
Sub WS_zuordnenH()
Call WS_zu("H", Plan)
End Sub
Sub WS_zuordnenI()
Call WS_zu("P", Archiv)
End Sub

Sub WS_zu(sp As String, sh As Worksheet)
Dim aWS
Dim maxz&, i&, r1&, maxWS&
Dim c As Range, suchIn As Range
maxz = sh.Range("A" & Plan.Rows.Count).End(xlUp).Row
sh.Range(sp & 2).Resize(maxz).ClearContents
maxWS = WS.Range("A" & Plan.Rows.Count).End(xlUp).Row
WS.Range("B1").Resize(maxWS, 2).ClearContents
aWS = WS.Range("A1").Resize(maxWS, 2)
Set suchIn = sh.Range("B1").Resize(maxz)
For i = 1 To 856
Set c = suchIn.Find(aWS(i, 1), sh.Range("B1"), xlValues, xlPart)
If Not c Is Nothing Then
r1 = c.Row
Do
sh.Range(sp & c.Row).Value = aWS(i, 1)
If sp = "P" Then aWS(i, 2) = aWS(i, 2) & "," & c.Row
Set c = suchIn.FindNext(c)
Loop While Not c Is Nothing And c.Row  r1
End If
Next
If sp = "P" Then WS.Range("A1").Resize(maxWS, 2) = aWS
End Sub

Anzeige
AW: gern geschehen
16.06.2016 15:49:08
Rene
Habe den Fehler die Bezeichnung liegt nicht mehr auf Spalte B sonder auf O im Archiv

AW: gern geschehen
16.06.2016 17:46:11
Rene
Hallo Michael,
ich finde dein Makro einfach nur der Hammer :DDD
aber nun habe ich Probleme?
Könnte man eine Duplikatenprüfung reinmachen, wo nur 1x Die SN mit gleicher L B H. Ich kann sie leider auch nicht löschen da eine Spalte im Archivordner unterschiedlich ist aber ich diese benötige. Habe die Datei nochmal abgelegt und kann man Hyperlinks mit in das Makro intgrieren haben die Hyperlinks dahinter gesetzt in Reiter I,
das Problem darin ist, ich kann den Hyperlink nicht benutzen.
Habe die Datei abgelegt.
https://www.herber.de/bbs/user/106292.xlsm
Ich musste leider insgesamt 200000 Zeilen aus den Archiv löschen, deswegen sind leider nicht alle enthalten aber am BSP "Mutter" kann man es erkennen

Anzeige
paß bloß uff!
17.06.2016 13:30:34
Michael
Hi Rene,
a) Du mußt ja nichts LÖSCHEN, nur eine KOPIE des Archivs verwenden, in dem Du die Doppelten entfernt hast - wenn das zu viel hin & her ist, bietet sich auch die Verwendung eines sogenannten "Dictinarys" an - ich baue es mal ein.
b) Dein "Wortstamm" läßt zu wünschen übrig. Suchbegriffe wie "HA" kann man schon verwenden, aber dabei ist Vorsicht geboten (deshalb "paß bloß uff"):
Kopiere das Makro mal in die Tabelle WS:
Option Explicit
Sub plausi()
Dim maxz&, i&, r1&, maxWS&
Dim c As Range, suchIn As Range
Dim begriff$, b0$, aWS
maxWS = Range("A" & Rows.Count).End(xlUp).Row
aWS = Range("A1:A" & maxWS)
Range("C1:C" & maxWS).Clear
Set suchIn = Range("A1:A" & maxWS)
For i = 1 To maxWS ' !!! bis Arrayende= (derzeit) 850
begriff = ""
Set c = suchIn.Find(aWS(i, 1), suchIn(1), xlValues, xlPart)
If Not c Is Nothing Then
r1 = c.Row
Do
begriff = begriff & "-" & c.Value & " (" & c.Row & ")"
Set c = suchIn.FindNext(c)
Loop While Not c Is Nothing And c.Row  r1
If begriff  "-" & aWS(i, 1) & " (" & i & ")" Then _
Range("C" & i) = begriff
End If
Next
End Sub
Das findet und schreibt Doppelte und mehrfach "ineinander" vorkommende Teilbegriffe. Dabei fällt auf:
aa)- TUERAUSSENGRIFF (739)-TUERAUSSENGRIFF (1) kommt also sowohl in Zeile 1 als auch in Zeile 739 vor. Das ist von der Datenkonsistenz her unkritisch, das Makro läuft aber länger als nötig.
ABER: Du hast bei manchen Begriffen führende und/oder nachfolgende Leerzeichen: z.B. in Zeile 739; das bedeutet wiederum, daß der 739er NICHT in Deinen Daten gefunden wird, falls er dort nicht auch ein Leerzeichen VOR dem Begriff enthält.
Ich habe diesen Umstand in meiner Datei mit dem nachfolgenden Makro geglättet (wiederum in WS):
Sub glaetten()
Dim i&, maxWS&
Dim aWS
maxWS = Range("A" & Rows.Count).End(xlUp).Row
aWS = Range("A1:A" & maxWS)
For i = 1 To maxWS
aWS(i, 1) = Trim(LTrim(aWS(i, 1)))
Next
Range("A1:A" & maxWS) = aWS
End Sub
bb) -FLA (7)-REIFENDICHTMITTELFLASCHE (195)
FLA ist in Flasche (oder, was nicht vorhanden ist aber sein könnte, Flansch) enthalten. Wenn FLA vor Flasche in der Liste steht, ist es unproblematisch, aber wenn Flasche vor Fla steht, wird Flasche durch Fla ersetzt...
SEHR kritisch ist das bei Deinem HA: -SCHACHTABDECKUNG (25)-SCHACHTABDECKUNG (26)-SCHACHTABDECKUNG AUSSEN TV (27)-SCHACHTABDECKUNG TUER VO AU (28)-SCHACHTABDICHTUNG INNEN SS FESTST. (29)-SCHACHTABDICHTUNG TH (64)-SCHACHTABDICHTUNG TV (65)-ATMOSPHAERENLEIT (101)-KUEHLWASSERAUSGLEICHBEHAELT (108)-HANDBREMSBALG (113)-FANGHAKEN (129)-BLENDE SCHALTER (155)-HANDBREMSBOWDENZUG (162)-BREMSLICHTSCHALTER I REDESIGN (174)-BREMSLICHTSCHALTER II (175)-DACHANTENNE (178)-HA (232)-FILTERGEHAEUSE (242)-HALTELEISTE ABDECKUNG WINDLAUF (247)-WISCHANLAGE (254)-GEHAUSE
D.h., alle dortigen Begriffe vor Zeile 232 werden durch HA ersetzt!
Abhilfe: die Liste alphabetisch sortieren und so was wie das HA ganz nach oben setzen.
Das mal bis hierher, jetzt sehe ich mal, ob das Dictionary auf Anhieb läuft...
Schöne Grüße,
Michael

Anzeige
AW: paß bloß uff!
17.06.2016 13:35:22
Rene
Hi Michael,
ich danke dir für die schnelle Lösung, ich werde Sie am Montag reinbasteln.
Bisdahin wünsche ich dir ein schönes Wochenende. :)

Jetzt ohne Doppelte
17.06.2016 14:31:10
Michael
Hi Rene,
jetzt werden nur Begriffe ohne Doppelte angezeigt (also brauchst Du am Archiv nichts zu ändern).
Die Datei: https://www.herber.de/bbs/user/106324.xlsm
Das mit den Hyperlinks kannst Du meines Erachtens vergessen: während die Inputbox aktiv ist, kannst Du keine "normalen Aktionen" im Blatt vornehmen, sondern eben nur einen Bereich anklicken.
Übrigens noch ne Kleinigkeit: um Fehler bei einer versehentlichen Mehrfachmarkierung zu vermeiden, änderst Du im Makro bitte noch die Zeile:
Sub Worksheet_BeforeDoubleClick, so die 7.Zeile von unten das (1) einfügen:
If k = 0 Then Plan.Range("G" & Target.Row) = Plan.Range("J" & c(1).Row)
Viel Spaß,
Michael

Anzeige
AW: Jetzt ohne Doppelte
20.06.2016 10:22:44
Rene
Hallo Michael,
habe es eingefügt, bin das Problem einfach umgegangen, er muss eins auswählen dann kann er den hyperlink benutzen, wenn nicht das Problem, dann anderes Referenzprodukt suchen.
Ich danke dir nochmal für diesen großen Schritt :D

AW: Jetzt ohne Doppelte
20.06.2016 11:05:46
Rene
Okay hab doch noch eine Fragen, wo im Programmcode ist hinterlegt, welche Spalte er nimmt, die für SN habe ich gefunden aber wo ist diese für Länge Breite und Höhe?
Vielen Dank im Voraus :)

wo genau?
20.06.2016 17:41:17
Michael
Hi Rene,
bei welchem Makro in welchem Blatt meinst Du?
Z.B. im "Plan" ...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Range, a, aa(), t, i&, k&
Dim oD As Object, key
If Target.Column = 8 And Target.Row > 1 And Target  "" Then
Cancel = True
Set c = WS.Range("A:A").Find(Target.Value, WS.Range("A1"), xlValues, xlPart)
If Not c Is Nothing Then
'   Plan.Range("J:N").ClearContents
a = c.Offset(, 1)
If a  "" Then a = Split(a, ",") Else MsgBox "nicht im Archiv": Exit Sub
Set oD = CreateObject("scripting.dictionary")
Stop ' hier ***

kannst Du an beliebigen Stellen ein Stop einfügen (und nach dem Debuggen wieder löschen oder auskommentieren), dann bleibt die Codeausführung an der Stelle stehen und Du kannst mit der F8-Taste zeilenweise weitergehen.
Der Witz dabei ist, daß Du den Wert von Variablen (zum jeweiligen Moment) siehst, wenn Du die Maus darüber ziehst (ohne Klicken). Ist am Anfang etwas hakelig, aber das wird...
Schöne Grüße,
Michael

AW: wo genau?
20.06.2016 17:58:23
Rene
Hi Michael,
genau bei Plan habe ich es gemeint.
Ich verstehe gerade den Ansatz oder mir fehlt die Spur, wo ich den Ansatz habe.
Zum Bsp möchte ich noch Spalte 11 bis 15 haben bloss, kann ich nicht genau sagen wo ich das Anfügen kann.

AW: wo genau?
20.06.2016 18:14:28
Rene
Hi Michael,
https://www.herber.de/bbs/user/106369.xlsm
leider kann ich dir diese Woche keine Antwort mehr geben, bin Unterwegs.
Habe die Datei nochmal ablegt mit den neuen Spalten.
Ich möchte halt gerne noch aus der Archiv Liste Spalte Hauptpackmittel bis Anzahl Zusatzpackmittel, leider finde ich nirgenswo im Code und deine Erklärung ist nett gemeint aber das werde ich auch noch test aber kann du mal hervorheben wo ich das Anpassen muss? :)
Kann man noch auf Spalte J eine Formatierung vornehmen, weil er löscht die Nullen raus und ich habe versucht den Code für Textformatierung reinzunehmen aber wandelt es nicht um :(

Melde Dich nochmal....
20.06.2016 19:47:52
Michael
Hi Rene,
die Frage "verschwindet" in wenigen Tagen aus dem Forum, d.h. man kann keine Antworten mehr geben.
Man kann die Änderungen noch einbauen, das ist keine große Geschichte, aber einige der gewünschten Begriffe (z.B. IdentBild, Packzeit) finde ich beim besten Willen nicht im "Archiv": woher nehmen?
Wenn die Frage weg ist, mach halt eine neue auf. Bis dahin mache ich auch nichts weiter...
Schöne Grüße,
Michael

AW: Melde Dich nochmal....
22.06.2016 08:13:00
Rene
Hallo Michael,
bin noch da IdentBild ist nur ein Hyperlink zum Verzeichnis, mir geht es um die Spalten Hauptpackmittel, Füllgrad, Zusatzpackmittel und dren Füllgrad, diese Spalten hätte ich gern noch mit dazu.

AW: mit einer Matrixfunktion(alität)sformel ...
15.06.2016 18:13:17
...
Hallo Michael,
... die wieder mit den "Sternen" arbeitet.
Formel in G2 und diese nach unten kopieren.
=WENNFEHLER(INDEX(Archiv!A:A;VERGLEICH("*"&INDEX(Wortstamm!A:A;AGGREGAT(15;6;ZEILE(A$1:A$9)/ISTZAHL(SUCHEN(Wortstamm!A$1:A$9;B2));1))&"*";Archiv!B:B;));"")
Wenn Deine Wortstammliste mehr als 9 Begriffe haben sollte, dann die 9 in der Formel entsprechend ersetzen.
Gruß Werner
.. , - ...

AW: mit einer Matrixfunktion(alität)sformel ...
15.06.2016 18:30:39
Rene
Super auch diese Lösung funktioniert, bloss ich verstehe nicht den Vorgang?
Wo betrachtet er die Maße oder ist das mit einer Formel gekoppelt?

AW: die Formel "betrachtet" (noch) keine Maße ...
16.06.2016 09:51:30
...
Hallo Michael,
... davon war ja bis jetzt doch auch noch nicht die Sprache oder hab ich da was überlesen? Deine Daten im Archiv Deiner Beispieldatei machen dies aber auch momentanen gar nicht notwendig, weil es da keinen Unterschiede gibt
Wenn Maße noch berücksichtigt werden sollen, dann bedarf es entsprechender eindeutiger Vorgaben und entsprechender Beispieldaten Deinerseits. Dann kann man dies sicherlich auch in die Formel noch integrieren.
Gruß Werner
.. , - ...

AW: die Formel "betrachtet" (noch) keine Maße ...
16.06.2016 11:05:03
Rene
Welche Vorgaben werden den benötigt?
Wir haben ja Länge Breite und Höhe, bestimmt wie groß die Differenz zwischen den Fällen ist oder?

AW: das kannst nur Du entscheiden ...
16.06.2016 19:32:59
...
Hallo Rene,
... also ob die Maße im Archiv gleich (alle oder bestimmte) oder alle größer sein oder bestimmten Toleranzabweichungen aufweisen müssen oder nicht ...
Unabhängig davon solltest Du Dich schon entscheiden, mit welchem Lösungsansatz Du weiter verfahren willst. Offensichtlich willst Du momentan ja Michaels VBA-Lösung weiter verfolgen.
Gruß Werner
.. , - ...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige