Excel formula: Highlight cells that contain one of many

Fórmula genérica

=SUMAPRODUCTO(--ESNUMERO(HALLAR(things,A1)))>0

Explicación

Para resaltar celdas que contienen una de las muchas cadenas de texto, puede usar una fórmula basada en las funciones ESNUMERO y HALLAR, junto con la función SUMAPRODUCTO. En el ejemplo que se muestra, el formato condicional aplicado a B4: B11 se basa en esta fórmula:
=SUMAPRODUCTO(--ESNUMERO(HALLAR(things,B4)))>0

Cómo funciona esta fórmula

Trabajando de adentro hacia afuera, esta parte de la fórmula busca en cada celda de B4: B11 todos los valores en el rango nombrado "cosas":
--ESNUMERO(HALLAR(things,B4)
La función HALLAR devuelve la posición del valor si se encuentra, y el error #VALOR si no se encuentra. Para B4, los resultados regresan en una matriz como esta:
{8;#VALUE!;#VALUE!}
La función ESNUMERO cambia todos los resultados a VERDADERO o FALSO:
{VERDADERO;FALSO;FALSO}
El doble negativo frente a ESNUMERO obliga a VERDADERO / FALSO a 1/0:
{1;0;0}
La función SUMAPRODUCTO suma los resultados, que se prueban contra cero:
=SUMAPRODUCTO({1;0;0})>0
Cualquier resultado distinto de cero significa que se encontró al menos un valor, por lo que la fórmula devuelve VERDADERO, activando la regla.

Ignora las cosas vacías

Para ignorar las celdas vacías en el rango de "cosas" con nombre, puede probar una fórmula modificada como esta:
=SUMAPRODUCTO(--ESNUMERO(HALLAR(SI(things<>"",things),B4)))>0
Esto funciona siempre que los valores de texto que está probando no contengan la cadena "FALSO". Si lo hacen, puede ampliar la función SI para incluir un valor si se sabe que falso no se produce en el texto (es decir, "zzzz", "####", etc.)

Opción de mayúsculas y minúsculas

HALLAR no distingue entre mayúsculas y minúsculas. Para verificar también las mayúsculas y minúsculas, reemplace HALLAR con ENCONTRAR así:
=SUMAPRODUCTO(--ESNUMERO(ENCONTRAR(things,A1)))>0

Prevenir falsas coincidencias

Un problema con este enfoque es que puede ver coincidencias falsas causadas por subcadenas que aparecen dentro de palabras más largas. Por ejemplo, si intenta hacer coincidir "dr", también puede encontrar "Andrea", "drink", "dry", etc., ya que "dr" aparece dentro de estas palabras. Esto sucede porque HALLAR realiza automáticamente una coincidencia "contiene".
Para una solución parcial, puede agregar espacio alrededor de las palabras de búsqueda (es decir, "dr" o "dr") para evitar atrapar "dr" en otra palabra. Pero esto fallará si "dr" aparece primero o último en una celda, o aparece junto a la puntuación. Esto se puede abordar parcialmente agregando espacio también alrededor del texto original. Para agregar espacio al inicio y al final de ambos al mismo tiempo, puede probar una fórmula como esta:
=SUMAPRODUCTO(--ESNUMERO(ENCONTRAR(" "&things&" "," "&B4&" ")))>0
Sin embargo, esto no solucionará los problemas causados ​​por la puntuación.
Si necesita una solución más completa, una opción es normalizar el texto primero en una columna auxiliar, teniendo cuidado de agregar también un espacio inicial y final. Luego puede buscar palabras completas rodeadas de espacios.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT