Wie suche ich einen Text in einer anderen Spalte?Hallo,
Ich finde keine Lösung für folgendes Problem.
Ich habe 2 Spalten, die beide Text enthalten. Ich möchte eine neue Spalte erstellen, um mir mitzuteilen, ob der Text in Spalte 2 in Spalte 1 zu finden ist.
Wie kann ich das machen ? Ich habe in Excel angefangen, scheint aber zu komplex zu sein.
Beispiel :
Col1 ist die gesamte Liste
Col2 sind der Text, den ich in col1 finden möchte.
Col3 sagt mir, ob der Text in col2 in derselben Zeile in der Liste in col1 zu finden ist
| Spalte1 | col2 | col3 |
| GCF055.TOP | FCN4222 | nicht gefunden |
| SCF015.UNTEN | FCNV4222 | gefunden |
| SCFCNV422.TOP | FCNV4222FF | nicht gefunden |
| SCF866.TOP | GCF009 | gefunden |
| SGCCF009.DOWN | | |
| SCF866.UP | | |
| SCF015.UP | | |
Vielen Dank für Ihre Hilfe.
Hoffe, dass meine Frage klar genug ist.
DatentabelleRe: Wie suche ich einen Text in einer anderen Spalte?Danke für deine schnelle Antwort.
Re: Wie suche ich einen Text in einer anderen Spalte?Vielen Dank für Ihre schnelle Antwort.
Anmerkung: Sie haben recht. Mein Beispiel war nicht ganz korrekt.
Re: Wie suche ich einen Text in einer anderen Spalte?Es gibt viele Möglichkeiten, dies zu tun, die Lösung hängt davon ab, ob eine hohe Leistung erforderlich ist oder nicht. Unten sehen Sie ein Beispiel, bei dem ein assoziatives Array verwendet wird, um eindeutige Werte zu erhalten, Elemente zu verketten, um eine Zeichenfolge zum Vergleichen zu erstellen, und dann Contains, um nach Übereinstimmungen zu suchen.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
New Column("col1",
Character,
"Nominal",
Set Values({"GCF055.TOP", "SCF015.DOWN", "SCFCNV422.TOP", "SCF866.TOP", "SCGCF009.DOWN", "SCF866.UP", "SCF015.UP"})
),
New Column("col2", Character(16), "Nominal", Set Values({"FCN4222", "FCNV4222", "FCNV4222FF", "GCF009", "", "", ""})),
New Column("col3", Character(16), "Nominal", Set Values({"not found", "found", "not found", "found", "", "", ""}))
);
dt << New Column("Found", Character, Nominal, << Formula(
If(Row() == 1,
col_vals = Associative Array(:col1 << get values) << get keys; // to eliminate dublicates
search_str = Concat Items(col_vals, " "); // should use some character not found as separator
);
If(!IsMissing(:col2),
If(Contains(search_str, :col2),
"found",
"not found"
);
,
""
);
));Re: Wie suche ich einen Text in einer anderen Spalte?Hier ist eine Möglichkeit, dies mit einer Spaltenformel anzugehen.Erstellen Sie eine Zeichenspalte und fügen Sie diese dann in die Formel für die Spalte ein.

x = "not found";
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( Contains( :col1[i], :col2[Row()] ),
x = "found";
Break();
)
);
x;
Bitte beachten Sie, dass der Eintrag Ihrer Beispieldatentabelle für Zeile 2 falsch ist.FCNV4222 wird in keiner der Zeilen für co1 gefunden. Der Wert in Zeile 3 enthält FCNV422, aber nicht FCNV4222