Cómo Devolver el Valor en Excel Si la Celda Contiene Texto de la Lista

  • Compartir Este
Hugh West

Si tiene una lista de texto y desea buscar celdas y devolver valores en función de la lista, tendrá que crear una fórmula porque Excel no proporciona una forma sencilla de hacerlo. En este artículo, he abordado esta cuestión y he proporcionado cinco fórmulas diferentes para realizar esta operación, de forma que pueda elegir la perfecta para su situación y devolver el valor si la celda contiene un texto determinadode una lista.

Descargar el cuaderno de prácticas

Puedes descargarte el cuaderno de ejercicios que he utilizado en este artículo desde el siguiente botón y practicar con él por tu cuenta.

Si la celda contiene texto de List.xlsx

Introducción a las funciones utilizadas en este artículo

Las fórmulas que he utilizado aquí utilizan las siguientes funciones:

  • La función COUNTIFS:

Esta función cuenta las celdas que coinciden con varios criterios. La sintaxis de la función Función COUNTIFS es la siguiente.

=COUNTIFS (rango1, criterios1, [rango2], [criterios2], ...)

  • gama1 - La 1ª gama a evaluar.
  • criterios1 - El criterio a utilizar en la 1ª gama.
  • rango2 [opcional]: El 2º rango, actúa igual que el rango1.
  • criterios2 [opcional]: El criterio a utilizar en el 2º rango. Esta función permite un máximo de 127 rangos y pares de criterios .
  • La función TEXTJOIN:

Esta función une valores de texto con un delimitador. La sintaxis de la función Función TEXTJOIN es la siguiente.

=TEXTJOIN (delimitador, ignore_empty, texto1, [texto2], ...)

  • delimitador: El separador entre los textos que la función va a combinar.
  • ignorar_vacío: Este argumento especifica si la función ignora o no las celdas vacías.
  • texto1: 1er valor de texto (o rango).
  • texto2 [opcional]: 2º valor de texto (o rango).
  • La función MATCH:

Esta función obtiene la posición de un elemento en un array. La sintaxis de la función Función MATCH es la siguiente.

=MATCH (valor_buscado, matriz_buscada, [tipo_partido])

  • buscar_valor: El valor que debe coincidir en matriz_de_busqueda .
  • lookup_array: Un rango de celdas o una referencia de matriz.
  • match_type [opcional]: 1 = exacta o la siguiente más pequeña, 0 = coincidencia exacta, -1 = exacta o la siguiente más grande. Por defecto, match_type=1.
  • La función ÍNDICE:

Esta función obtiene valores de una lista o tabla en función de su ubicación. La sintaxis de la función Función INDEX es la siguiente.

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

  • matriz: Rango de celdas, o una constante de array.
  • row_num: La posición de la fila en la referencia.
  • col_num [opcional] Posición de la columna en la referencia.
  • area_num [opcional]: El rango en referencia que debe utilizarse.
  • La función IFERROR:

Esta función atrapa y gestiona los errores. La sintaxis de la función Función IFERROR es la siguiente.

=IFERROR (valor, valor_if_error)

  • valor: El valor, la referencia o la fórmula para comprobar si hay un error.
  • value_if_error: El valor a devolver si se encuentra un error.
  • La función BUSCAR:

Esta función obtiene la posición de un texto en una cadena. La sintaxis de la función Función BUSCAR es la siguiente.

=SEARCH (buscar_texto, dentro_del_texto, [inicio_num])

  • buscar_texto : Este argumento especifica qué texto buscar.
  • dentro_del_texto: Especifica dónde encontrar el texto.
  • start_num [opcional]: Con esto, especificará desde qué posición de la cadena de texto contará la posición del texto especificado. Opcional y por defecto 1 desde la izquierda.

5 Fórmulas para Devolver el Valor en Excel Si una Celda Contiene Cierto Texto de una Lista

Aquí se representan algunas bebidas. Fichas , Bebidas frías y Cereales son las tres categorías de bebidas de este conjunto de datos. En una única columna denominada Todos los productos dos de estas categorías, Fichas y Bebidas frías son también n el Lista Basado en la columna Lista la salida deseada aparecerá en la segunda columna.

1. Combine las Funciones COUNTIF, IF & OR para Devolver el Valor Si una Celda Contiene un Texto de una Lista

Esta es la fórmula más útil si desea devolver el valor de toda la celda después de la coincidencia.

Aquí, he recuperado los valores de las celdas de la tabla Productos que coincidía con el Lista criterios de la columna y se los mostró al Producto basado en esa lista columna.

La fórmula es la siguiente:

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

Desglose de fórmulas:

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

Aquí, el Asterisco ( * ) es un carácter comodín. Buscaba " Fichas " y "Cold Drinks" substring within Célula B5 que es " Ruffles - Patatas fritas " cadena.

  • =IF(OR(COUNTIF("Ruffles - Patatas fritas",*Patatas fritas*, *Bebidas frías*)), B5, "")

En CONSEJO devuelve uno por cada subcadena coincidente. Como " Fichas " se encuentra en Célula B5 devuelve { 1:0 }.

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

En O devuelve un TRUE si alguno de los argumentos es TRUE En este caso, uno (1)=. TRUE .

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

Como el SI es TRUE devuelve el primer argumento, que es la salida deseada.

Final Salida : Ruffles - Patatas fritas

Nota:

Aquí, he mostrado la celda que coincidió, pero usted puede mostrar cualquier salida que desee cambiando la opción SI funciones de salida con su salida deseada.

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

Más información: Si Celda Contiene Palabra Entonces Asignar Valor en Excel (4 Fórmulas)

2. Utilice la combinación IF-OR con la función SEARCH para devolver un valor con varias condiciones

Aquí, he recuperado los valores de las celdas de la tabla Productos que coincidía con el Lista criterios de la columna y se los mostró al Producto basado en esa lista columna.

La fórmula es la siguiente:

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

Desglose de fórmulas:

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

En BUSCAR buscó los valores del Lista columna en Célula B5 . para " Fichas " devolvió 11 que es la posición inicial de la subcadena. Para Bebidas frías devuelve un error.

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

En NÚMERO función convertida 11 en TRUE y el error en FALSO valor.

  • =IF(O(VERDADERO,FALSO)),B5,"")

En O devuelve un TRUE si alguno de los argumentos es TRUE Como hay un TRUE también devuelve el argumento TRUE en este caso.

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

Como el SI es TRUE devuelve el primer argumento, que es la salida deseada.

Resultado final: Ruffles - Chips

Nota:

  • Aquí, he mostrado la celda que coincidió, pero puede mostrar cualquier salida que desee cambiando la opción SI funciones de salida con su salida deseada.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • La principal ventaja de esta fórmula es que no se trata de una fórmula de matriz, pero no es recomendable si tiene muchas celdas en el archivo Lista ya que hay que introducir cada celda del Lista manualmente.
  • Para las situaciones en las que se distingue entre mayúsculas y minúsculas, podemos utilizar la siguiente fórmula basada en el Función FIND en lugar del BUSCAR función.
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Más información: Excel Si Celda Contiene Texto Entonces Devuelve Valor (8 Maneras Fáciles)

Lecturas similares:

  • Cómo Sumar Si la Celda Contiene un Texto Específico en Excel (6 Maneras)
  • Utilizar VLOOKUP si la celda contiene una palabra dentro del texto en Excel
  • Cómo encontrar texto en un rango de Excel & devolver referencia de celda (3 maneras)

3. Utilizar la fórmula TEXTJOIN para devolver el valor en otra celda si una celda tiene un texto de una lista

Esta fórmula es útil cuando hay que mostrar qué cadena o cadenas de la cadena Lista emparejado.

En este caso, he obtenido los valores de las celdas del archivo LISTA donde coincidían con la columna Producto y los mostró al valor Matched de Lista columna.

La fórmula es la siguiente:

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

Desglose de fórmulas:

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

Aquí, el Asterisco ( * ) es un carácter comodín. Buscaba " Fichas " y la subcadena "Bebidas frías" dentro de la celda B5 que es " Ruffles - Patatas fritas " cadena.

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

En CONSEJO devuelve uno por cada subcadena coincidente. Como " Fichas "se encuentra en Célula B5 devuelve { 1:0 }.

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

En SI sólo devuelve el valor " Fichas " ya que sólo el primer valor de su argumento era uno = Verdadero .

  • TEXTJOIN(", ",TRUE,{"Patatas fritas";""})

En TEXTJOIN no hizo nada aquí ya que sólo un valor de la función Lista Si hubiera muchos valores para comparar, los habría devuelto todos con comas (,) entre ellos como separador.

Producto final: Chips

Más información: Si Celda Contiene Texto Entonces Añade Texto en Otra Celda en Excel

4. Utilizar una fórmula INDEX MATCH para devolver el valor si la celda contiene un texto específico

Se trata de una alternativa al TEXTJOIN Esta fórmula también muestra qué cadena o cadenas de la fórmula Lista emparejado.

En este caso, he obtenido los valores de las celdas del archivo LISTA donde coincidían con la columna Producto y los mostró al valor Matched de Lista columna.

La fórmula es la siguiente:

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

Desglose de fórmulas:

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

Aquí, el Asterisco ( * ) es un carácter comodín. Buscaba " Fichas " y " Bebidas frías " dentro de Célula B5 que es " Ruffles - Patatas fritas " cadena.

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

En CONSEJO devuelve uno por cada subcadena coincidente. Como " Fichas "se encuentra en Célula B5 devuelve { 1:0 }.

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

En MATCH devuelve uno, ya que sólo hay un valor " Fichas " que coincidía.

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

En ÍNDICE devuelve " Fichas "ya que era el valor en el Lista matriz.

  • IFERROR("Fichas","")

Aquí, el IFERROR se utiliza para gestionar el error que se producirá si no hay coincidencias.

Producto final: Chips

Nota:

Aquí, he mostrado la celda que coincidió, pero usted puede mostrar cualquier salida que desee cambiando la opción SI funciones de salida con su salida deseada.

Más información: Excel Formula If Cell Contains Text Then Return Value in Another Cell

5. Aplicar la función EXACT con IF y TEXTJOIN

Esta es otra solución a este problema en diferentes situaciones. Aquí, he obtenido el valor de la celda de la columna Lista con un solo miembro. Comparamos este valor con el Producto y mostramos todos los valores coincidentes en una sola celda.

La fórmula es la siguiente:

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

Desglose de fórmulas :

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

Esta parte comprueba qué valores del Gama C5:14 coincidir con Celda F5 y devolver TRUE y FALSO .

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

Esta parte devuelve los nombres para los que obtenemos TRUE .

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

Finalmente, esto une todos los nombres con una coma después de cada nombre.

Notas rápidas

Todas estas fórmulas (excepto la segunda) son fórmulas de matriz, lo que significa que tienes que pulsar Ctrl+Mayús+Intro en lugar de pulsar sólo el botón Entre en para introducir esta fórmula. Pero si usted es un Oficina 365 usuario, entonces podrá aplicarlas pulsando simplemente Entra.

Conclusión

En este artículo, he reducido diferentes fórmulas para varios casos para devolver el valor si una celda contiene un texto específico de una lista. Espero que hayas podido encontrar una solución a tu problema. Por favor, deja un comentario si tienes alguna sugerencia o pregunta. Además, puedes visitar nuestra sección de blog para más artículos de este tipo.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.