Enhavtabelo
Se vi havas liston de teksto kaj volas serĉi ĉelojn kaj redoni valorojn bazitajn sur la listo, vi devos konstrui formulon ĉar Excel ne provizas simplan manieron fari tion. En ĉi tiu artikolo, mi traktis ĉi tiun problemon kaj provizis kvin malsamajn formulojn por plenumi ĉi tiun operacion, por ke vi povu elekti la perfektan por via situacio, kaj redoni la valoron se la ĉelo enhavas certan tekston el listo.
Elŝutu Praktikan Laborlibron
Vi povas elŝuti la laborlibron kiun mi uzis en ĉi tiu artikolo de la sekva butono kaj ekzerci kun ĝi memstare.
If Cell Contains Text from List.xlsx
Enkonduko al Funkcioj Uzitaj en Ĉi tiu Artikolo
La formuloj, kiujn mi uzis ĉi tie, uzas la jenajn funkciojn:
- La COUNTIFS-Funkcio:
Ĉi tiu funkcio kalkulas ĉelojn, kiuj kongruas kun pluraj kriterioj. La sintakso de la funkcio NOMBRIKIFS estas jena.
=NOMBRUJF (gamo1, kriterio1, [gamo2], [kriterio2], ...)
- gamo1 – La 1-a gamo por taksi.
- kriterio1 – La kriterio por uzi sur la 1-a gamo.
- gamo2 [nedeviga]: La 2-a intervalo, agas same kiel intervalo1.
- kriterio2 [nedeviga]: La kriterio por uzi sur la 2-a gamo. Ĉi tiu funkcio permesas maksimume 127 intervalojn kaj kriterioparojn .
- La TEXTJOIN-Funkcio:
Ĉi tiu funkcio kunigas tekstonvaloroj kun limigilo. La sintakso de la funkcio TEXTJOIN estas jena.
=TEXTJOIN (limigilo, ignori_malplena, teksto1, [teksto2], ...)
- limigilo: La apartigilo inter tekstoj kiujn la funkcio kombinos.
- ignore_empty: Tiu argumento specifas ĉu la funkcio ignoras la malplenan. ĉeloj aŭ ne.
- teksto1: 1-a tekstvaloro (aŭ intervalo).
- teksto2 [laŭvola]: 2-a tekstvaloro (aŭ intervalo) .
- La MATCH Funkcio:
Ĉi tiu funkcio ricevas la pozicion de ero en tabelo. La sintakso de la funkcio MATCH estas kiel sekvas.
=MATCH (serĉa_valoro, serĉo_tabelo, [match_type])
- lookup_value: La valoro kongrua en lookup_array .
- lookup_array: Gamo da ĉeloj aŭ tabelreferenco.
- match_type [laŭvola]: 1 = ĝusta aŭ sekva plej malgranda, 0 = ĝusta kongruo, -1 = preciza aŭ sekva plej granda. Defaŭlte, match_type=1.
- La INDEX-Funkcio:
Ĉi tiu funkcio ricevas valorojn en listo aŭ tabelo laŭ loko. . La sintakso de la INDEX-funkcio estas jena.
=INDEX (tabelo, vico_num, [kol_num], [area_num])
- tabelo: Intervalo de ĉeloj, aŭ tabelkonstanto.
- row_num: La vicpozicio en la referenco. <> 9> kol_num [laŭvola] : La kolumna pozicio en la referenco.
- area_num [laŭvola]: La intervaloen referenco tio estu uzata.
- La IFERARO-Funkcio:
Tiu ĉi funkcio kaptas kaj pritraktas erarojn. La sintakso de la funkcio IFERROR estas jena.
=IFERROR (valoro, valoro_se_eraro)
- valoro: La valoro, referenco aŭ formulo por kontroli eraron.
- value_if_error: La valoro redonenda se eraro estas trovita.
- La SERĈA Funkcio:
Ĉi tiu funkcio ricevas la lokon de teksto en ĉeno. La sintakso de la SEARCH-funkcio estas jena.
=SEARCH (trovi_tekston, ene_tekston, [komenca_num])
- trovi_tekston : Ĉi tiu argumento specifas kiun tekston trovi.
- ene_teksto: Ĉi tio specifas kie trovi la tekston.
- >start_num [laŭvola]: Per ĉi tio, vi specifos- de kiu pozicio en la teksta ĉeno vi kalkulos la pozicion de la specifita teksto. Laŭvola kaj defaŭlte al 1 de maldekstre.
5 Formuloj por redoni valoron en Excel Se ĉelo enhavas certan tekston el listo
Mi provos prezenti realviva ekzemplo en ĉi tiu datumaro. Kelkaj trinkaĵoj estas reprezentitaj ĉi tie. Chips , Malvarmaj Trinkaĵoj kaj Cerealoj estas la tri kategorioj de trinkaĵoj en ĉi tiu datumaro. En ununura kolumno nomata Ĉiuj Produktoj , la nomo kaj kategorioj de la trinkaĵoj estas kunligitaj. Du el ĉi tiuj kategorioj, Chips kaj MalvarmaTrinkaĵoj , estas ankaŭ en la kolumno Listo . Surbaze de la kolumno Listo , la dezirata eligo aperos en la dua kolumno.
1. Kombinu COUNTIF, IF & AŬ Funkcioj por redoni valoron se ĉelo enhavas tekston el listo
Ĉi tiu estas la plej utila formulo se vi volas redoni la valoron de la tuta ĉelo post la kongruo.
Ĉi tie, mi alportis la ĉelvalorojn de la Produktoj kiuj kongruis kun la Listo kolumnokriterioj kaj montris ilin al la Produkto bazita sur tiu listo kolumno.
La formulo estas jena:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
3>Formula amplekso:
-
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Jen la Asterisko ( * ) estas ĵokera signo. Ĝi serĉis " Chips " kaj "Malvarmaj Trinkaĵoj" subĉeno ene de Ĉelo B5 kiu estas "
Ruffles - Chips
"
ĉeno.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
La funkcio COUNTIF redonis unu por ĉiu subĉena kongruo. Ĉar "
Chips
"
troviĝas en Ĉelo B5 , ĝi liveras { 1:0 }.
-
=IF(OR({1;0}), B5, "")
La OR funkcio liveras VERA valoron se iu el la argumentoj estas VERA . En ĉi tiu kazo, unu (1)= VERA .
-
=IF(TRUE, "Ruffles - Chips", "")
Kiel la SE la valoro de funkcio estas VERA , ĝi resendas la unuan argumenton, kiu estas la dezirata eligo.
Fina Eligo : Rufoj – Blatoj
Noto:
Jen, mi montris laĉelo kiu kongruis sed vi povas montri ajnan eliron kiel vi volas ŝanĝante la funkciojn eligo de IF kun via dezirata eligo.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)
Legu Pli: Se Ĉelo Enhavas Vorton Tiam Asignu Valoron en Excel (4 Formuloj)
2. Uzu IF-OR Kombinaĵon kun SERĈA Funkcio por Resendi Valoron kun Multoblaj Kondiĉoj
Ĉi tie, mi alportis la ĉelvalorojn de la Produktoj kiuj kongruis kun la Listo kolumnkriterioj kaj montris ilin al la Produkto bazita sur tiu listo kolumno.
La formulo estas jena:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Formulo-rompo:
-
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
La funkcio SEARCH serĉis la valorojn de la Listo kolumno en Ĉelo B5 . Por " Chips " ĝi resendis 11 kiu estas la komenca pozicio de la subĉeno. Por Malvarmaj Trinkaĵoj , ĝi donis eraron.
-
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
La funkcio ISNUMBER konvertita 11 en VERA valoron kaj la eraro en FALSA valoron.
-
=IF(OR(TRUE,FALSE)),B5,"")
La OR funkcio liveras VERA valoron se iu el la argumentoj estas VERA . Ĉar estas argumento VERA , ĝi ankaŭ redonas la valoron VERA ĉi-kaze.
-
=IF(TRUE, "Ruffles - Chips","")
Ĉar la valoro de la funkcio IF estas VERA , ĝi liveras la unuan argumenton kiu estas la dezirata eligo.
Fina eligo: Ruffles –Blatoj
Noto:
- Jen, mi montris la ĉelon kiu kongruis sed vi povas montri ajnan eliron, kiun vi volas, ŝanĝante la IF funkcias eligo kun via dezirata eligo.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- La ĉefa avantaĝo de ĉi tio formulo estas, ke ĉi tio ne estas tabelformulo sed ĝi ne estas rekomendita se vi havas multajn ĉelojn en la Listo ĉar vi devas enmeti ĉiun ĉelon de la Listo permane.
- Por uskleksentemaj situacioj, ni povas uzi la suban formulon bazitan sur la funkcio TROVU anstataŭ la funkcio SERĈI .
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Legu Pli: Excel Se Ĉelo Enhavas Tekston Tiam Redonu Valoron (8 Facilaj Manieroj)
Similaj Legadoj:
- Kiel Sumi Se Ĉelo Entenas Specifan Tekston en Excel (6 Manieroj)
- Uzu VLOOKUP Se Ĉelo Enhavas Vorton en Teksto en Excel
- Kiel trovi tekston en Excel-intervalo & redonu ĉelreferencon (3 manieroj)
3. Uzu TEXTJOIN-Formulon por Redoni Valoron en Alia Ĉelo Se Ĉelo Havas Tekston de Listo
Ĉi tiu formulo estas utila kiam vi devas montri kiajn ĉenojn aŭ ĉenojn de la Listo kongruas .
Ĉi tie, mi alportis la ĉelvalorojn el la kolumno LIST kie ili kongruis kun la Produkto kaj montris ilin al la Kongrua valoro de Listo kolumno.
La formulo estas jena:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"), $E$5:$E$6,""))
FormuloDifekto:
-
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"),$E$5:$E$6,""))
Jen, la Asterisko ( * ) estas ĵokera signo. Ĝi serĉis " Chips " kaj "Malvarmaj Trinkaĵoj" subĉeno ene de Ĉelo B5 kiu estas " Ruffles - Chips " ĉeno.
-
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
La funkcio COUNTIF redonis unu por ĉiu kongruo de subĉeno. Ĉar " Chips " troviĝas en Ĉelo B5 , ĝi liveras { 1:0 }.
-
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
La funkcio IF redonis nur la valoron “ Chips ” ĉar nur la unua valoro de ĝia argumento estis unu = Vera .
-
TEXTJOIN(", ",TRUE,{"Chips";""})
La funkcio TEXTJOIN faris nenion ĉi tie kiel nur unu valoron el la Listo estis kongrua. Se estus multaj valoroj por egali, ĝi estus redoninta ĉiujn kun komoj (,) inter ili kiel apartigilo.
Fina Eligo: Blatoj
Legu Pli: Se Ĉelo Enhavas Tekston Tiam Aldonu Tekston en Alia Ĉelo en Excel
4. Uzu INDEX MATCH Formulo por Redoni Valoron Se Ĉelo Enhavas Specifan Tekston
Ĉi tio estas alternativo al la formulo TEXTJOIN . Ĉi tiu formulo ankaŭ montras kian ĉenon aŭ ĉenojn de la Listo kongruis.
Ĉi tie, mi alportis la ĉelvalorojn de la LIST kolumno kie ili kongruis kun la Produkto kaj montris ilin al la Kongrua valoro el Listo kolumno.
La formulo estas jena:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6&"*"), 0)),"")
Formulo-rompo:
-
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5,"*"&$E$5:$E$6&"*"),0)),"")
Ĉi tie, la Asterisko ( * ) estas ĵokera signo. Ĝi serĉis " Chips " kaj " Malvarmaj Trinkaĵoj " subĉeno ene de Ĉelo B5 kiu estas " Ruffles - Chips " ĉeno.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
La funkcio COUNTIF redonis unu por ĉiu subĉena kongruo. Ĉar " Chips " troviĝas en Ĉelo B5 , ĝi liveras { 1:0 }.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
La funkcio MATCH redonis unu ĉar estas nur unu valoro “ Chips ” kiu kongruis.
-
IFERROR(INDEX($E$5:$E$6,1),"")
La funkcio INDEX redonis “ Chips ” kiel ĝi estis la valoro en la tabelo Listo .
-
IFERROR("Chips","")
Ĉi tie, la funkcio IFERROR estas uzata por trakti la eraron kiu okazos se ne estas kongruoj. .
Fina Eligo: Blatoj
Noto:
Jen, mi montris la ĉelon kiu kongruis sed vi povas montri ajna eligo kiel vi volas ŝanĝante la funkciojn de IF eligo kun via dezirata eligo.
Legu pli: Excel-Formulo Se Ĉelo Enhavas Tekston Tiam Donu Valoron en Alia Ĉelo
5. Apliki EXACT Function kun IF kaj TEXTJOIN
Ĉi tio estas alia solvo al ĉi tiu problemo en malsamaj situacioj. Ĉi tie, mi alportis la ĉelan valoron de la Listo-kolumno kun ununura membro. Ni kongruas ĉi tiun valoron kun la Produkto kaj montris ĉiujn kongruajn valorojn en ununura ĉelo.
La formulo estas kielsekvas:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Formula disfalo :
-
EXACT(C5:C14,$F$5)
Ĉi tiu parto kontrolas kiuj valoroj de la Intervalo C5:14 kongruas kun Ĉelo F5 kaj redonas VERA kaj FALSA .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Ĉi tiu parto liveras la nomojn por kiuj ni ricevas VERA .
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Fine, ĉi tio kunigas ĉiujn nomojn per komo post ĉiu nomo.
Rapidaj Notoj
Ĉiuj ĉi tiuj formuloj ĉi tie (krom la 2-a) estas tabelaj formuloj. Tio signifas, ke vi devas premi Ctrl+Shift+Enter anstataŭ nur premi la butonon Enter por enigi ĉi tiun formulon. Sed se vi estas uzanto de Office 365 , tiam vi povas apliki ilin premante nur Enigu.
Konkludo
En ĉi tiu artikolo, mi malvastigis malsamajn formulojn por diversaj kazoj por redoni valoron se ĉelo enhavas specifan tekston de listo. Mi esperas, ke vi povis trovi solvon al via problemo. Bonvolu lasi komenton se vi havas sugestojn aŭ demandojn. Cetere, vi povas viziti nian blogon por pli da tiaj artikoloj.