¿Cómo buscar un texto dentro de otra columna?Hola,
No puedo encontrar una solución para el siguiente problema.
Tengo 2 columnas, ambas contienen texto. Me gustaría crear una nueva columna para que me diga si el texto de la columna 2 se puede encontrar en la columna 1.
Cómo puedo hacer esto ? Empecé en Excel pero parece demasiado complejo.
Ejemplo :
Col1 es la lista completa
Col2 son el texto que quiero encontrar en col1.
Col3 me dirá si el texto en col2 en la misma fila se puede encontrar en la lista en col1
| col1 | col2 | col3 |
| GCF055.ARRIBA | FCN4222 | extraviado |
| SCF015.ABAJO | FCNV4222 | encontró |
| SCFCNV422.ARRIBA | FCNV4222FF | extraviado |
| SCF866.ARRIBA | GCF009 | encontró |
| SCGCF009.ABAJO | | |
| SCF866.ARRIBA | | |
| SCF015.UP | | |
Gracias por tu ayuda.
Espero ser lo suficientemente claro en mi pregunta.
Tabla de datosRe: ¿Cómo buscar un texto dentro de otra columna?Gracias por su respuesta rápida.
Re: ¿Cómo buscar un texto dentro de otra columna?Muchas gracias por su respuesta rápida.
Nota: tienes razón. Mi ejemplo no era completamente correcto.
Re: ¿Cómo buscar un texto dentro de otra columna?Hay muchas maneras de hacer esto, la solución diferirá dependiendo de si se requiere un alto rendimiento o no. A continuación, se muestra un ejemplo que usa una matriz asociativa para obtener valores únicos, concatenar elementos para hacer una cadena para comparar y luego Contiene para buscar coincidencias.
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: ¿Cómo buscar un texto dentro de otra columna?Aquí hay una forma de abordar esto, usando una fórmula de columna.Cree una columna de caracteres y luego péguela en la fórmula de la columna.

x = "not found";
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( Contains( :col1[i], :col2[Row()] ),
x = "found";
Break();
)
);
x;
Tenga en cuenta que la entrada de la tabla de datos de muestra para la fila 2 es incorrecta.FCNV4222 no se encuentra en ninguna de las filas de co1. El valor de la fila 3 contiene FCNV422 pero no contiene FCNV4222