Com retornar el valor a Excel si la cel·la conté text de la llista

  • Comparteix Això
Hugh West

Si teniu una llista de text i voleu cercar cel·les i retornar valors basats en la llista, haureu de crear una fórmula perquè Excel no ofereix una manera senzilla de fer-ho. En aquest article, he tractat aquest problema i he proporcionat cinc fórmules diferents per dur a terme aquesta operació de manera que pugueu triar la perfecta per a la vostra situació i tornar el valor si la cel·la conté text determinat d'una llista.

Descarregueu el quadern de pràctiques

Podeu baixar el quadern de treball que he utilitzat en aquest article des del botó següent i practicar-lo vosaltres mateixos.

Si la cel·la conté text de List.xlsx

Introducció a les funcions utilitzades en aquest article

Les fórmules que he utilitzat aquí utilitzen les funcions següents:

  • La funció COUNTIFS:

Aquesta funció compta les cel·les que coincideixen amb diversos criteris. La sintaxi de la funció COUNTIFS és la següent.

=COUNTIFS (interval1, criteri1, [interval2], [criteri2], ...)

  • interval1 : el 1r rang a avaluar.
  • criteri1 : el criteri que s'ha d'utilitzar al 1r rang.
  • interval2 [opcional]: el segon rang, actua igual que rang1.
  • criteri2 [opcional]: El criteri a utilitzar al 2n rang. Aquesta funció permet un màxim de 127 intervals i parells de criteris .
  • La funció TEXTJOIN:

Aquesta funció uneix el textvalors amb un delimitador. La sintaxi de la funció TEXTJOIN és la següent.

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

  • delimitador: El separador entre els textos que combinarà la funció.
  • ignore_empty: Aquest argument especifica si la funció ignora el buit. cel·les o no.
  • text1: 1r valor de text (o interval).
  • text2 [opcional]: 2n valor de text (o interval) .
  • La funció MATCH:

Aquesta funció obté la posició d'un element en una matriu. La sintaxi de la funció MATCH és la següent.

=MATCH (valor_de_cerca, matriu_de_cerca, [tipus_de_coincidència])

  • valor_cerca: El valor que s'ha de fer coincidir a matriu_cerca .
  • matriu_cerca: Un rang de cel·les o una referència de matriu.
  • match_type [opcional]: 1 = exacte o el següent més petit, 0 = coincidència exacta, -1 = exacte o el següent més gran. Per defecte, match_type=1.
  • La funció INDEX:

Aquesta funció obté valors en una llista o taula en funció de la ubicació . La sintaxi de la funció INDEX és la següent.

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

  • matriu: Interval de cel·les o una constant de matriu.
  • row_num: La posició de la fila a la referència.
  • col_num [opcional] : la posició de la columna a la referència.
  • area_num [opcional]: L'intervalen referència que s'hauria d'utilitzar.
  • La funció IFERROR:

Aquesta funció atrapa i gestiona errors. La sintaxi de la funció IFERROR és la següent.

=IFERROR (valor, valor_si_error)

  • valor: El valor, la referència o la fórmula per comprovar si hi ha un error.
  • value_if_error: El valor a retornar si es troba un error.
  • La funció SEARCH:

Aquesta funció obté la ubicació del text en una cadena. La sintaxi de la funció SEARCH és la següent.

=CERCA (trobar_text, dins_text, [núm_inici])

  • find_text : aquest argument especifica quin text s'ha de trobar.
  • within_text: Això especifica on trobar el text.
  • start_num [opcional]: Amb això, especificaràs- des de quina posició de la cadena de text comptaràs la posició del text especificat. Opcional i el valor predeterminat és 1 des de l'esquerra.

5 fórmules per retornar valor a Excel si una cel·la conté text determinat d'una llista

Intentaré presentar un exemple de la vida real en aquest conjunt de dades. Algunes begudes estan representades aquí. Patates fregides , Begudes fredes i Cereals són les tres categories de begudes d'aquest conjunt de dades. En una sola columna anomenada Tots els productes , el nom i les categories de les begudes estan enllaçats. Dues d'aquestes categories, Patates fregides i FredesBegudes també es troben a la columna Llista . A partir de la columna Llista , la sortida desitjada es mostrarà a la segona columna.

1. Combina COUNTIF, IF & O Funcions per retornar el valor si una cel·la conté un text d'una llista

Aquesta és la fórmula més útil si voleu retornar el valor de la cel·la sencera després de la coincidència.

Aquí, he obtingut els valors de les cel·les dels Productes que coincideixen amb els criteris de la columna Llista i els he mostrat a la columna Producte basat en aquesta llista columna.

La fórmula és la següent:

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

Desglossament de la fórmula:

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

Aquí, el Signe d'asterisc ( * ) és un caràcter comodí. Va cercar la subcadena " Patates fregides " i "Begudes fredes" a la Cèl·lula B5 , que és la cadena " Ruffles - Chips " .

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

La funció COUNTIF ha retornat una per cada coincidència de subcadenes. Com que " Chips " es troba a la cel·la B5 , retorna { 1:0 }.

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

La funció OR retorna un valor TRUE si algun dels arguments és TRUE . En aquest cas, un (1)= VERTADER .

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

Com el SI el valor de la funció és TRUE , retorna el primer argument que és la sortida desitjada.

Final Sortida : Volnes – Xips

Nota:

Aquí, he mostrat elcel·la que coincideix, però podeu mostrar qualsevol sortida com vulgueu canviant la sortida de les funcions IF amb la sortida desitjada.

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

Llegir més: Si la cel·la conté paraula, assigneu un valor a Excel (4 fórmules)

2. Utilitzeu la combinació IF-OR amb la funció de cerca per retornar el valor amb diverses condicions

Aquí, he obtingut els valors de les cel·les dels Productes que coincideixen amb la Llista criteris de columna i els va mostrar a la columna Producte basat en aquesta llista .

La fórmula és la següent:

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

Desglossament de la fórmula:

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

La funció CERCAR va cercar els valors de la columna Llista a la cel·la B5 . Per a " Chips " va tornar 11 , que és la posició inicial de la subcadena. Per a Begudes fredes , va tornar un error.

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

La funció ISNUMBER s'ha convertit 11 al valor TRUE i l'error al valor FALSE .

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

La funció OR retorna un valor TRUE si algun dels arguments és TRUE . Com que hi ha un argument TRUE , també retorna el valor TRUE en aquest cas.

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

Com que el valor de la funció IF és TRUE , retorna el primer argument que és la sortida desitjada.

Sortida final: volants –Xips

Nota:

  • Aquí, he mostrat la cel·la que coincideix, però podeu mostrar qualsevol sortida que vulgueu canviant el IF funciona amb la sortida desitjada.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)

  • El principal benefici d'aquesta La fórmula és que no és una fórmula de matriu, però no es recomana si teniu moltes cel·les a la Llista , ja que heu d'introduir manualment totes les cel·les de la Llista .
  • Per a situacions que distingeixen entre majúscules i minúscules, podem utilitzar la fórmula següent basada en la funció TROBAR en lloc de la funció CERCAR .
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")

Llegir més: Excel si la cel·la conté text, retorna el valor (8 maneres senzilles)

Lectures similars:

  • Com sumar si la cel·la conté text específic a Excel (6 maneres)
  • Utilitzeu VLOOKUP si la cel·la conté una paraula dins del text a Excel
  • Com trobar text en un rang d'Excel & retorn de referència de cel·la (3 vies)

3. Utilitzeu la fórmula TEXTJOIN per retornar el valor en una altra cel·la si una cel·la té un text d'una llista

Aquesta fórmula és útil quan heu de mostrar quina cadena o cadenes de la Llista coincideixen .

Aquí, he obtingut els valors de les cel·les de la columna LIST on coincideixen amb el Producte i els he mostrat al valor coincident de Llista columna.

La fórmula és la següent:

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

FórmulaDesglossament:

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

Aquí, el Signe d'asterisc ( * ) és un caràcter comodí. Va cercar la subcadena " Chips " i "Cold Drinks" dins de la cel·la B5, que és la cadena " Ruffles - Chips ".

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

La funció COUNTIF ha retornat un per cada coincidència de subcadenes. Com que es troba " Xips " a la cel·la B5 , retorna { 1:0 }.

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

La funció IF només va retornar el valor “ Chips ”, ja que només el primer valor del seu argument era un = Vertader .

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

La funció TEXTJOIN no va fer res aquí com només un valor de Llista ha coincidit. Si hi hagués molts valors per fer coincidir, els hauria retornat tots amb comes (,) entre ells com a separador.

Sortida final: xips

Llegir més: Si la cel·la conté text, afegiu text en una altra cel·la a Excel

4. Utilitzeu una fórmula INDEX MATCH per retornar el valor si la cel·la conté text específic

Aquesta és una alternativa a la fórmula TEXTJOIN . Aquesta fórmula també mostra quina cadena o cadenes de la Llista coincideixen.

Aquí, he obtingut els valors de les cel·les de la columna LIST on coincideixen amb Producte i els va mostrar al Valor coincident de la columna Llista .

La fórmula és la següent:

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

Desglossament de la fórmula:

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

Aquí, el signe d'asterisc ( * ) és un caràcter comodí. Va cercar la subcadena " Chips " i " Cold Drinks " dins de la Cèl·lula B5 , que és la cadena " Ruffles - Chips ".

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

La funció COUNTIF ha retornat un per cada coincidència de subcadenes. Com que es troba " Xips " a la cel·la B5 , retorna { 1:0 }.

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

La funció MATCH n'ha retornat un, ja que només hi ha un valor " Chips " que coincideix.

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

La funció INDEX va retornar " Xips " ja que era el valor de la matriu Lista .

  • IFERROR("Chips","")

Aquí, la funció IFERROR s'utilitza per gestionar l'error que es produirà si no hi ha coincidències .

Sortida final: xips

Nota:

Aquí, he mostrat la cel·la que coincideix, però podeu mostrar qualsevol sortida que vulgueu canviant la sortida de les funcions IF amb la sortida desitjada.

Llegiu més: Fórmula Excel si la cel·la conté text, retorneu el valor a Una altra cèl·lula

5. Aplica la funció EXACT amb IF i TEXTJOIN

Aquesta és una altra solució a aquest problema en diferents situacions. Aquí, he obtingut el valor de la cel·la de la columna Llista amb un sol membre. Coincidim aquest valor amb el Producte i vam mostrar tots els valors de concordança en una sola cel·la.

La fórmula és comsegüent:

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

Desglossament de la fórmula :

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

Aquesta part comprova quins valors de l' Interval C5:14 coincideixen amb la Cel·la F5 i retorna TRUE i FALS .

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

Aquesta part retorna els noms per als quals obtenim VERTADER .

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

Finalment, uneix tots els noms amb una coma després de cada nom.

Notes ràpides

Totes aquestes fórmules aquí (excepte la segona) són fórmules de matriu. Això vol dir que heu de prémer Ctrl+Maj+Retorn en lloc de prémer només el botó Enter per introduir aquesta fórmula. Però si sou un usuari d' Office 365 , podeu aplicar-los prement només Retorn.

Conclusió

En aquest article, he reduït diferents fórmules per a diversos casos per retornar valor si una cel·la conté text específic d'una llista. Espero que hagis pogut trobar una solució al teu problema. Si us plau, deixeu un comentari si teniu algun suggeriment o pregunta. A més, podeu visitar el nostre bloc per obtenir més articles d'aquest tipus.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.