Excel: se a cela contén exemplos de fórmulas

  • Comparte Isto
Michael Brown

O tutorial ofrece unha serie de exemplos de fórmulas "Excel se contén" que mostran como devolver algo noutra columna se unha cela de destino contén un valor necesario, como buscar con coincidencia parcial e probar varios criterios con OU como así como a lóxica AND.

Unha das tarefas máis comúns en Excel é comprobar se unha cela contén un valor de interese. Que tipo de valor pode ser ese? Só calquera texto ou número, texto específico ou calquera valor (non a cela baleira).

Existen varias variacións da fórmula "Se a cela contén" en Excel, dependendo dos valores que quere atopar. Xeralmente, empregará a función SE para facer unha proba lóxica e devolverá un valor cando se cumpra a condición (a cela contén) e/ou outro valor cando non se cumpra (a cela non contén). Os seguintes exemplos cobren os escenarios máis frecuentes.

    Se a cela contén algún valor, entón

    Para comezar, vexamos como atopar celas que conteñan calquera cousa: calquera texto, número ou data. Para iso, imos usar unha fórmula IF sinxela que verifica as celas que non estean en branco.

    IF( cell"", value_to_return, "")

    For exemplo, para devolver "Non en branco" na columna B se a cela da columna A da mesma fila contén algún valor, introduza a seguinte fórmula en B2 e, a continuación, prema dúas veces no pequeno cadrado verde da esquina inferior dereita para copiar a fórmula cara abaixo. ocolumna:

    =IF(A2"", "Not blank", "")

    O resultado será semellante a este:

    Se a cela contén texto, entón

    Se queres atopar só celas con valores de texto ignorando números e datas, utiliza SE en combinación coa función ISTEXT. Aquí está a fórmula xenérica para devolver algún valor noutra cela se unha cela de destino contén calquera texto :

    IF(ISTEXT( celda), valor_para_devolver, " ")

    Supoño que quere inserir a palabra "si" na columna B se unha cela da columna A contén texto. Para facelo, pon a seguinte fórmula en B2:

    =IF(ISTEXT(A2), "Yes", "")

    Se a cela contén un número, entón

    De forma similar , pode identificar celas con valores numéricos (números e datas). Para iso, use a función SE xunto con ISNUMBER:

    IF(ISNUMBER( cell), value_to_return, "")

    A seguinte fórmula devolve "si" na columna B se unha cela correspondente da columna A contén algún número:

    =IF(ISNUMBER(A2), "Yes", "")

    Se a cela contén texto específico

    Buscando celas que conteñan determinado texto (ou números ou datas) é fácil. Escribe unha fórmula IF normal que verifica se unha cela de destino contén o texto desexado e escribe o texto para devolver no argumento value_if_true .

    IF( celda=" texto", value_to_return, "")

    Por exemplo, para saber se a cela A2 contén "mazás", use esta fórmula:

    =IF(A2="apples", "Yes", "")

    Se a cela non contén específicotext

    Se está a buscar o resultado contrario, é dicir, devolve algún valor a outra columna se unha cela de destino non contén o texto especificado ("mazás"), realice unha das seguintes accións.

    Fornece unha cadea baleira ("") no argumento value_if_true e texto para devolver no argumento value_if_false :

    =IF(A2="apples", "", "Not apples")

    Ou , coloque o operador "non igual a" en proba_lóxica e o texto para devolver en value_if_true:

    =IF(A2"apples", "Not apples", "")

    De calquera xeito, a fórmula producirá este resultado:

    Se a cela contén texto: fórmula que distingue entre maiúsculas e minúsculas

    Para forzar a súa fórmula a distinguir entre maiúsculas e minúsculas, use a función EXACTA que comproba se dúas cadeas de texto son exactamente iguais, incluíndo a letra maiúscula:

    =IF(EXACT(A2,"APPLES"), "Yes", "")

    Tamén pode introducir a cadea de texto modelo nalgunha cela (por exemplo, C1), corrixa a referencia da cela co signo $ ($C$1) e compare a cela de destino con esa cela:

    =IF(EXACT(A2,$C$1), "Yes", "")

    Se a cela contén unha cadea de texto específica (coincidencia parcial)

    Rematamos con tarefas triviais e pasamos a outras máis desafiantes e interesantes :) Neste exemplo, necesítanse tres funcións diferentes para descubrir se un determinado carácter ou subcadea forma parte da cela contidos:

    IF(ISNUMBER(SEARCH(" texto", celda)), valor_a_devolver,"")

    Traballar desde dentro para fóra , aquí está o que fai a fórmula:

    • OA función BUSCAR busca unha cadea de texto e, se se atopa a cadea, devolve a posición do primeiro carácter, o #VALOR! en caso contrario.
    • A función ISNUMBER comproba se a BUSCA tivo éxito ou non. Se SEARCH devolveu algún número, ISNUMBER devolve TRUE. Se a BUSCA produce un erro, ISNUMBER devolve FALSE.
    • Finalmente, a función SE devolve o valor especificado para as celas que teñen VERDADEIRO na proba lóxica; se non, unha cadea baleira ("").

    E agora, vexamos como funciona esta fórmula xenérica en follas de traballo da vida real.

    Se a cela contén determinado texto, pon un valor noutra cela

    Supoño que tes unha lista de pedidos na columna A e quere buscar pedidos cun identificador específico, diga "A-". A tarefa pódese realizar con esta fórmula:

    =IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")

    En lugar de codificar a cadea na fórmula, pode introducila nunha cela separada (E1), a referencia a esa cela na súa fórmula :

    =IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")

    Para que a fórmula funcione correctamente, asegúrate de bloquear o enderezo da cela que contén a cadea co signo $ (referencia de cela absoluta).

    Se a cela contén texto específico, cópiao noutra columna

    Se desexa copiar o contido das celas válidas noutro lugar, simplemente proporcione o enderezo da cela avaliada (A2) no argumento value_if_true :

    =IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")

    A seguinte captura de pantalla mostra os resultados:

    Sea cela contén texto específico: fórmula que distingue entre maiúsculas e minúsculas

    En ambos os exemplos anteriores, as fórmulas non distinguen entre maiúsculas e minúsculas. Nas situacións nas que traballa con datos que distinguen maiúsculas e minúsculas, use a función BUSCAR en lugar de BUSCAR para distinguir entre maiúsculas e minúsculas.

    Por exemplo, a seguinte fórmula identificará só as ordes coa "A-" en maiúscula ignorando as minúsculas " a-".

    =IF(ISNUMBER(FIND("A-",A2)),"Valid","")

    Se a cela contén unha das moitas cadeas de texto (lóxica OU)

    Para identificar celas que conteñan polo menos unha das moitas cousas que estás a buscar, utiliza unha das seguintes fórmulas.

    IF OR ISNUMBER Fórmula de BUSCA

    O enfoque máis obvio sería comprobar cada subcadea individualmente e ter a función OR devolve VERDADEIRO na proba lóxica da fórmula IF se se atopa polo menos unha subcadea:

    IF(OR(ISNUMBER(SEARCH(" cadea1", celda)), ISNUMBER (BUSCAR(" cadea2", celda))), valor_a_devolver, "")

    Supoño que ten unha lista de SKU na columna A e que quere atopar aqueles que inclúan "vestido" ou "saia". Podes facelo usando esta fórmula:

    =IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")

    A fórmula funciona bastante ben para un par de elementos, pero certamente non é o xeito de vai se queres comprobar moitas cousas. Neste caso, un mellor enfoque sería utilizar a función SUMAPRODUTO como se mostra no seguinte exemplo.

    Fórmula de BUSCA DE NÚMERO DE SUMAPRODUTOS

    Se estástratar con varias cadeas de texto, buscar cada cadea individualmente faría que a túa fórmula sexa demasiado longa e difícil de ler. Unha solución máis elegante sería incorporar a combinación ISNUMBER SEARCH na función SUMPRODUCT e ver se o resultado é maior que cero:

    SUMPRODUCT(--ISNUMBER(SEARCH( cadeas, cell)))>0

    Por exemplo, para saber se A2 contén algunha das palabras introducidas nas celas D2:D4, use esta fórmula:

    =SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0

    Como alternativa, pode crear un intervalo con nome que conteña as cadeas para buscar ou proporcionar as palabras directamente na fórmula:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0

    De calquera xeito, o resultado será semellante a este:

    Para facer a saída máis fácil de usar, pode aniñar a fórmula anterior na función SE e devolver o seu propio texto en lugar dos valores VERDADEIRO/FALSO:

    =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")

    Como funciona esta fórmula

    No núcleo, usa ISNUMBER xunto con SEARCH como se explica no exemplo anterior. Neste caso, os resultados da busca represéntanse en forma de matriz como {TRUE;FALSE;FALSE}. Se unha cela contén polo menos unha das subcadeas especificadas, haberá TRUE na matriz. O dobre operador unario (--) forza os valores VERDADEIRO/FALSO a 1 e 0, respectivamente, e ofrece unha matriz como {1;0;0}. Finalmente, a función SUMAPRODUTO suma os números e seleccionamos celas onde o resultado é maior que cero.

    Sea cela contén varias cadeas (lóxica AND)

    En situacións nas que quere atopar celas que conteñan todas as cadeas de texto especificadas, use a xa familiar combinación ISNUMBER SEARCH xunto con IF AND:

    IF(AND(ISNUMBER (BUSCAR(" cadea1", celda)), ISNUMBER(BUSCAR(" cadea2", celda))), value_to_return,"")

    Por exemplo, podes atopar SKU que conteñan "vestido" e "azul" con esta fórmula:

    =IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")

    Ou pode escribir as cadeas en celas separadas e fai referencia a esas celas na túa fórmula:

    =IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")

    Como solución alternativa, podes contar as ocorrencias de cada cadea e comprobar se cada reconto é maior que cero:

    =IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")

    O resultado será exactamente o que se mostra na captura de pantalla anterior.

    Como devolver resultados diferentes en función do valor da cela

    No caso de que queira comparar cada cela da columna de destino con outra lista de elementos e devolver un valor diferente para cada coincidencia, use un dos seguintes enfoques.

    Anidados. IFs

    A lóxica da fórmula IF aniñada é tan sinxela como esta: usa unha función IF separada para probar cada condición e devolver valores diferentes dependendo dos resultados desas probas.

    IF(<1)>celda=" buscar_texto1", " retornar_ texto1", IF( celda=" buscar_texto2", " devolver_ texto2", IF( celda=" buscar_texto3", " devolver_ texto3", "")))

    Supoño que tes unha lista de elementos na columna A e queres ter as súas abreviaturas na columna B. Para facelo, utiliza a seguinte fórmula:

    =IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))

    Para obter máis información sobre a sintaxe e a lóxica do IF aniñado, consulte IF aniñado de Excel: varias condicións nunha única fórmula.

    Fórmula de busca

    Se está a buscar unha fórmula máis fórmula compacta e mellor comprensible, use a función BUSCAR con valores de busca e devolución proporcionados como constantes de matriz vertical:

    BUSCAR( celda, {" texto_busca1";" texto_busca2";" buscar_texto3";…}, {" retorno_ texto1";" retorno_ texto2";" return_ text3";…})

    Para obter resultados precisos, asegúrese de enumerar os valores de busca en orde alfabética , da A á Z.

    =LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})

    En comparación cos IF anidados, a fórmula de busca ten unha vantaxe máis: comprende os caracteres comodíns e, polo tanto, pode identificar coincidencias parciais.

    Por exemplo, se a columna A contén algúns tipos de bananas, pode buscar "*banana*" e devolver a mesma abreviatura ("B") para todas as celas:

    =LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})

    Para obter máis información, consulte Fórmula de busca como alternativa aos IF anidados.

    Fórmula de busca de V

    Ao traballar cun conxunto de datos variables, pode ser máis conveniente introducir unha lista de coincidencias en separado. celas e recuperalas usando unha fórmula Vlookup,p.ex.:

    =VLOOKUP(A2, $D$2:$E$5, 2,FALSE )

    Para obter máis información, consulte o tutorial de BUSCAR V de Excel para principiantes.

    Así pode comprobar se unha cela contén calquera valor ou texto específico en Excel. A próxima semana, seguiremos mirando a cela Se de Excel contén fórmulas e aprenderemos a contar ou sumar celas relevantes, copiar ou eliminar filas enteiras que conteñan esas celas e moito máis. Permanece atento!

    Caderno de prácticas

    Excel se a cela contén: exemplos de fórmulas (ficheiro .xlsx)

    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.