Excel: conta as celas que conteñen texto específico (coincidencia exacta e parcial)

  • Comparte Isto
Michael Brown

O titorial mostra como contar o número de celas con determinado texto en Excel. Atoparás exemplos de fórmulas para a coincidencia exacta, a coincidencia parcial e as celas filtradas.

A semana pasada analizamos como contar celas con texto en Excel, é dicir, todas as celas con calquera texto. Ao analizar grandes anacos de información, tamén pode querer saber cantas celas conteñen texto específico. Este tutorial explica como facelo dun xeito sinxelo.

    Como contar celas con texto específico en Excel

    Microsoft Excel ten unha función especial para contar celas condicionalmente, a función COUNTIF. Todo o que tes que facer é proporcionar a cadea de texto de destino no argumento criterios .

    Aquí tes unha fórmula xenérica de Excel para contar o número de celas que conteñen texto específico:

    COUNTIF(intervalo, " texto")

    O seguinte exemplo móstrao en acción. Supoñamos que tes unha lista de ID de elementos en A2:A10 e queres contar o número de celas cun ID en particular, diga "AA-01". Escriba esta cadea no segundo argumento e obterá esta fórmula sinxela:

    =COUNTIF(A2:A10, "AA-01")

    Para que os usuarios poidan contar celas cun texto determinado sen necesidade de modificar a fórmula, introduza o texto nunha cela predefinida, digamos D1, e proporcione a referencia da cela:

    =COUNTIF(A2:A10, D1)

    Nota. A función COUNTIF de Excel é insensible entre maiúsculas e minúsculas , o que significa que non diferencia entre maiúsculas e minúsculas. Para tratar maiúsculas e minúsculascaracteres de forma diferente, use esta fórmula que distingue entre maiúsculas e minúsculas.

    Como contar celas con determinado texto (coincidencia parcial)

    A fórmula comentada no exemplo anterior coincide exactamente cos criterios. Se hai polo menos un carácter diferente nunha cela, por exemplo un espazo extra ao final, esa non será unha coincidencia exacta e esa cela non se contará.

    Para atopar o número de celas. As celas que conteñan determinado texto como parte do seu contido, usan caracteres comodíns nos seus criterios, é dicir, un asterisco (*) que representa calquera secuencia ou caracteres. Dependendo do teu obxectivo, unha fórmula pode parecer unha das seguintes.

    Conta as celas que conteñan texto específico no inicio :

    COUNTIF(intervalo, " texto *")

    Conta as celas que conteñen determinado texto en calquera posición :

    COUNTIF(intervalo, "* texto *")

    Por exemplo, para atopar cantas celas no rango A2:A10 comezan por "AA", use esta fórmula:

    =COUNTIF(A2:A10, "AA*")

    Para obter o reconto de celas que conteñan "AA" en calquera posición, use esta one:

    =COUNTIF(A2:A10, "*AA*")

    Para que as fórmulas sexan máis dinámicas, substitúa as cadeas codificadas por referencias de cela.

    Para contar as celas que comezan con determinado texto:

    =COUNTIF(A2:A10, D1&"*")

    Para contar celas con determinado texto en calquera lugar:

    =COUNTIF(A2:A10, "*"&D1&"*")

    A seguinte captura de pantalla mostra os resultados:

    Conta as celas que conteñen texto específico (distingue entre maiúsculas e minúsculas)

    Na situación na que necesites diferenciarcaracteres en maiúsculas e minúsculas, a función COUNTIF non funcionará. Dependendo de se está a buscar unha coincidencia exacta ou parcial, terá que crear unha fórmula diferente.

    Fórmula que distingue entre maiúsculas e minúsculas para contar celas con texto específico (coincidencia exacta)

    Para contar o número de celas cun texto determinado que recoñece o caso do texto, usaremos unha combinación das funcións SUMPRODUCT e EXACT:

    SUMPRODUCT(--EXACT(" text ", range ))

    Como funciona esta fórmula:

    • EXACT compara cada cela do intervalo co texto de mostra e devolve unha matriz de valores VERDADEIRO e FALSO, VERDADEIRO que representa coincidencias exactas e FALSO todas as demais celas. Un guión dobre (chamado unario dobre ) obriga a TRUE e FALSE a 1 e 0.
    • SUMPRODUCT suma todos os elementos da matriz. Esa suma é o número de 1, que é o número de coincidencias.

    Por exemplo, para obter o número de celas en A2:A10 que conteñen o texto en D1 e manexan as maiúsculas e as minúsculas como diferentes caracteres, use esta fórmula:

    =SUMPRODUCT(--EXACT(D1, A2:A10))

    Fórmula que distingue entre maiúsculas e minúsculas para contar celas con texto específico (coincidencia parcial)

    Para compilar unha fórmula que distingue entre maiúsculas e minúsculas que pode atopar unha cadea de texto de interese en calquera lugar dunha cela, estamos usando 3 funcións diferentes:

    SUMPRODUCT(--(ISNUMBER(FIND(" text ", intervalo ))))

    Como funciona esta fórmula:

    • A función FIND que distingue entre maiúsculas e minúsculas buscapara o texto de destino en cada cela do intervalo. Se ten éxito, a función devolve a posición do primeiro carácter, se non, o #VALOR! erro. Por motivos de claridade, non necesitamos coñecer a posición exacta, calquera número (en oposición ao erro) significa que a cela contén o texto de destino.
    • A función ISNUMBER xestiona a matriz de números e erros devoltos. mediante FIND e converte os números en VERDADEIRO e calquera outra cousa en FALSO. Un dobre unario (--) forza os valores lóxicos a uns e ceros.
    • SUMPRODUCT suma a matriz de 1 e 0 e devolve o reconto de celas que conteñen o texto especificado como parte do seu contido.

    Para probar a fórmula en datos da vida real, busquemos cantas celas en A2:A10 conteñen a entrada de subcadea en D1:

    =SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))

    E isto devolve un reconto de 3 (celas A2, A3 e A6):

    Como contar as celas filtradas con texto específico

    Para contar elementos visibles nunha lista filtrada, terá que usar unha combinación de 4 ou máis funcións dependendo de se quere unha coincidencia exacta ou parcial. Para que os exemplos sexan máis fáciles de seguir, vexamos primeiro os datos de orixe.

    Supoñendo que tes unha táboa con ID de pedido na columna B e Cantidade na columna C como se mostra na imaxe de abaixo. Polo momento, só te interesan cantidades superiores a 1 e filtraches a túa táboa en consecuencia. Oa pregunta é: como contas as celas filtradas cun ID en particular?

    Fórmula para contar as celas filtradas con texto específico (coincidencia exacta)

    Para contar as celas filtradas nas celas cuxo contido coincida exactamente coa cadea de texto de mostra, use unha das seguintes fórmulas:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))

    Onde F1 é o texto de mostra e B2:B10 son as celas para contar.

    Como funcionan estas fórmulas:

    No núcleo de ambas fórmulas, realizas 2 comprobacións:

    1. Identifica filas visibles e ocultas. Para iso, utiliza a función SUBTOTAL co argumento número_función establecido en 103. Para proporcionar todas as referencias de cela individuais a SUBTOTAL, utilice INDIRECTO (na primeira fórmula) ou unha combinación de OFFSET, ROW e MIN. (na segunda fórmula). Dado que pretendemos localizar filas visibles e ocultas, non importa a que columna facer referencia (A no noso exemplo). O resultado desta operación é unha matriz de 1 e 0 onde os uns representan filas visibles e ceros - filas ocultas.
    2. Busca celas que conteñan texto dado. Para iso, compare o texto de mostra (F1) co intervalo de celas (B2:B10). O resultado desta operación é unha matriz de valores TRUE e FALSE, que son forzados a 1 e 0 coa axuda do dobre operador unario.

    Finalmente, a función SUMPRODUCT multiplica os elementos dos dous. matrices nas mesmas posicións e, a continuación, suma a matriz resultante.Porque multiplicar por cero dá cero, só as celas que teñen 1 en ambas as matrices teñen 1 na matriz final. A suma de 1 é o número de celas filtradas que conteñen o texto especificado.

    Fórmula para contar as celas filtradas con texto específico (coincidencia parcial)

    Para contar as celas filtradas que conteñan determinado texto como parte de o contido da cela, modifique as fórmulas anteriores do seguinte xeito. En lugar de comparar o texto de mostra co intervalo de celas, busque o texto de destino usando ISNUMBER e FIND como se explica nun dos exemplos anteriores:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))

    Como resultado, as fórmulas localizarán unha cadea de texto determinada en calquera posición dunha cela:

    Nota. A función SUBTOTAL con 103 no argumento número_función identifica todas as celas ocultas, filtradas e ocultas manualmente. Como resultado, as fórmulas anteriores contan só as celas visibles independentemente de como se ocultasen as celas invisibles. Para excluír só as celas filtradas pero incluír as ocultas manualmente, use 3 para function_num .

    Así é como contar o número de celas con determinado texto en Excel. Grazas por ler e espero verte no noso blog a próxima semana!

    Descargas dispoñibles

    Fórmulas de Excel para contar celas con determinado texto

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.