Բովանդակություն
Փորձու՞մ եք ստեղծել IF հայտարարություն նիշերի տեքստով, բայց այն ամեն անգամ ձախողվում է: Խնդիրը ձեր բանաձևի մեջ չէ, այլ հենց գործառույթի մեջ. Excel IF-ը չի աջակցում նիշերի նիշերը: Այնուամենայնիվ, կա մի միջոց, որպեսզի այն աշխատի տեքստի մասնակի համընկնման համար, և այս ձեռնարկը կսովորեցնի ձեզ, թե ինչպես:
Երբ ցանկանում եք կատարել մասնակի կամ անորոշ համընկնումը Excel-ում, ամենաակնհայտ լուծումը. օգտագործել wildcards. Բայց ինչ անել, եթե հատուկ գործառույթը, որը դուք պետք է օգտագործեք, չի աջակցում wildcards նիշերին: Ցավոք, Excel IF-ը նման գործառույթներից մեկն է: Սա հատկապես հիասթափեցնող է, եթե հաշվի առնենք, որ այլ «պայմանական» գործառույթները, ինչպիսիք են COUNTIF, SUMIF և AVERAGEIFS, հիանալի աշխատում են նիշերի հետ:
Բարեբախտաբար, դա այն խոչընդոտը չէ, որը կարող է կանգնեցնել ստեղծագործական Excel օգտագործողին :) Համակցելով IF-ը: այլ գործառույթներով դուք կարող եք ստիպել նրան գնահատել մասնակի համընկնումը և ստանալ Excel IF նիշերի բանաձևի լավ այլընտրանք:
Ինչու՞ Excel IF ֆունկցիան wildcard-ով չի աշխատում
Ստորև բերված օրինակելի աղյուսակում, ենթադրելով, որ ցանկանում եք ստուգել, թե արդյոք առաջին սյունակի ID-ները պարունակում են «A» տառը: Եթե գտնվի, ապա ցուցադրեք «Այո» սյունակ B-ում, եթե ոչ՝ ցուցադրեք «Ոչ»:
Կարծես թե տրամաբանական թեստում տեքստը ներառելը հեշտ լուծում կլինի.
=IF(A2="*a*","Yes", "No")
Բայց, ցավոք, դա չի աշխատում: Բանաձևը վերադարձնում է «Ոչ» բոլոր բջիջների համար, նույնիսկ նրանց, որոնք պարունակում են «A»:
Ինչու էwildcard IF հայտարարությունը ձախողվո՞ւմ է: Բոլոր երևույթներից, Excel-ը չի ճանաչում հավասարության նշանով կամ այլ տրամաբանական օպերատորներով օգտագործվող բնագրերը: Ուշադիր նայելով նիշերը աջակցող գործառույթների ցանկին, դուք կնկատեք, որ դրանց շարահյուսությունը ենթադրում է, որ տեքստը կհայտնվի ուղղակիորեն նման արգումենտում.
=COUNTIF(A2:A10, "*a*")
Excel IF-ը պարունակում է մասնակի տեքստ
Այժմ, երբ գիտեք, թե ինչու է wildcard IF բանաձևը ձախողվում, եկեք փորձենք պարզել, թե ինչպես այն գործի դնել: Դրա համար մենք պարզապես կտեղադրենք IF-ի տրամաբանական թեստի մեջ նիշերն ընդունող ֆունկցիա, այն է՝ COUNTIF ֆունկցիան.
IF(COUNTIF( բջիջ, "* տեքստ* "), value_if_true, value_if_false)Այս մոտեցմամբ, IF-ը խնդիր չունի ըմբռնելու վայրի նշանները և անթերի նույնացնում է բջիջները, որոնք պարունակում են կամ «A» կամ «a» (քանի որ COUNTIF-ը մեծատառերի նկատմամբ զգայուն չէ).
=IF(COUNTIF(A2, "*a*"),"Yes", "No")
Այս բանաձևը գնում է B2 կամ 2-րդ շարքի ցանկացած այլ բջիջ, այնուհետև կարող եք այն քաշել այնքան բջիջ, որքան անհրաժեշտ է.
Այս լուծումը կարող է օգտագործվել նաև որոշակի օրինաչափության տողեր գտնելու համար : Ենթադրելով, որ վավեր են միայն գծիկով առանձնացված 2 նիշերից բաղկացած 2 խմբերից բաղկացած ID-ները, կարող եք օգտագործել «??-??" նիշերի տող՝ դրանք նույնականացնելու համար.
=IF(COUNTIF(A2, "??-??"), "Valid", "")
Ինչպես է աշխատում այս բանաձևը.
Տրամաբանական փորձարկման համար ԵԹԵ, մենք օգտագործում ենք COUNTIF ֆունկցիան, որը հաշվում է նշված նիշին համապատասխանող բջիջների քանակըլար. Քանի որ չափանիշների տիրույթը մեկ բջիջ է (A2), արդյունքը միշտ 1 է (համընկնում է գտնվել) կամ 0 (համընկնում չի գտնվել): Հաշվի առնելով, որ 1-ը հավասար է TRUE-ի, իսկ 0-ը` FALSE-ի, բանաձևը վերադարձնում է «Valid» (արժեքը_if_true), երբ հաշվարկը 1 է և դատարկ տողը (value_if_false), երբ հաշվարկը 0 է:
IF ISNUMBER SEARCH բանաձևը մասնակի համար: համընկնում է
Excel IF-ին ստիպելու մեկ այլ եղանակ՝ տեքստի մասնակի համընկնումով աշխատելու համար, տրամաբանական թեստի մեջ կամ FIND կամ SEARCH ֆունկցիան ներառելն է: Տարբերությունն այն է, որ FIND-ը մեծատառերի նկատմամբ զգայուն է, մինչդեռ SEARCH-ը՝ ոչ:
Այսպիսով, կախված նրանից, թե արդյոք ցանկանում եք փոքրատառերն ու մեծատառերը դիտարկել որպես նույն կամ տարբեր նիշեր, այս բանաձևերից մեկը կգործի.
Մատակի համընկնման համար>
Տառատառերի անզգույշ բանաձև՝
IF(ISNUMBER(SEARCH(" տեքստ ", բջիջ )), value_if_true, value_if_false )Փոքրատառերի զգայուն բանաձև մասնակի համընկնման համար.
IF(ISNUMBER(FIND(" տեքստ ", բջիջ )), value_if_true, value_if_false )Քանի որ երկու գործառույթներն էլ նախատեսված են «բջիջը պարունակում է» տեսակի համընկնում կատարելու համար, այս դեպքում նիշերը իրականում անհրաժեշտ չեն:
Օրինակ՝ «A» կամ «a» պարունակող ID-ներ հայտնաբերելու համար: , բանաձևը հետևյալն է.
=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")
Միայն «A» մեծատառը որոնելու և «a»-ն անտեսելու համար բանաձևը հետևյալն է.
=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")
Ստորև բերված սքրինշոթում B6-ում կարող եք դիտարկել արդյունքի տարբերությունը.
Ինչպես է աշխատում այս բանաձևը.
-ի սիրտըբանաձևով կա ISNUMBER և SEARCH (կամ FIND) համադրություն.
ISNUMBER(SEARCH("A", A2))
SEARCH ֆունկցիան փնտրում է նշված տեքստը («A» այս օրինակում) և վերադարձնում է իր դիրքը ներսում: A2 տող: Եթե տեքստը չի գտնվել, #VALUE սխալ է վերադարձվում: Քանի որ և՛ SEARCH-ը, և՛ FIND-ը նախատեսված են «բջիջը պարունակում է» տեսակի համընկնումը կատարելու համար, այս դեպքում նիշերը իրականում անհրաժեշտ չեն:
ISNUMBER ֆունկցիան թիվը փոխակերպում է TRUE-ի և ցանկացած այլ արժեք, ներառյալ սխալը, FALSE-ի: . Տրամաբանական արժեքը ուղղակիորեն գնում է IF-ի տրամաբանական թեստին: Մեր դեպքում, A2-ը պարունակում է «A», ուստի ISNUMBER-ը վերադարձնում է TRUE:
IF(TRUE, "Yes", "No")
Արդյունքում IF-ը վերադարձնում է value_if_true արգումենտի համար սահմանված արժեքը, որը «Այո»:
Excel IF OR հայտարարություն wildcards-ով
Անհրաժե՞շտ է բացահայտել բջիջները, որոնք պարունակում են տեքստային տողերից մեկը: Այս դեպքում կարող եք համատեղել դասական ԵԹԵ ԿԱՄ հայտարարությունը վերը քննարկված COUNTIF կամ ISNUMBER SEARCH բանաձևի հետ:
Օրինակ՝ A2-ում «aa» ԿԱՄ «bb» որոնելու համար՝ անտեսելով տառի մեծատառը և վերադարձնել « Այո», եթե որևէ մեկը գտնվի, օգտագործեք հետևյալ բանաձևերից մեկը՝
=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")
կամ
=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")
Երկու COUNTIF ֆունկցիաների գումարումը նույնպես կաշխատի: Այս դեպքում գումարած նշանն աշխատում է OR օպերատորի պես.
=IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")
Բանաձևում կոշտ կոդավորվող նիշերի տողերի փոխարեն, դուք կարող եք դրանք մուտքագրել առանձին բջիջներում, ասենք D2 և F2, ինչպես ցույց է տրված: ստորև ներկայացված սքրինշոթում: Խնդրում ենք նկատի ունենալ, որ սրանքբջիջների հղումները փակվում են $ նշանով, որպեսզի բանաձևը ճիշտ պատճենվի ստորև բերված բջիջներում. , բայց եթե դուք փնտրում եք 3 կամ ավելի, դրանք չափազանց երկար կլինեն: Այս դեպքում տրամաբանական է առաջադրանքին այլ կերպ մոտենալը.
Տրամադրել բազմաթիվ ենթատողեր SEARCH ֆունկցիային զանգվածի հաստատունով, հաշվել վերադարձված թվերը և ստուգել, թե արդյոք արդյունքը զրոյից մեծ է (ինչը կնշանակի. եթե գտնվի ենթատողերից առնվազն մեկը):
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
Այսպիսով դուք կստանաք ճիշտ նույն արդյունքը ավելի կոմպակտ բանաձեւով.
Excel IF AND բանաձևը wildcards-ով
Երբ ցանկանում եք ստուգել, թե արդյոք բջիջը պարունակում է երկու կամ ավելի տարբեր ենթատողեր, ամենահեշտ ձևը տրամաբանական թեստի համար wildcards-ով COUNTIFS ֆունկցիան օգտագործելն է:
Ենթադրենք, որ ցանկանում եք տեղադրել A սյունակի բջիջները, որոնք պարունակում են և՛ «b», և՛ «2»: Դա անելու համար օգտագործեք «*b*» և «*2*»՝ COUNTIFS-ի չափանիշների համար և A2՝ չափանիշների տիրույթի համար.
=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")
Մեկ այլ եղանակ է IF AND բանաձևը միասին օգտագործելը: ISNUMBER SEARCH-ով.
=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")
Չնայած մենք այս բանաձևում չենք ներառում նիշերի որևէ նիշ, այն աշխատում է այնպես, ինչպես որոնել երկու նիշերի տողեր («*b*» և «*2*»: ) նույն բջիջում։
Իհարկե, ոչինչ չի խանգարում ձեզ մուտքագրել որոնման արժեքները նախապես սահմանված բջիջներում, մեր դեպքում՝ D2 և F2, և մատակարարելբջիջների հղումները բանաձևին.
=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")
Եթե նախընտրում եք օգտագործել ավելի կոմպակտ բանաձևեր, որտեղ հնարավոր է, ապա ձեզ ավելի լավ դուր կգա զանգվածի մշտական մոտեցումը: IF COUNT SEARCH բանաձևը շատ նման է նախորդ օրինակին, բայց քանի որ այս անգամ երկու ենթատողերը պետք է հայտնվեն A2-ում, մենք ստուգում ենք՝ արդյոք թիվը հավասար է 2-ի:
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
<17:>
Սրանք Excel-ում IF հայտարարության մեջ wildcard-ի օգտագործման հիմնական մեթոդներն են: Եթե դուք գիտեք այլ լուծումներ, այլ օգտվողներ, անշուշտ, կգնահատեն, եթե կիսվեք ձեր փորձով մեկնաբանություններում: Ես շնորհակալություն եմ հայտնում կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:
Ներբեռնելու համար վարժեցեք աշխատանքային գրքույկը
Excel IF wildcard բանաձևի օրինակներ (.xlsx ֆայլ)