Hi
In den Zellen A1:A100 steht jeweils ein Satz bestehend aus mehreren
Wörtern.
In den Zellen B1:B10 steht jeweils ein Wort
Ich möchte nun jene Zellen A1:A100 markieren, die im jeweilgen Satz
irgendein Wort aus dem Bereich B1:B10 haben.
Ich habs mit vlookup verscuht, komm damit aber nicht ans Ziel...
Sebastian schrieb:> Hi>> In den Zellen A1:A100 steht jeweils ein Satz bestehend aus mehreren> Wörtern.> In den Zellen B1:B10 steht jeweils ein Wort>> Ich möchte nun jene Zellen A1:A100 markieren, die im jeweilgen Satz> irgendein Wort aus dem Bereich B1:B10 haben.>> Ich habs mit vlookup verscuht, komm damit aber nicht ans Ziel...
Das ist trivial.
Pro Satz fragst Du zehnmal mit der FINDEN-Funktion nach dem jeweiligen
Wort, wertest das Ergebnis geschickt aus und aggregierst die
Einzelergebnisse zu einem Gesamtergebnis.
Dann formatierst Du den jeweiligen Satz bedingt in Abhängigkeit vom
Gesamtergebnis.
Mundgerechte fertige Lösungen gibt es von mir angesichts der
verbreiteten Undankbarkeit nicht mehr - nur noch Hilfe zur Selbsthilfe.
Ja und nun feste auf den Abwertungsknopf drücken - ich bitte darum!
Peter M. schrieb:> Mundgerechte fertige Lösungen gibt es von mir angesichts der> verbreiteten Undankbarkeit nicht mehr
sorry aber jemanden vorschlägt, man soll einfach die Formel n-mal
verschachteln, das gibts - zumindest von mir - kein Danke.
Wenn ich nicht aus einer Liste mit 10 Wörtnern sondern mit 5000 suche,
hat die Formel eine Länge von Nürnberg-Berlin - naja fast...
Generell schreib ich die Formeln dynamisch, d.h. dass die Formel selbst
nicht geändert werden muss, wenn sich die Größe einer Tabelle verändert.
Mein Ansatz für das Problem bislang ist dieser:
=INDEX(WortListe,SUMPRODUCT(ISNUMBER(SEARCH(Wortliste,A1))*ROW($1:$3)))
wobei Wortliste das Feld B1:B3 ist wo sich momentan zum Testen 3 Wörter
befinden. Soweit klappts schon mal...
Sebastian schrieb:> sorry aber jemanden vorschlägt, man soll einfach die Formel n-mal> verschachteln,
Habe ich nicht, das deutest Du aber so.
> das gibts - zumindest von mir - kein Danke.> Wenn ich nicht aus einer Liste mit 10 Wörtnern sondern mit 5000 suche,> hat die Formel eine Länge von Nürnberg-Berlin - naja fast...>> Generell schreib ich die Formeln dynamisch, d.h. dass die Formel selbst> nicht geändert werden muss, wenn sich die Größe einer Tabelle verändert.
Eine Vielzahl von Problemen in Excel kann man nicht in einer Zelle
erschlagen. Man kann eine Formel aber so formulieren, dass man die
Formel bei größerer Problemgröße gedankenlos zeilen- oder spaltenweise
kopieren kann.
> Mein Ansatz für das Problem bislang ist dieser:> =INDEX(WortListe,SUMPRODUCT(ISNUMBER(SEARCH(Wortliste,A1))*ROW($1:$3)))
Und warum schreibst Du nicht in Deiner Ausgangsfrage, was Du bisher
geschafft hast?
Dein Beitrag liest sich wie der eines Excel-Anfängers, der noch nicht
einmal den Funktionsumfang kennt, geschweige denn die Hilfe-Funktion zur
Funktionssuche bedienen kann.
> wobei Wortliste das Feld B1:B3 ist wo sich momentan zum Testen 3 Wörter> befinden. Soweit klappts schon mal...
Und warum schreibst Du nicht, dass Du mit Excel Massendatenverwaltung
betreiben willst und weist nicht auf die angedachte Problemlösung hin?
Bei großen Problemen muss man nämlich über die Laufzeit nachdenken.
Wenn in A1 der Satz steht, schreibst Du in C1 das Analyseergebnis
herein.
In D1 steht das Ergebnis der Suche nach dem ersten Wort.
In E1 steht das Ergebnis der Suche nach dem zweiten Wort.
In F1 steht das Ergebnis der Suche nach dem dritten Wort.
Einziges Problem: Den doofen Rückgabewert von FINDEN() mit einer
Wenn-Dann-Bedingung numerisch verwertbar machen.
Mit Hilfe einer trivialen Formel, die intellektuell weit unter Deiner
Formel liegt (selbst geschrieben oder gebärbockt?) kannst Du dann die
Einzelsuchen aggregieren.
Wenn die Anzahl der Suchworte ansteigt, musst Du lediglich die Formeln
spaltenweise nach rechts erweitern. Aufwand: 5 Sekunden.
Problembegrenzung: 1024-3=1021 Suchworte.
Wenn Du gleichzeitig 1024576 Sätze hast, solltest Du über ein
effizienteres Verfahren nachdenken.
Dann würde ich Dir ein Makro empfehlen, das in der Lage ist, eine
Wortsuche in log(m)-Schritten zu bearbeiten.
Linear die Wortliste zu durchlaufen reicht da nicht mehr aus.
Hallo Alexander/Pucki/Schlaumaier,
Schlaumaier schrieb:> Ich kann mir das Problem zwar nicht genau ohne Beispiel vorstellen.> Vielleicht hilft dir das weiter.
vielen Dank für diesen wertvollen Beitrag, der das Problem nicht löst
und auch den Wissensstand des Fragenden ignoriert.
Hallo Schlaumaier,
Schlaumaier schrieb:> Schön das ich keine Ahnung habe, aber eine Suche von 5 Min. bei google> hat anderen Leuten die Lösung gebracht.
Die Kallas soll gesagt haben, Rocksänger seien keine Sänger mehr, wenn
der Strom ausfällt.
Ich sage, Schlaumaier sind keine Schlaumeier mehr, wenn das Internet
ausfällt. Dann sind's nur noch ***************
>> Irgendwie klingt das Problem doch ziemlich gleich oder ;)>> https://www.herber.de/forum/archiv/896to900/896738_Mehrere_Strings_suchen_mit_SUCHEN_und_Array_Formel.html
Schon einmal mit meiner Lösung verglichen?
> Was die Markierung angeht. Wie wäre es mit Bedingter Formatierung> aufgrund des Ergebnis,
Schon wieder den Faden nicht gelesen?
> und die Spalte einfach ausblenden. ;)
Hast Du das auch im Internet gefunden oder hast Du das im VHS-Kurs
gelernt?
Peter M. schrieb:> Hast Du das auch im Internet gefunden oder hast Du das im VHS-Kurs> gelernt?
Ich habe vieles an Wissen im Internet gefunden. Ich sehe da keine
Schande drin.
Was aber diese Sache angeht, die wusste ich schon vorher.
Ich bin nur zu faul, hier stundenlang anleitungen zu tippen, die eh
keiner liest, oder wo irgend so ein Typ schreibt.
Peter M. schrieb:> Mundgerechte fertige Lösungen gibt es von mir angesichts der> verbreiteten Undankbarkeit nicht mehr - nur noch Hilfe zur Selbsthilfe.
und sich dann daran aufregt, das ich den TO wenigstens sage wo er Hilfe
für die Funktionen findet, und welche ich einsetzen würde.
Aber schön das du so hilfsbereit bist. Obwohl deine Lösung so aufwendig
ist, das ich nicht einmal darüber nachgedacht habe sie nach zu
vollziehen.