Изјава на Excel IF за делумно совпаѓање на текстот (џокер)

  • Споделете Го Ова
Michael Brown

Се обидувате да изградите изјава IF со текст со џокер, но не успева секој пат? Проблемот не е во вашата формула, туку во самата функција - Excel IF не поддржува знаци со џокер. Сепак, постои начин да го натерате да работи за делумно совпаѓање на текстот, а ова упатство ќе ве научи како.

Секогаш кога сакате да извршите делумно или нејасно совпаѓање во Excel, најочигледното решение е да користат џокери. Но, што ако одредена функција што треба да ја користите не поддржува знаци со џокери? За жал, Excel IF е една од таквите функции. Ова е особено разочарувачки имајќи предвид дека другите „условни“ функции како што се COUNTIF, SUMIF и AVERAGEIFS совршено добро функционираат со џокери.

За среќа, тоа не е пречката што може да го спречи креативниот корисник на Excel :) Со комбинирање на IF со други функции, можете да го присилите да оцени делумно совпаѓање и да добиете убава алтернатива на формулата за џокер на Excel IF.

    Зошто не работи функцијата Excel IF со џокер

    Во табелата со примероци подолу, претпоставувајќи дека сакате да проверите дали ИД во првата колона ја содржат буквата „А“. Ако се најде - прикажете „Да“ во колоната Б, ако не - прикажете „Не“.

    Се чини дека вклучувањето на текстот со букви во логичкиот тест би било лесно решение:

    =IF(A2="*a*","Yes", "No")

    Но, за жал, тоа не функционира. Формулата враќа „Не“ за сите ќелии, дури и за оние што содржат „А“:

    Зоштоисказот со џокер IF не успее? Од сите појави, Excel не препознава џокери кои се користат со знак за еднаквост или други логички оператори. Гледајќи подетално на списокот на функции кои поддржуваат џокери, ќе забележите дека нивната синтакса претпоставува дека текстот на џокер се појавува директно во аргумент како овој:

    =COUNTIF(A2:A10, "*a*")

    Excel IF содржи делумен текст

    Сега кога ја знаете причината зошто формулата за џвакање 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 знаци одделени со цртичка, можете да го користите "??-??" низа со џокер за да ги идентификувате:

    =IF(COUNTIF(A2, "??-??"), "Valid", "")

    Како функционира оваа формула:

    За логички тест на АКО, ја користиме функцијата COUNTIF која го брои бројот на ќелии што одговараат на наведената џокерниза. Бидејќи опсегот на критериуми е единечна ќелија (A2), резултатот е секогаш 1 (совпаѓањето е пронајдено) или 0 (совпаѓањето не е пронајдено). Имајќи предвид дека 1 е еднакво на TRUE и 0 на FALSE, формулата враќа „Valid“ (value_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 )

    Бидејќи и двете функции се дизајнирани да вршат совпаѓање од типот „ќелија содржи“, во овој случај навистина не се потребни џокери.

    На пример, за откривање идентификатори што содржат „А“ или „а“ , формулата е:

    =IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")

    За да пребарувате само големо „А“ и да го игнорирате „а“, формулата е:

    =IF(ISNUMBER(FIND("A", A2)), "Yes", "No")

    Во B6 на екранот подолу, можете да ја набљудувате разликата во резултатот:

    Како функционира оваа формула:

    На срцето наформулата, постои комбинација од ISNUMBER и SEARCH (или FIND):

    ISNUMBER(SEARCH("A", A2))

    Функцијата SEARCH го бара наведениот текст („A“ во овој пример) и ја враќа својата позиција во низа во А2. Ако текстот не се најде, се враќа грешка #VALUE. Бидејќи и SEARCH и FIND се дизајнирани да вршат тип на совпаѓање „ќелијата содржи“, џокерите не се навистина потребни во овој случај.

    Функцијата ISNUMBER конвертира број во TRUE и која било друга вредност, вклучително и грешка во FALSE . Логичката вредност оди директно на логичкиот тест на IF. Во нашиот случај, A2 содржи „A“, така што ISNUMBER враќа TRUE:

    IF(TRUE, "Yes", "No")

    Како резултат, IF ја враќа вредноста поставена за аргументот value_if_true , што е „Да“.

    Excel IF OR изјава со џокери

    Треба да се идентификуваат ќелиите што содржат една од текстуалните низи со букви? Во овој случај, можете да го комбинирате класичниот IF OR со формулата COUNTIF или ISNUMBER SEARCH дискутирана погоре.

    На пример, да пребарувате за „aa“ ИЛИ „bb“ во A2, игнорирајќи ја буквата и да вратите „ Да" ако се најде некоја од двете, користете една од овие формули:

    =IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")

    или

    =IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")

    Додавањето две функции COUNTIF исто така ќе работи. Во овој случај, знакот плус работи како операторот ИЛИ:

    =IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")

    Наместо стрингови со хардкодски знаци во формулата, можете да ги внесете во посебни ќелии, да речеме D2 и F2, како што е прикажано во скриншот подолу. Ве молиме забележете дека овиереференците на ќелиите се заклучени со знакот $, така што формулата правилно се копира во долунаведените ќелии:

    =IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")

    Горените формули работат добро за 2 делумно совпаѓања , но ако барате 3 или повеќе, тие би станале премногу долги. Во овој случај, разумно е да се пристапи на задачата поинаку:

    Обезбедете повеќе поднизи на функцијата SEARCH во константа на низата, избројте ги вратените броеви и проверете дали резултатот е поголем од нула (што би значело дека барем една од поднизите ако се најде):

    =IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")

    На овој начин, ќе го добиете токму истиот резултат со покомпактна формула:

    Excel IF AND формула со џокери

    Кога сакате да проверите дали ќелијата содржи две или повеќе различни поднизи, најлесниот начин е да ја користите функцијата COUNTIFS со џокери за логичкиот тест.

    Да претпоставиме дека сакате да ги лоцирате ќелиите во колоната А што ги содржат и „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", "")

    Ова се главните методи за користење на џокер во изјавата IF во Excel. Ако знаете некои други решенија, другите корисници сигурно ќе ве ценат ако го споделите вашето искуство во коментари. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    Вежбајте ја работната книга за преземање

    Примери на формула за џокери на Excel (датотека .xlsx)

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.