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

Zelle: mehrfache Werte suchen

Zelle: mehrfache Werte suchen
02.02.2021 15:10:24
Therese
Hallo Zusammen,
ich habe eine Spalte (aus einer CSV gewonnen), die mehrere Daten enthält, von denen ich aber nicht alle brauche und die auch nicht in konsistenter Sortierung erscheinen.
Beispiel:
A1: Server: ABC, Typ: Intel, App: 1, App: 2, CPU: 2
A2: A1: Server: BCD, App: 1, Typ: AMD, App: 3, CPU: 4
Ich könnte durch Text in Spalten die Dinger trennen, aber die Daten sind eben nicht gescheit sortiert, also hätte ich viel zu viele Spalten am Ende.
Allerdings brauche ich sowieso nur die Aussage über die "App". Am liebsten möchte ich also in B1 sagen: Schau mal, ob du in A1 "App:" findest und schreib dann hier rein, was dazu steht. Und wenn du das öfter findest, dann gib mir das mit Komma getrennt hier rein.
So dass also in Spalte B steht:
B1: 1, 2
B2: 1, 3
Habt ihr eine Idee?

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ab Xl2019
02.02.2021 15:22:03
lupo1
B1: =TEXTVERKETTEN(", ";;--LINKS(
TEIL(WECHSELN(WECHSELN(A1;" ";"#");"App:#";WIEDERHOLEN(" ";99));SPALTE(B:C)*99-98;99);SUCHEN(",";
TEIL(WECHSELN(WECHSELN(A1;" ";"#");"App:#";WIEDERHOLEN(" ";99));SPALTE(B:C)*99-98;99))-1))

Kann auch für ältere Versionen mit normalem & verdoppelt werden. Das schenke ich mir.
AW: Ab Xl2019
02.02.2021 15:32:17
Therese
Hi Lupo,
da haut er mir ein freundliches #Value! raus.
Zur Erschwernis, ich habe ein englisches Excel .... übersetzt habe ich es mir so:
=TEXTJOIN(", ";;--LEFT(MID(SUBSTITUTE(SUBSTITUTE(A1;" ";"#");"App:#";REPT(" ";99));COLUMN(B:C)*99-98; 99);SEARCH(",";MID(SUBSTITUTE(SUBSTITUTE(A1;" ";"#");"App:#";REPT(" ";99));COLUMN(B:C)*99-98;99))-1))
Habe ich was falsch übersetzt?
Anzeige
AW: Ab Xl2019
02.02.2021 15:37:48
Werner
Hallo,
was mit jetzt mal so auffällt: Bei englischem Excel/Formeln ist aber das Komma das Trennzeichen, du hast aber überall das Semikolon drin.
Gruß Werner
AW: Ab Xl2019
02.02.2021 15:49:25
Therese
Danke Werner! Sehr guter Hinweis! Habs jetzt mal auf einem anderen Rechner gemacht wo ich ein deutsches Excel hab. Da wiederum gibt er mir aber nur den ersten Wert aus, also eine 1 in dem Fall bzw eine 2, wenn ich in A1 App: 2 als erstes schreibe. Er macht also die Wiederholung nicht. Ich habe die Vermutung das liegt am "SPALTE(B:C)". Was tut der Teil? Ich habe ja alles nur in Spalte A und will die Ausgabe mit Komma getrennt in Spalte B.
Anzeige
Bei mir tut's. Zu wenig Info, sorry. Version?
02.02.2021 15:54:03
lupo1
AW: Bei mir tut's. Zu wenig Info, sorry. Version?
02.02.2021 15:59:14
Therese
Ich habe Excel 2019.
AW: Bei mir tut's. Zu wenig Info, sorry. Version?
02.02.2021 16:03:28
Therese
Userbild
Gib die Formel in B1 und C1 zusammen ein
02.02.2021 16:18:35
lupo1
... (beide Zellen sind markiert) und schließe sie mit Strg-Umsch-Eing ab. xl365 schafft das hingegen dynamisch.
AW: Gib die Formel in B1 und C1 zusammen ein
02.02.2021 16:25:03
Therese
Tschakka!! Danke!! Gibt allerdings auch den richtigen Wert ein, wenn ich das nur in B1 mache. Wenn ich es in beide (beide markiert) schreibe, steht in beiden dann 1, 2 bzw 2, 3
Also einfach nur doppelt. Macht es einen Unterschied ob ich das nur in B1 oder B/C1 schreibe?
Bin mit einer anderweitigen Antwort grad ...
02.02.2021 16:33:22
lupo1
... durcheinandergekommen, die ich gegeben habe. Natürlich nur B1.
Nachtrag: Ich war von max. 2x App: ausgegangen ...
02.02.2021 16:59:01
max.
... sind es mehr (zB max. 5), dann SPALTE(B:F).
Anzeige
AW: Nachtrag: Ich war von max. 2x App: ausgegangen ...
02.02.2021 20:23:40
max.
Da ist noch ein Wurm drin ... hab jetzt bisschen rumprobiert ... Wenn ich am Ende ein Komma lasse, dann klappts bzw wenn dahinter noch was kommt. Aber ansonsten haut er mir nen Fehler rein.
Userbild
Idee?
schreib statt A1: A1&","
02.02.2021 21:47:43
WF
.
AW: schreib statt A1: A1&","
02.02.2021 22:37:11
Therese
Falls du das so meinst:
=TEXTVERKETTEN(", ";;--LINKS(TEIL(WECHSELN(WECHSELN(A1&",";" ";"#");"App:#";WIEDERHOLEN(" "; 99));SPALTE(B:C)*99-98;99);SUCHEN(",";TEIL(WECHSELN(WECHSELN(A1&",";" ";"#");"App:#"; WIEDERHOLEN(" ";99));SPALTE(B:C)*99-98;99))-1)) 
das klappt nicht. Ich habe [A1] ersetzt durch [A1&","] (ohne eckige Klammer natürlich, das ist nur zum Veranschaulichen was ich ausgetauscht habe).
=> #Wert!
Anzeige
AW: Zelle: mehrfache Werte suchen
02.02.2021 16:21:56
Daniel
Hi
VBA bescheiden: wäre es für dich eine Option, mit einer kleinen selbst geschriebenen UDF zu arbeiten?
scheint mir hier das einfachste zu sein.
Gruß Daniel
AW: Zelle: mehrfache Werte suchen
02.02.2021 16:34:38
Therese
Hi Daniel,
kann ich gern versuchen :)
PS: Habe das jetzt mal mit meinen "echten" Werten gemacht, hat nicht geklappt. Mist verdammter. Probier ich nachher nochmal neu.
AW: Zelle: mehrfache Werte suchen
02.02.2021 17:10:59
Daniel
Hi
wenns nicht klappt, zeig mal deinen Code.
Gruß Daniel
AW: Zelle: mehrfache Werte suchen - mit UDF
02.02.2021 17:27:22
Daniel
Hi
hier mal eine mögliche UDF-Lösung:
1. folgender Code ins Modul 1
Function myFilter(txt As String, TrKz As String, Ftxt As String)
Dim TeilTexte
TeilTexte = Split(txt, TrKz)
TeilTexte = Filter(TeilTexte, Ftxt)
myFilter = Join(TeilTexte, TrKz)
myFilter = Replace(myFilter, Ftxt, "")
End Function
2. in Zelle B1 und darunterliegende dann die Formel:
=myFilter(A1;", ";"App: ")
Gruß Daniel
Anzeige
AW: Zelle: mehrfache Werte suchen - mit UDF
02.02.2021 20:02:11
Therese
Mein Vorgehen:
Ich drücke Alt+F11
Mache ein neues Modul und kopiere deinen Text rein. Dann noch in die entsprechende Zelle den anderen Text. Habs mit normal Enter getestet und als Matrix. Nix. Also kein Fehler, aber auch keine Werte ;) Leere Zelle.
Was brauchst du von mir um zu prüfen was ich falsch mache? Wo hole ich das her? Ich bin jetzt grad am deutschen Excel - falls das wichtig zu wissen ist.
AW: Zelle: mehrfache Werte suchen - mit UDF
02.02.2021 20:45:32
Günther
Also,
vielleicht findet sich ja jemand, der dir eine Lösung mit Power Query erstellt. Mit den "dünnen" Musterdaten geht es auf jeden Fall, aber auch mit größeren Datenmengen unterschiedlicher Art wird das möglich sein.
 
Gruß
Günther  |  mein Excel-Blog
Anzeige
AW: Zelle: mehrfache Werte suchen - mit UDF
02.02.2021 21:27:16
Daniel
Hi
am besten die Datei mit deinen Versuchen hochladen.
aber es sollte so funktionieren wie du beschrieben hast.
1. Code ins Modul1 eintragen
2. Formel mit der neuen Funktion in die Zelle eintragen
fertig.
ggf noch prüfen, ob du die Parameter richtig eingetragen hast.
Gruß Daniel
AW: Zelle: mehrfache Werte suchen - mit UDF
02.02.2021 21:32:19
Therese
Korrektur. Es funktioniert :) Danke!
Deine Idee mit Text-in-Spalten war schon mal ...
04.02.2021 01:06:50
Luc:-?
…ganz gut, Therese,
nur hat µS erst vor, eine Fkt zu entwickeln, die höchstwahrscheinlich darauf basieren wird. In VBA gibt's dagg schon lange eine einfache Variante dafür, die vbFkt Split, die auch eine Grundlage von Daniels UDF ist. Aber auch Lupos Fml fktioniert (als singulare MatrixFml) mit deinen Bspp, nur musste ich das in Xl2013 nicht vorhandene TEXTVERKETTEN durch meine UDF VJoin, die schon länger im hiesigen Archiv existiert und auf der auch von Daniel verwendeten vbFkt Join basiert, ersetzen:
{=VJoin(--LINKS(TEIL(WECHSELN(WECHSELN(A1;" ";"#");"App:#";WIEDERHOLEN(" ";99));SPALTE(B:C)*99-98;99);
SUCHEN(",";TEIL(WECHSELN(WECHSELN(A1;" ";"#");"App:#";WIEDERHOLEN(" ";99));SPALTE(B:C)*99-98;99))-1);", ")}

Allerdings ist diese Fml recht lang, weil Lupo seine ErsatzMethode für die fehlende xlFkt TEXTSPALTEN (?) verwendet hat. Dagg würde die Fml mit sauberer Aufteilung der 3 notwendigen Fktionalitäten auf eigene UDFs (wie in Xl üblich) und deren Verbindung in einer singularen MatrixFml wesentlich kürzer:
{=GLÄTTEN(VJoin(WENN(LINKS(VSplit(A1;", ");5)="App: ";RECHTS(VSplit(A1;", ");2);"");", ";-1))}
Die xlFkt GLÄTTEN ist hierbei nur erforderlich, falls die gesuchten Zahlen auch (maximal) 2stellig sein könnten. Anderenfalls (stets 1stellig!) wäre auch das 2.Argument von RECHTS nicht erforderlich.
Die beiden UDFs wurden in dieser BspDatei aus dem Archiv verwendet.
Morhn, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige