Como devolver o valor en Excel se a cela contén texto da lista

  • Comparte Isto
Hugh West

Se tes unha lista de texto e queres buscar celas e devolver valores baseados na lista, terás que crear unha fórmula porque Excel non ofrece un xeito sinxelo de facelo. Neste artigo, abordei este problema e proporcionei cinco fórmulas diferentes para realizar esta operación para que poidas escoller a perfecta para a túa situación e devolver o valor se a cela contén determinado texto dunha lista.

Descargar o libro de prácticas

Podes descargar o libro de traballo que usei neste artigo dende o seguinte botón e practicalo por ti mesmo.

Se a cela contén texto de List.xlsx

Introdución ás funcións utilizadas neste artigo

As fórmulas que usei aquí usan as seguintes funcións:

  • A función COUNTIFS:

Esta función conta as celas que coinciden con varios criterios. A sintaxe da función COUNTIFS é a seguinte.

=COUNTIFS (intervalo1, criterio1, [intervalo2], [criterio2], ...)

  • intervalo1 – O primeiro intervalo a avaliar.
  • criterio1 – O criterio a utilizar no primeiro intervalo.
  • intervalo2 [opcional]: O segundo intervalo, actúa igual que intervalo1.
  • criterio2 [opcional]: O criterio a utilizar no 2º rango. Esta función permite un máximo de 127 rangos e pares de criterios .
  • A función TEXTJOIN:

Esta función une o textovalores cun delimitador. A sintaxe da función TEXTJOIN é a seguinte.

=TEXTJOIN (delimitador, ignore_empty, text1, [text2], ...)

  • delimitador: O separador entre os textos que vai combinar a función.
  • ignore_empty: Este argumento especifica se a función ignora o baleiro. celas ou non.
  • texto1: 1º valor de texto (ou intervalo).
  • texto2 [opcional]: 2º valor de texto (ou intervalo) .
  • A función MATCH:

Esta función obtén a posición dun elemento nunha matriz. A sintaxe da función MATCH é a seguinte.

=MATCH (valor_busca, matriz_busca, [tipo_coincidencia])

  • lookup_value: O valor para coincidir en lookup_array .
  • lookup_array: Un intervalo de celas ou unha referencia de matriz.
  • match_type [opcional]: 1 = exacta ou seguinte máis pequena, 0 = coincidencia exacta, -1 = exacta ou seguinte maior. Por defecto, match_type=1.
  • A función INDEX:

Esta función obtén valores nunha lista ou táboa baseada na localización . A sintaxe da función INDEX é a seguinte.

=INDEX (matriz, row_num, [col_num], [area_num])

  • matriz: Intervalo de celas ou unha constante da matriz.
  • row_num: A posición da fila na referencia.
  • col_num [opcional] : a posición da columna na referencia.
  • area_num [opcional]: O intervaloen referencia que debería usarse.
  • A función IFERROR:

Esta función captura e xestiona erros. A sintaxe da función IFERROR é a seguinte.

=IFERROR (valor, valor_se_error)

  • valor: O valor, a referencia ou a fórmula para comprobar se hai erros.
  • value_if_error: O valor a devolver se se atopa un erro.
  • A función SEARCH:

Esta función obtén a localización do texto nunha cadea. A sintaxe da función de BUSCA é a seguinte.

=BUSCAR (buscar (texto_buscar, dentro_texto, [núm_inicio])

  • find_text : este argumento especifica que texto atopar.
  • within_text: Isto especifica onde atopar o texto.
  • número_inicio [opcional]: Con isto, especificará- desde que posición na cadea de texto contará a posición do texto especificado. Opcional e o valor predeterminado é 1 desde a esquerda.

5 fórmulas para devolver valor en Excel Se unha cela contén certo texto dunha lista

Intentarei presentar un exemplo real neste conxunto de datos. Algunhas bebidas están representadas aquí. Patacas fritas , Bebidas frías e Cereais son as tres categorías de bebidas deste conxunto de datos. Nunha única columna chamada Todos os produtos , o nome e as categorías das bebidas están ligadas entre si. Dúas destas categorías, Chips e FríasBebidas , tamén están na columna Lista . En base á columna Lista , a saída desexada mostrarase na segunda columna.

1. Combina COUNTIF, IF e amp; OU Funcións para devolver o valor se unha cela contén un texto dunha lista

Esta é a fórmula máis útil se queres devolver o valor de toda a cela despois da coincidencia.

Aquí, obtivemos os valores das celas dos Produtos que coincidían cos criterios da columna Lista e mostreinos á columna Produto baseado nesa lista columna.

A fórmula é a seguinte:

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Desglose da fórmula:

  • =IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

Aquí, o Signo de asterisco ( * ) é un carácter comodín. Buscou a subcadea " Chips " e "Cold Drinks" dentro da Cela B5 , que é a cadea " Ruffles - Chips " .

  • =IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")

A función CONTARSE devolveu un por cada coincidencia de subcadea. Como " Chips " se atopa na Cela B5 , devolve { 1:0 }.

  • =IF(OR({1;0}), B5, "")

A función OR devolve un valor VERDADEIRO se algún dos argumentos é VERDADEIRO . Neste caso, un (1)= VERDADEIRO .

  • =IF(TRUE, "Ruffles - Chips", "")

Como IF o valor da función é VERDADEIRO , devolve o primeiro argumento que é a saída desexada.

Final Saída : Ruffles – Chips

Nota:

Aquí mostrei ocela que coincide, pero pode mostrar calquera saída que desexe cambiando a saída das funcións IF coa saída desexada.

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)

Ler máis: Se a cela contén palabra, entón asigne un valor en Excel (4 fórmulas)

2. Use a combinación IF-OR coa función SEARCH para devolver o valor con varias condicións

Aquí, obtivemos os valores das celas dos Produtos que coincidían coa Lista criterios de columna e mostrounos á columna Produto baseado nesa lista .

A fórmula é a seguinte:

=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

Desglose da fórmula:

  • =IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")

A función BUSCAR buscou os valores da columna Lista na Cela B5 . Para " Chips " devolveu 11 que é a posición inicial da subcadea. Para Bebidas frías , devolveu un erro.

  • =IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")

A función ISNUMBER converteuse 11 no valor VERDADEIRO e o erro no valor FALSO .

  • =IF(OR(TRUE,FALSE)),B5,"")

A función OR devolve un valor VERDADEIRO se algún dos argumentos é VERDADEIRO . Como hai un argumento TRUE , tamén devolve o valor TRUE neste caso.

  • =IF(TRUE, "Ruffles - Chips","")

Como o valor da función IF é TRUE , devolve o primeiro argumento que é a saída desexada.

Saída final: Volantes –Chips

Nota:

  • Aquí mostrei a cela que coincidía, pero podes mostrar calquera saída que queiras cambiando o IF funciona coa saída desexada.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • O principal beneficio deste a fórmula é que esta non é unha fórmula matricial, pero non se recomenda se tes moitas celas na Lista xa que tes que introducir manualmente todas as celas da Lista .
  • Para situacións que distinguen entre maiúsculas e minúsculas, podemos usar a seguinte fórmula baseada na función FIND en lugar da función BUSCAR .
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Ler máis: Excel se a cela contén texto, entón devolve o valor (8 xeitos sinxelos)

Lecturas similares:

  • Como sumar se a cela contén texto específico en Excel (6 xeitos)
  • Use VLOOKUP se a cela contén unha palabra dentro do texto en Excel
  • Como atopar texto nun intervalo de Excel & devolver a referencia de cela (3 xeitos)

3. Use a fórmula TEXTJOIN para devolver o valor noutra cela se unha cela ten un texto dunha lista

Esta fórmula é útil cando ten que mostrar que cadea ou cadeas da Lista coinciden .

Aquí, obtivemos os valores das celas da columna LIST onde coincidían co Produto e mostreinos ao Valor coincidente de Lista columna.

A fórmula é a seguinte:

=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"), $E$5:$E$6,""))

FórmulaDesglose:

  • =TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"),$E$5:$E$6,""))

Aquí, o Signo de asterisco ( * ) é un carácter comodín. Buscou a subcadea " Chips " e "Cold Drinks" dentro da cela B5, que é a cadea " Ruffles - Chips ".

  • TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))

A función CONTARSE devolveu un por cada coincidencia de subcadea. Como " Chips " se atopa na Cela B5 , devolve { 1:0 }.

  • TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))

A función IF devolveu só o valor “ Chips ” xa que só o primeiro valor do seu argumento era un = Verdadero .

  • TEXTJOIN(", ",TRUE,{"Chips";""})

A función TEXTJOIN non fixo nada aquí como só un valor do <3 Coincidiu>Lista . Se houbese moitos valores para coincidir, devolveríaos todos con comas (,) entre eles como separador.

Saída final: chips

Ler máis: Se a cela contén texto, engade texto noutra cela en Excel

4. Use unha fórmula INDEX MATCH para devolver o valor se a cela contén texto específico

Esta é unha alternativa á fórmula TEXTJOIN . Esta fórmula tamén mostra que cadea ou cadeas da Lista coincidían.

Aquí, obtivemos os valores das celas da columna LISTA onde coincidiron coa Produto e mostrounos no Valor coincidente da columna Lista .

A fórmula é a seguinte:

=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6&"*"), 0)),"")

Desglose da fórmula:

  • =IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5,"*"&$E$5:$E$6&"*"),0)),"")

Aquí, o signo de asterisco ( * ) é un carácter comodín. Buscou a subcadea " Chips " e " Cold Drinks " dentro da Cela B5 , que é a cadea " Ruffles - Chips ".

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")

A función CONTARSE devolveu un por cada coincidencia de subcadea. Como " Chips " se atopa na Cela B5 , devolve { 1:0 }.

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")

A función MATCH devolveu un xa que só hai un valor " Chips " que coincide.

  • IFERROR(INDEX($E$5:$E$6,1),"")

A función INDEX devolveu “ Chips ” xa que era o valor da matriz Lista .

  • IFERROR("Chips","")

Aquí, a función IFERROR úsase para xestionar o erro que ocorrerá se non hai coincidencias .

Saída final: chips

Nota:

Aquí mostrei a cela que coincidía pero podes mostrar calquera saída que desexe cambiando a saída das funcións IF coa saída desexada.

Ler máis: Fórmula de Excel Se a cela contén texto, entón devolve o valor en Outra cela

5. Aplicar a función EXACT con IF e TEXTJOIN

Esta é outra solución a este problema en diferentes situacións. Aquí, busquei o valor da cela da columna Lista cun só membro. Coincidimos este valor co Produto e mostramos todos os valores de coincidencia nunha única cela.

A fórmula é comosegue:

=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Desglose da fórmula :

  • EXACT(C5:C14,$F$5)

Esta parte comproba que valores do Intervalo C5:14 coinciden coa Cela F5 e devolve VERDADEIRO e FALSO .

  • IF(EXACT(C5:C14,$F$5),B5:B14,"")

Esta parte devolve os nomes para os que obtemos VERDADEIRO .

  • TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))

Finalmente, xúntase todos os nomes cunha coma despois de cada nome.

Notas rápidas

Todas estas fórmulas aquí (excepto a segunda) son fórmulas matriciales. Isto significa que tes que premer Ctrl+Maiús+Intro en lugar de premer só o botón Intro para introducir esta fórmula. Pero se es usuario de Office 365 , podes aplicalos premendo só Intro.

Conclusión

Neste artigo, reduciei diferentes fórmulas para varios casos para devolver valor se unha cela contén texto específico dunha lista. Espero que puideses atopar unha solución ao teu problema. Deixe un comentario se tes algunha suxestión ou pregunta. Ademais, podes visitar o noso blog para obter máis artigos deste tipo.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.