Excel formula: Count cells that contain either x or y

Fórmula genérica

=SUMAPRODUCTO(--((ESNUMERO(ENCONTRAR("abc",rng)) +  ESNUMERO(ENCONTRAR("def",rng)))>0))

Explicación

Para contar celdas que contienen un valor u otro, puede usar una columna auxiliar y luego contar el conteo o una fórmula de celda única más compleja.

Antecedentes

Cuando cuenta celdas con criterios "O", debe tener cuidado de no contar dos veces. Por ejemplo, si está contando celdas que contienen "abc" o "def", no puede simplemente sumar dos funciones CONTAR.SI, porque puede contar dos veces las celdas que contienen "abc" y "def".

Solución unicelular

Para una solución de celda única, puede usar SUMAPRODUCTO con un combo ESNUMERO + ENCONTRAR. La fórmula en la celda F4 es:

=SUMAPRODUCTO(--((ESNUMERO(ENCONTRAR("abc",B4:B10)) +  ESNUMERO(ENCONTRAR("def",B4:B10)))>0))

Esta fórmula se basa en la fórmula aquí que ubica el texto dentro de una celda:

ESNUMERO(ENCONTRAR("abc",B4:B10)

Cuando se le da un rango de celdas, este fragmento devolverá una matriz de valores VERDADERO / FALSO, un valor para cada celda del rango. Como estamos usando esto dos veces (una para "abc" y otra para "def"), obtendremos dos matrices.

A continuación, agregamos estas matrices juntas (con +), lo que crea una nueva matriz única de números. Cada número en esta matriz es el resultado de sumar los valores VERDADERO y FALSO en las dos matrices originales juntas. En el ejemplo que se muestra, la matriz se ve así:

{2; 0; 2; 0; 1; 0; 2}

Necesitamos sumar estos números, pero no queremos contar dos veces. Por lo tanto, debemos asegurarnos de que cualquier valor mayor que cero se cuente solo una vez. Para hacer eso, forzamos todos los valores a VERDADERO o FALSO con "> 0", luego forzamos a 1/0 con el doble negativo (-).

Finalmente, SUMAPRODUCTO suma estos números.

Solución de columna auxiliar

Con una columna auxiliar para verificar cada celda individualmente, el problema es menos complejo. Podemos usar CONTAR.SI con dos valores (proporcionados como una "constante de matriz"). La fórmula en C4 es:

=--(SUMA(CONTAR.SI(B4,{"*abc*","*def*"}))>0)

Check if cell contains either x or y with COUNTIF

CONTAR.SI devolverá una matriz que contiene dos elementos: un recuento para "abc" y un recuento para "def". Para evitar el doble conteo, agregamos los elementos y luego forzamos el resultado a VERDADERO / FALSO con "> 0". Finalmente, convertimos los valores VERDADERO / FALSO a 1 y 0 con un doble negativo (-).

El resultado final es 1 o 0 para cada celda. Para obtener un total de todas las celdas en el rango, simplemente sumará la columna auxiliar.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT