Excel formula: Cell contains one of many with exclusions

Fórmula genérica

=(SUMAPRODUCTO(--ESNUMERO(HALLAR(include,A1)))>0)
*(SUMAPRODUCTO(--ESNUMERO(HALLAR(exclude,A1)))=0)

Explicación

Para probar una celda para una de muchas cadenas, mientras excluye otras, puede usar una fórmula basada en las funciones HALLAR, ESNUMERO y SUMAPRODUCTO. En el ejemplo que se muestra, la fórmula en C5 es:
=(SUMAPRODUCTO(--ESNUMERO(HALLAR(include,B5)))>0)
*(SUMAPRODUCTO(--ESNUMERO(HALLAR(exclude,B5)))=0)
donde "incluir" es el rango nombrado E5: E9, y "excluir" es el rango nombrado G5: G6.

Cómo funciona esta fórmula

En el fondo, esta fórmula usa la función HALLAR para buscar múltiples cadenas dentro de una celda. Dentro del SUMAPRODUCTO izquierdo, HALLAR busca todas las cadenas en el rango "incluir".
En el SUMAPRODUCTO correcto, HALLAR busca todas las cadenas en el rango nombrado "excluir".
En ambas partes de la fórmula, HALLAR devuelve posiciones numéricas cuando se encuentran cadenas y errores cuando no. La función ESNUMERO convierte los números a VERDADERO y los errores a FALSO, y el doble negativo convierte los valores de VERDADERO FALSO a 1 y 0.
El resultado en este punto se ve así:
=(SUMAPRODUCTO({1;0;0;0;0})>0)*(SUMAPRODUCTO({0;0})=0)
Entonces:
=(1>0)*(0=0)
=VERDADERO*VERDADERO
=1
Nota: esta fórmula devuelve 1 o cero, que se manejan como VERDADERO y FALSO en fórmulas, formato condicional o validación de datos.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT