Բովանդակություն
Ձեռնարկը տրամադրում է մի շարք «Excel, եթե պարունակում է» բանաձևի օրինակներ, որոնք ցույց են տալիս, թե ինչպես կարելի է ինչ-որ բան վերադարձնել մեկ այլ սյունակում, եթե թիրախային բջիջը պարունակում է պահանջվող արժեք, ինչպես որոնել մասնակի համընկնումով և փորձարկել բազմաթիվ չափանիշներ OR-ով: ինչպես նաև ԵՎ տրամաբանությունը:
Excel-ի ամենատարածված առաջադրանքներից մեկը ստուգելն է, թե արդյոք բջիջը պարունակում է հետաքրքրության արժեք: Ինչպիսի՞ արժեք կարող է լինել դա: Պարզապես ցանկացած տեքստ կամ թիվ, կոնկրետ տեքստ կամ ընդհանրապես որևէ արժեք (ոչ դատարկ բջիջ):
Գոյություն ունեն «Եթե բջիջը պարունակում է» բանաձևի մի քանի տատանումներ Excel-ում, կախված այն բանից, թե կոնկրետ ինչ արժեքներ եք ուզում գտնել: Ընդհանուր առմամբ, դուք կօգտագործեք IF ֆունկցիան տրամաբանական թեստ անելու համար և կվերադարձնեք մեկ արժեք, երբ պայմանը բավարարված է (բջիջը պարունակում է) և/կամ մեկ այլ արժեք, երբ պայմանը չի բավարարվում (բջիջը չի պարունակում): Ստորև բերված օրինակներն ընդգրկում են ամենահաճախ հանդիպող սցենարները:
Եթե բջիջը պարունակում է որևէ արժեք, ապա
Սկզբի համար եկեք տեսնենք, թե ինչպես գտնել բջիջներ, որոնք ընդհանրապես պարունակում են որևէ բան. տեքստը, համարը կամ ամսաթիվը: Դրա համար մենք պատրաստվում ենք օգտագործել պարզ IF բանաձև, որը ստուգում է ոչ դատարկ բջիջների առկայությունը:
IF( բջիջ"", value_to_return, "")For Օրինակ, B սյունակում «Ոչ դատարկ» վերադարձնելու համար, եթե նույն տողում A-ի բջիջը պարունակում է որևէ արժեք, մուտքագրեք հետևյալ բանաձևը B2-ում, այնուհետև կրկնակի սեղմեք ներքևի աջ անկյունում գտնվող փոքր կանաչ քառակուսին, որպեսզի պատճենեք բանաձևը: որսյունակ՝
=IF(A2"", "Not blank", "")
Արդյունքը նման կլինի հետևյալին.
Եթե բջիջը պարունակում է տեքստ, ապա
Եթե ցանկանում եք գտնել միայն թվերը և ամսաթվերը անտեսող տեքստային արժեքներով բջիջներ, ապա օգտագործեք IF-ը ISTEXT ֆունկցիայի հետ համատեղ: Ահա ընդհանուր բանաձևը՝ մեկ այլ բջիջում որոշակի արժեք վերադարձնելու համար, եթե թիրախային բջիջը պարունակում է ցանկացած տեքստ :
IF(ISTEXT( բջիջ), արժեք_վերադարձի համար, " «)Ենթադրենք, դուք ցանկանում եք «այո» բառը տեղադրել B սյունակում, եթե A սյունակի բջիջը պարունակում է տեքստ: Դա անելու համար B2-ում դրեք հետևյալ բանաձևը.
=IF(ISTEXT(A2), "Yes", "")
Եթե բջիջը պարունակում է թիվ, ապա
Նման ձևով. , դուք կարող եք նույնականացնել բջիջները թվային արժեքներով (թվեր և ամսաթվեր): Դրա համար օգտագործեք IF ֆունկցիան ISNUMBER-ի հետ միասին.
IF(ISNUMBER( բջիջ), value_to_return, "")Հետևյալ բանաձևը վերադարձնում է «այո» սյունակում: B, եթե A սյունակի համապատասխան բջիջը պարունակում է որևէ թիվ.
=IF(ISNUMBER(A2), "Yes", "")
Եթե բջիջը պարունակում է կոնկրետ տեքստ
Որոշակի տեքստ պարունակող բջիջների որոնում (կամ թվեր կամ ամսաթվեր) հեշտ է: Դուք գրում եք սովորական IF բանաձև, որը ստուգում է, թե արդյոք թիրախ բջիջը պարունակում է ցանկալի տեքստ, և մուտքագրեք տեքստը, որը պետք է վերադարձվի value_if_true արգումենտում:
IF( բջիջ=" text", value_to_return, "")Օրինակ, պարզելու համար, թե արդյոք A2 բջիջը պարունակում է «խնձորներ», օգտագործեք այս բանաձեւը.
=IF(A2="apples", "Yes", "")
Եթե բջիջը չի պարունակում կոնկրետtext
Եթե փնտրում եք հակառակ արդյունքը, այսինքն՝ վերադարձրեք որոշակի արժեք մեկ այլ սյունակ, եթե թիրախային բջիջը չի պարունակում նշված տեքստը («խնձոր»), ապա կատարեք հետևյալներից մեկը:
Տրամադրեք դատարկ տող ("") value_if_true արգումենտում և տեքստ վերադարձնելու համար value_if_false արգումենտում.
=IF(A2="apples", "", "Not apples")
Կամ , դրեք «ոչ հավասար» օպերատորը logical_test և տեքստը վերադարձնելու համար value_if_true:
=IF(A2"apples", "Not apples", "")
Ամեն դեպքում, բանաձևը կարտադրի այս արդյունքը.
Եթե բջիջը պարունակում է տեքստ՝ մեծատառերի զգայուն բանաձև
Ձեր բանաձևին ստիպելու համար տարբերել մեծատառ և փոքրատառ նիշերը, օգտագործեք EXACT ֆունկցիան, որը ստուգում է, թե արդյոք երկու տեքստային տողերը ճիշտ հավասար են, ներառյալ տառերը. C1), ամրացրեք բջջային հղումը $ նշանով ($C$1) և համեմատեք թիրախային բջիջը այդ բջիջի հետ.
=IF(EXACT(A2,$C$1), "Yes", "")
Եթե բջիջը պարունակում է կոնկրետ տեքստային տող (մասնակի համընկնում)
Մենք ավարտեցինք չնչին առաջադրանքները և անցանք ավելի բարդ և հետաքրքիր առաջադրանքների :) Այս օրինակում երեք տարբեր գործառույթներ են պահանջվում պարզելու համար, թե արդյոք տվյալ նիշը կամ ենթատողը բջջի մաս է: բովանդակություն՝
IF(ISNUMBER(SEARCH(" տեքստ", բջիջ)), վերադարձի_արժեք,"")Աշխատում է ներսից դուրս , ահա թե ինչ է անում բանաձևը.
- TheSEARCH ֆունկցիան փնտրում է տեքստային տող, և եթե տողը գտնվի, վերադարձնում է առաջին նիշի դիրքը՝ #VALUE! հակառակ դեպքում սխալ է:
- ISNUMBER ֆունկցիան ստուգում է՝ SEARCH-ը հաջողվեց, թե ձախողվեց: Եթե SEARCH-ը վերադարձրել է որևէ թիվ, ISNUMBER-ը վերադարձնում է TRUE: Եթե SEARCH-ը հանգեցնում է սխալի, ISNUMBER-ը վերադարձնում է FALSE:
- Վերջապես, IF ֆունկցիան վերադարձնում է նշված արժեքը բջիջների համար, որոնք ունեն TRUE տրամաբանական թեստում, հակառակ դեպքում դատարկ տողը (""):
Եվ հիմա, եկեք տեսնենք, թե ինչպես է այս ընդհանուր բանաձևը աշխատում իրական աշխատանքային թերթերում:
Եթե բջիջը պարունակում է որոշակի տեքստ, արժեք դրեք մեկ այլ բջիջում
Ենթադրենք, որ ունեք ցուցակ պատվերներ A սյունակում և ցանկանում եք գտնել պատվերներ կոնկրետ նույնացուցիչով, ասեք «A-»: Առաջադրանքը կարող է իրականացվել հետևյալ բանաձևով.
=IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")
Բանաձևի մեջ տողը կոշտ կոդավորելու փոխարեն կարող եք այն մուտքագրել առանձին բջիջում (E1)՝ ձեր բանաձևի այդ բջիջի հղումը: :
=IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")
Որպեսզի բանաձևը ճիշտ աշխատի, համոզվեք, որ կողպեք տողը պարունակող բջիջի հասցեն $ նշանով (բջջի բացարձակ հղում):
Եթե բջիջը պարունակում է կոնկրետ տեքստ, պատճենեք այն մեկ այլ սյունակում
Եթե ցանկանում եք պատճենել վավեր բջիջների բովանդակությունը այլ տեղ, պարզապես տրամադրեք գնահատված բջիջի հասցեն (A2) value_if_true արգումենտում.
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
Սքրինշոթը ցույց է տալիս արդյունքները.
Եթեբջիջը պարունակում է կոնկրետ տեքստ՝ մեծատառերի զգայուն բանաձև
Վերոնշյալ երկու օրինակներում էլ բանաձևերը մեծատառերի նկատմամբ զգայուն չեն: Այն իրավիճակներում, երբ աշխատում եք մեծատառ տվյալների հետ, օգտագործեք FIND ֆունկցիան SEARCH-ի փոխարեն՝ նիշերի մեծատառերը տարբերելու համար:
Օրինակ, հետևյալ բանաձևը կնշանակի միայն մեծատառ «A-» պատվերները՝ անտեսելով փոքրատառերը: a-".
=IF(ISNUMBER(FIND("A-",A2)),"Valid","")
Եթե բջիջը պարունակում է բազմաթիվ տեքստային տողերից մեկը (ԿԱՄ տրամաբանություն)
Նվազագույնը պարունակող բջիջները նույնականացնելու համար Շատ բաներից մեկը, որ փնտրում եք, օգտագործեք հետևյալ բանաձևերից մեկը:
IF OR ISNUMBER SEARCH բանաձև
Առավել ակնհայտ մոտեցումը կլինի յուրաքանչյուր ենթատողի համար առանձին ստուգել և ունենալ OR ֆունկցիան: վերադարձրեք TRUE IF բանաձևի տրամաբանական թեստում, եթե գտնվի առնվազն մեկ ենթատող՝
IF(OR(ISNUMBER(SEARCH(" string1", բջիջ)), ISNUMBER (SEARCH(" string2", cell))), value_to_return, "")Ենթադրենք, որ դուք ունեք SKU-ների ցանկ A սյունակում, և դուք ցանկանում եք գտնել այնպիսիները, որոնք ներառում են կամ «զգեստ» կամ «փեշ»: Դուք կարող եք դա անել՝ օգտագործելով այս բանաձևը.
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")
Բանաձևը բավականին լավ է աշխատում մի քանի տարրերի համար, բայց, իհարկե, դա այդպես չէ: գնա, եթե ուզում ես շատ բաներ ստուգել: Այս դեպքում ավելի լավ մոտեցում կլինի օգտագործել SUMPRODUCT ֆունկցիան, ինչպես ցույց է տրված հաջորդ օրինակում:
SUMPRODUCT ISNUMBER SEARCH բանաձեւը
Եթե դուքգործ ունենալով բազմաթիվ տեքստային տողերի հետ, յուրաքանչյուր տողի առանձին որոնումը կդարձնի ձեր բանաձևը չափազանց երկար և դժվար կարդացվող: Ավելի էլեգանտ լուծում կլիներ ISNUMBER SEARCH համակցության ներդրումը SUMPRODUCT ֆունկցիայի մեջ և տեսնել, թե արդյոք արդյունքը զրոյից մեծ է.
SUMPRODUCT(--ISNUMBER(SEARCH( strings, cell)))>0Օրինակ, պարզելու համար, թե արդյոք A2-ը պարունակում է D2:D4 բջիջներում մուտքագրված բառերից որևէ մեկը, օգտագործեք այս բանաձևը.
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Այլընտրանքով, Դուք կարող եք ստեղծել անունով տիրույթ, որը պարունակում է որոնման համար նախատեսված տողեր, կամ ուղղակիորեն տրամադրել բառերը բանաձևում.
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0
Ամեն դեպքում, արդյունքը նման կլինի հետևյալին.
Արդյունքը օգտատիրոջ համար ավելի հարմար դարձնելու համար դուք կարող եք տեղադրել վերը նշված բանաձևը IF ֆունկցիայի մեջ և վերադարձնել ձեր սեփական տեքստը TRUE/FALSE արժեքների փոխարեն՝
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
:
Ինչպես է աշխատում այս բանաձևը
Հիմքում դուք օգտագործում եք ISNUMBER-ը SEARCH-ի հետ միասին, ինչպես նկարագրված է նախորդ օրինակում: Այս դեպքում որոնման արդյունքները ներկայացված են {TRUE;FALSE;FALSE} նման զանգվածի տեսքով: Եթե բջիջը պարունակում է նշված ենթատողերից առնվազն մեկը, զանգվածում կլինի TRUE: Կրկնակի միանման օպերատորը (--) ստիպում է TRUE/FALSE արժեքները համապատասխանաբար 1-ին և 0-ին և մատուցել {1;0;0} նման զանգված: Ի վերջո, SUMPRODUCT ֆունկցիան գումարում է թվերը, և մենք ընտրում ենք բջիջներ, որտեղ արդյունքը զրոյից մեծ է:
Եթեբջիջը պարունակում է մի քանի տողեր (ԵՎ տրամաբանություն)
Այն իրավիճակներում, երբ ցանկանում եք գտնել բոլոր նշված տեքստային տողերը պարունակող բջիջներ, օգտագործեք արդեն ծանոթ ISNUMBER SEARCH համակցությունը IF AND-ի հետ միասին:
IF(AND(ISNUMBER) (SEARCH(" տող1", բջիջ)), ISNUMBER(SEARCH(" string2", բջիջ))), value_to_return,"")Օրինակ, դուք կարող եք գտնել SKU-ներ, որոնք պարունակում են և՛ «զգեստ», և՛ «կապույտ» այս բանաձևով.
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")
Կամ կարող եք մուտքագրել առանձին բջիջների տողերը և հղում կատարել այդ բջիջներին ձեր բանաձևում.
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")
Որպես այլընտրանքային լուծում, դուք կարող եք հաշվել յուրաքանչյուր տողի երևույթները և ստուգել եթե յուրաքանչյուր հաշվարկ զրոյից մեծ է.
=IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")
Արդյունքը կլինի ճիշտ այնպես, ինչպես ցույց է տրված վերևի սքրինշոթում:
Ինչպես վերադարձնել տարբեր արդյունքներ` հիմնված բջջի արժեքի վրա
Եթե ցանկանում եք համեմատել թիրախային սյունակի յուրաքանչյուր բջիջը իրերի մեկ այլ ցանկի հետ և վերադարձնել տարբեր արժեք յուրաքանչյուր համընկնումի համար, օգտագործեք հետևյալ մոտեցումներից մեկը:
Ներդրված IFs
Ներդրված IF բանաձևի տրամաբանությունը նույնքան պարզ է. դուք օգտագործում եք առանձին IF ֆունկցիա յուրաքանչյուր պայմանը ստուգելու համար և վերադարձնում եք տարբեր արժեքներ՝ կախված այդ թեստերի արդյունքներից:
IF( cell=" lookup_text1", " return_ text1", IF( cell=" lookup_text2", " վերադարձ_ տեքստ2", IF( բջիջ=" որոնման_տեքստ3", " վերադարձ_ տեքստ 3", "")))Ենթադրենք, որ դուք ունեք A սյունակի տարրերի ցանկ, և ցանկանում եք ունենալ դրանց հապավումները սյունակ B-ում: Դա անելու համար օգտագործեք հետևյալ բանաձևը.
=IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))
Ներդրված IF-ի շարահյուսության և տրամաբանության մասին ամբողջական մանրամասների համար տե՛ս Excel nested IF - բազմաթիվ պայմաններ մեկ բանաձևում:
Որոնման բանաձև
Եթե ավելին եք փնտրում կոմպակտ և ավելի հասկանալի բանաձև, օգտագործեք LOOKUP ֆունկցիան որոնման և վերադարձի արժեքներով, որոնք տրամադրվում են որպես ուղղահայաց զանգվածի հաստատուններ.
LOOKUP( բջիջ, {" lookup_text1";" որոնք_տեքստ2";" որոնում_տեքստ3";…}, {" վերադարձ_ տեքստ1";" վերադարձ_ տեքստ2";" վերադարձ_ text3";…})Ճշգրիտ արդյունքների համար համոզվեք, որ թվարկեք որոնման արժեքները այբբենական կարգով , A-ից մինչև Z:
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
Ներդրված IF-ների համեմատ, Փնտրման բանաձևը ևս մեկ առավելություն ունի. այն հասկանում է վայրային նշանները և, հետևաբար, կարող է որոշել մասնակի համընկնումները:
Օրինակ, եթե A սյունակը պարունակում է մի քանի տեսակ բանանից կարող եք փնտրել «*banana*» և բոլոր նման բջիջների համար վերադարձնել նույն հապավումը («B»).
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Լրացուցիչ տեղեկությունների համար տե՛ս Փնտրման բանաձևը՝ որպես ներդիր IF-ների այլընտրանք:
Vlookup բանաձև
Փոփոխական տվյալների հավաքածուի հետ աշխատելիս կարող է ավելի հարմար լինել համընկնումների ցանկը առանձին մուտքագրել: բջիջները և առբերեք դրանք՝ օգտագործելով Vlookup բանաձևը,օրինակ՝
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE )
Լրացուցիչ տեղեկությունների համար տե՛ս Excel VLOOKUP ձեռնարկը սկսնակների համար:
Այսպես կարող եք ստուգել, թե արդյոք կա բջիջ պարունակում է ցանկացած արժեք կամ հատուկ տեքստ Excel-ում: Հաջորդ շաբաթ մենք կշարունակենք դիտել Excel-ի If բջիջը և կսովորենք, թե ինչպես հաշվել կամ գումարել համապատասխան բջիջները, պատճենել կամ հեռացնել այդ բջիջները պարունակող ամբողջ տողերը և այլն: Խնդրում ենք հետևել:
Գրական պրակտիկա
Excel-ը, եթե բջիջը պարունակում է - բանաձևի օրինակներ (.xlsx ֆայլ)