Cuente las celdas únicas que coinciden con los resultados en el conjunto

Cuente las celdas únicas que coinciden con los resultados en el conjunto

Tengo una sola columna de datos codificados en Excel como este:

a
b
ab
bc
ad
b
ac

Sé que puedo encontrar las instancias de todas las celdas que contienen "a" con =COUNTIF(A1:A7,"*a*"). Eso me daría 4. También puedo contar "b", =COUNTIF(A1:A7,"*b*")lo que da como resultado 4.

Sin embargo, lo que necesito es contar las celdas que contienen "a" O "b" perono cuenta dos vecescélulas que contienen ambos. =COUNTIF(A1:A7,"*a*")+COUNTIF(A1:A7,"*b*")= 8, pero quiero una condición OR que cuente 7 sin contar dos veces "ab".

Si esto fuera una expresión regular, podría hacer algo como =COUNTIF(A1:A7,"[ab]")pero no puedo...


ACTUALIZACIÓN: Como se indica enun comentario, este es un ejemplo simplificado. Tengo AM en el conjunto de datos y es posible que necesite contar combinaciones de dos, tres o incluso siete valores diferentes, por lo que necesito una solución que pueda escalarse.

Respuesta1

Esta solución debería funcionar como una implementación escalable que pueda ampliarse fácilmente para otras cadenas.

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))>0))

Ejemplo de agregar otra cadena:

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))+ISNUMBER(FIND("c",A1:A7))>0))

Esto funciona ejecutando la FINDfunción en cada celda del rango y utilizándola ISNUMBERpara determinar si se encontró una coincidencia. Los resultados se suman para cada celda y luego, al final, se especifica que se debe contar >0cualquier celda que coincida con al menos una de las s. FINDLo SUMPRODUCTsuma todo para producir una respuesta final.

Para una coincidencia que no distinga entre mayúsculas y minúsculas, puede reemplazar la FINDfunción con SEARCH.

información relacionada