Comment rechercher un texte dans une autre colonne ?Salut,
Je ne trouve pas de solution au problème suivant.
J'ai 2 colonnes, toutes deux contenant du texte. Je voudrais créer une nouvelle colonne pour me dire si le texte de la colonne 2 se trouve dans la colonne 1.
Comment puis-je faire ceci ? J'ai commencé dans Excel mais semble trop complexe.
Exemple :
Col1 est la liste complète
Col2 sont le texte que je veux trouver dans col1.
Col3 me dira si le texte dans le col2 sur la même ligne peut être trouvé dans la liste dans col1
| col1 | col2 | col3 |
| GCF055.TOP | FCN4222 | pas trouvé |
| SCF015.DOWN | FCNV4222 | trouvé |
| SCFCNV422.TOP | FCNV4222FF | pas trouvé |
| SCF866.TOP | GCF009 | trouvé |
| SCGCF009.DOWN | | |
| SCF866.UP | | |
| SCF015.UP | | |
Merci pour votre aide.
J'espère avoir été assez clair dans ma question.
Tableau de donnéesRe : Comment rechercher un texte dans une autre colonne ?Merci pour votre réponse rapide.
Re : Comment rechercher un texte dans une autre colonne ?Merci beaucoup pour votre réponse rapide.
Remarque : vous avez raison. Mon exemple n'était pas tout à fait correct.
Re : Comment rechercher un texte dans une autre colonne ?Il existe de nombreuses façons de procéder, la solution sera différente selon que des performances élevées sont requises ou non. Vous trouverez ci-dessous un exemple utilisant un tableau associatif pour obtenir des valeurs uniques, des éléments concat pour créer une chaîne à comparer, puis Contient pour rechercher des correspondances.
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 : Comment rechercher un texte dans une autre colonne ?Voici une façon d'aborder cela, en utilisant une formule de colonne.Créez une colonne de caractères, puis collez-la dans la formule de la colonne.

x = "not found";
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( Contains( :col1[i], :col2[Row()] ),
x = "found";
Break();
)
);
x;
Veuillez noter que l'entrée de votre exemple de tableau de données pour la ligne 2 est incorrecte.FCNV4222 n'est trouvé dans aucune des lignes pour co1. La valeur de la ligne 3 contient FCNV422 mais ne contient pas FCNV4222