Функция IF в Excel: примери за формули за текст, числа, дати, празни полета

  • Споделя Това
Michael Brown

В тази статия ще научите как да създавате изявление IF в Excel за различни видове стойности, както и как да създавате множество изявления IF.

Функцията IF е една от най-популярните и полезни функции в Excel. Обикновено използвате оператора IF, за да проверите условие и да върнете една стойност, ако условието е изпълнено, и друга стойност, ако условието не е изпълнено.

В този урок ще се запознаем със синтаксиса и често срещаните употреби на функцията IF в Excel, а след това ще разгледаме по-подробно примери за формули, които, надяваме се, ще бъдат полезни както за начинаещи, така и за опитни потребители.

    Функция IF в Excel

    IF е една от логическите функции, която оценява определено условие и връща една стойност, ако условието е TRUE, и друга стойност, ако условието е FALSE.

    Синтаксисът на функцията IF е следният:

    IF(logical_test, [value_if_true], [value_if_false])

    Както виждате, IF приема общо 3 аргумента, но само първият е задължителен, а другите два са незадължителни.

    Логически_тест (задължително) - условието, което ще се тества. Може да бъде оценено като TRUE или FALSE.

    Стойност_if_true (незадължително) - стойността, която се връща, когато логическият тест се оценява като TRUE, т.е. условието е изпълнено. value_if_false трябва да бъде дефиниран аргумент.

    Стойност_if_false (незадължително) - стойността, която се връща, когато логическият тест се оценява като FALSE, т.е. условието не е изпълнено. value_if_true трябва да бъде зададен аргумент.

    Основна формула IF в Excel

    Създаване на прост Ако тогава в Excel, ето какво трябва да направите:

    • За logical_test , напишете израз, който връща или TRUE, или FALSE. За тази цел обикновено се използва един от логическите оператори.
    • За value_if_true , посочете какво да се върне, когато логическият тест се оцени като TRUE.
    • За value_if_false , посочете какво да се върне, когато логическият тест се оцени като FALSE. Въпреки че този аргумент не е задължителен, препоръчваме винаги да го конфигурирате, за да избегнете неочаквани резултати. За подробно обяснение вижте Excel IF: неща, които трябва да знаете.

    Като пример нека напишем много проста формула IF, която проверява стойността в клетка А2 и връща "Добре", ако стойността е по-голяма от 80, и "Лошо" в противен случай:

    =IF(B2>80, "Добър", "Лош")

    Тази формула се пренася към C2 и след това се копира надолу до C7:

    В случай че искате да върнете стойност само когато условието е изпълнено (или не е изпълнено), а в противен случай - нищо, тогава използвайте празен низ ("") за аргумента "неопределен". Например:

    =IF(B2>80, "Добър", "")

    Тази формула ще върне "Добре", ако стойността в А2 е по-голяма от 80, а в противен случай - празна клетка:

    Формула на Excel Ако тогава: неща, които трябва да знаете

    Въпреки че последните два параметъра на функцията IF не са задължителни, формулата ви може да доведе до неочаквани резултати, ако не познавате логиката, на която се основава.

    Ако е пропусната стойност_if_true

    Ако вторият аргумент на формулата IF на Excel е пропуснат (т.е. има две последователни запетаи след логическия тест), ще получите нула (0), когато условието е изпълнено, което е безсмислено в повечето случаи. Ето един пример за такава формула:

    =IF(B2>80, , "Bad")

    За да върнете вместо това празна клетка, въведете празен низ ("") за втория параметър, както е показано по-долу:

    =IF(B2>80, "", "Bad")

    Снимката на екрана по-долу показва разликата:

    Ако е пропусната стойност_if_false

    Ако се пропусне третият параметър на IF, ще се получат следните резултати, когато логическият тест се оцени като FALSE.

    Ако има само затваряща скоба след value_if_true , функцията IF ще върне логическата стойност FALSE. Доста неочаквано, нали? Ето един пример за такава формула:

    =IF(B2>80, "Добър")

    Въвеждане на запетая след символа value_if_true ще принуди Excel да върне 0, което също няма особен смисъл:

    =IF(B2>80, "Добър",)

    Най-разумният подход е да се използва низ с нулева дължина (""), за да се получи празна клетка, когато условието не е изпълнено:

    =IF(B2>80, "Добър", "")

    Съвет. За да върнете логическа стойност, когато зададеното условие е изпълнено или не е изпълнено, задайте TRUE за value_if_true и FALSE за value_if_false За да бъдат резултатите булеви стойности, които други функции на Excel могат да разпознаят, не затваряйте TRUE и FALSE в двойни кавички, тъй като това ще ги превърне в нормални текстови стойности.

    Използване на функцията IF в Excel - примери за формули

    След като вече сте запознати със синтаксиса на функцията IF, нека разгледаме няколко примера за формули и да се научим как да използваме Ако тогава твърдения в реални ситуации.

    Функция IF на Excel с числа

    За да съставите оператор IF за числа, използвайте логически оператори, като например:

    • Равно на (=)
    • Не е равно на ()
    • По-голямо от (>)
    • По-голямо от или равно на (>=)
    • По-малко от (<)
    • По-малко от или равно на (<=)

    По-горе вече видяхте пример за такава формула, която проверява дали дадено число е по-голямо от дадено число.

    А ето и формула, която проверява дали дадена клетка съдържа отрицателно число :

    =IF(B2<0, "Invalid", "")

    За отрицателни числа (които са по-малки от 0) формулата връща "Невалидно"; за нули и положителни числа - празна клетка.

    Функция IF на Excel с текст

    Обикновено за текстови стойности се пише оператор IF, като се използва оператор "равно на" или "не е равно на".

    Например следната формула проверява Статус на доставка в B2, за да се определи дали е необходимо действие или не:

    =IF(B2="доставено", "Не", "Да")

    Преведена на обикновен английски език, формулата гласи: върнете "Не", ако B2 е равно на "доставено", "Да" в противен случай.

    Друг начин за постигане на същия резултат е да се използва операторът "не е равно на" и да се разменят value_if_true и value_if_false стойности:

    =IF(C2 "доставен", "Да", "Не")

    Забележки:

    • Когато използвате текстови стойности за параметрите на IF, не забравяйте винаги да ги затваряте в двойни кавички .
    • Подобно на повечето други функции на Excel, По подразбиране IF е безразличен към големи и малки букви. В горния пример не се прави разлика между "delivered", "Delivered" и "DELIVERED".

    Изречение IF за текстови стойности с отчитане на малки и големи букви

    За да третирате главните и малките букви като различни символи, използвайте IF в комбинация с функцията EXACT, която отчита малките и големите букви.

    Например, за да върнете "Не" само когато B2 съдържа "DELIVERED" (главна буква), трябва да използвате тази формула:

    =IF(EXACT(B2, "DELIVERED"), "No", "Yes")

    Ако клетката съдържа частичен текст

    В случаите, когато искате да базирате условието на частично съвпадение вместо точно съвпадение, решението, което веднага ви идва наум, е да използвате заместващи символи в логическия тест. Този прост и очевиден подход обаче няма да работи. Много функции приемат заместващи символи, но за съжаление IF не е една от тях.

    Работещо решение е използването на IF в комбинация с ISNUMBER и SEARCH (без значение на големи и малки букви) или FIND (без значение на големи и малки букви).

    Например, ако се изисква действие "Не" както за елементите "Доставено", така и за елементите "Изпратено за доставка", следната формула ще бъде полезна:

    =IF(ISNUMBER(SEARCH("deliv", B2)), "No", "Yes")

    За повече информация, моля, вижте:

    • Изказване на Excel IF за частично съвпадение на текст
    • Ако клетката съдържа, тогава

    Изявление на Excel IF с дати

    На пръв поглед може да изглежда, че формулите IF за дати са сходни с декларациите IF за числови и текстови стойности. За съжаление, това не е така. За разлика от много други функции, IF не разпознава дати в логически тестове и ги интерпретира като обикновени текстови низове. С други думи, не можете да предоставите дата под формата на "1/1/2020" или ">1/1/2020". За да накарате функцията IF да разпознае дата, трябва да я обвиете вфункцията DATEVALUE.

    Например, ето как можете да проверите дали дадена дата е по-голяма от друга дата:

    =IF(B2>DATEVALUE("7/18/2022"), "Очаквайте скоро", "Завършено")

    Тази формула оценява датите в колона В и връща "Очаквайте скоро", ако играта е планирана за 18 юли 2022 г. или по-късно, и "Завършена" за предишна дата.

    Разбира се, нищо не ви пречи да въведете целевата дата в предварително определена клетка (например E2) и да направите препратка към тази клетка. Само не забравяйте да заключите адреса на клетката със знака $, за да я превърнете в абсолютна препратка. Например:

    =IF(B2>$E$2, "Очаквайте скоро", "Завършено")

    Сравняване на дадена дата с текуща дата , използвайте функцията TODAY(). Например:

    =IF(B2>TODAY(), "Очаквайте скоро", "Завършено")

    Изявление IF на Excel за празни и непразни полета

    Ако искате по някакъв начин да маркирате данните си въз основа на това, че определена клетка (клетки) е празна или не е празна, можете да:

    • Използвайте функцията IF заедно с ISBLANK, или
    • Използвайте логическите изрази (равно на празно) или "" (не е равно на празно).

    В таблицата по-долу е обяснена разликата между тези два подхода с примери за формули.

    Логически тест Описание Пример за формула
    Празни клетки =""

    Изчислява се като TRUE, ако дадена клетка е визуално празна, дори ако съдържа низ с нулева дължина .

    В противен случай се оценява като FALSE.

    =IF(A1="", 0, 1)

    Връща 0, ако A1 е визуално празен. В противен случай връща 1.

    Ако A1 съдържа празен низ (""), формулата връща 0. ISBLANK()

    Изчислява се на TRUE, ако клетката съдържа абсолютно нищо - без формули, без интервали, без празни низове.

    В противен случай се оценява на FALSE.

    =IF(ISBLANK(A1), 0, 1)

    Връща 0, ако A1 е абсолютно празен, 1 в противен случай.

    Ако A1 съдържа празен низ (""), формулата връща 1. Клетки, които не са чисти "" Оценява се като TRUE, ако клетката съдържа някакви данни. В противен случай се оценява като FALSE.

    Клетки с низове с нулева дължина се считат за празен . =IF(A1"", 1, 0)

    Връща 1, ако A1 не е празен; в противен случай - 0.

    Ако A1 съдържа празен низ, формулата връща 0. ISBLANK()=FALSE Оценява се като TRUE, ако клетката не е празна. В противен случай се оценява като FALSE.

    Клетки с низове с нулева дължина се считат за непразничен . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Работи по същия начин като горната формула, но връща 1, ако A1 съдържа празен низ.

    А сега нека видим празните и непразните оператори IF в действие. Да предположим, че в колона B има дата само ако вече е изиграна игра. За да маркирате завършените игри, използвайте една от тези формули:

    =IF(B2="", "", "Завършено")

    =IF(ISBLANK(B2), "", "Завършено")

    =IF($B2"", "Завършено", "")

    =IF(ISBLANK($B2)=FALSE, "Completed", "")

    В случай че в тестваните клетки няма низове с нулева дължина, всички формули ще дадат абсолютно същите резултати:

    Проверка дали две клетки са еднакви

    За да създадете формула, която проверява дали две клетки съвпадат, сравнете клетките, като използвате знака за равенство (=) в логическия тест IF. Например:

    =IF(B2=C2, "Същият резултат", "")

    За да проверите дали двете клетки съдържат един и същ текст, включително и големината на буквите, направете формулата си IF чувствителна към големината на буквите с помощта на функцията EXACT.

    Например, за да се сравнят паролите в A2 и B2 и да се върне "Съвпадение", ако двата низа са напълно еднакви, "Не съвпада" в противен случай, формулата е:

    =IF(EXACT(A2, B2), "Съвпадение", "Не съвпада")

    Ако, тогава формула за изпълнение на друга формула

    Във всички предишни примери изявлението IF на Excel връща стойности. Но то може също така да извърши определено изчисление или да изпълни друга формула, когато е изпълнено или не е изпълнено определено условие. За тази цел вградете друга функция или аритметичен израз в изявлението value_if_true и/или value_if_false аргументи.

    Например, ако B2 е по-голям от 80, ще го умножим по 7%, а в противен случай - по 3%:

    =IF(B2>80, B2*7%, B2*3%)

    Множество изявления IF в Excel

    По същество има два начина за писане на множество оператори IF в Excel:

    • Влагане на няколко функции IF една в друга
    • Използване на функцията AND или OR в логическия тест

    Вложен оператор IF

    Функциите с вложен IF ви позволяват да поставите няколко оператора IF в една и съща клетка, т.е. да тествате няколко условия в рамките на една формула и да връщате различни стойности в зависимост от резултатите от тези тестове.

    Да предположим, че целта ви е да определяте различни бонуси в зависимост от резултата:

    • Над 90 години - 10%
    • 90 до 81 - 7%
    • 80 към 70 - 5%
    • По-малко от 70 - 3%

    За да изпълните задачата, трябва да напишете 3 отделни функции IF и да ги вложите една в друга по следния начин:

    =IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))

    За повече примери на формули вижте:

    • Вложена формула IF в Excel
    • Вложена функция IF: примери, най-добри практики и алтернативи

    Изявление на Excel IF с множество условия

    За да оцените няколко условия с логиката AND или OR, вградете съответната функция в логическия тест:

    • AND - връща TRUE, ако всички условията са изпълнени.
    • ИЛИ - ще върне TRUE, ако всеки е изпълнено някое от условията.

    Например, за да получите отговор "Издържал", ако и двата резултата в B2 и C2 са по-високи от 80, формулата е следната:

    =IF(AND(B2>80, C2>80), "Pass", "Fail")

    Формулата за получаване на "Pass", ако някой от двата резултата е по-висок от 80, е следната:

    =IF(OR(B2>80, C2>80), "Pass", "Fail")

    За повече информация посетете:

    • Формула IF AND в Excel
    • Функцията IF OR на Excel с примери за формула

    Ако има грешка в Excel

    От Excel 2007 нататък имаме специална функция, наречена IFERROR, за проверка на формулите за грешки. В Excel 2013 и по-нови версии има и функция IFNA за обработка на грешки #N/A.

    И все пак може да има някои обстоятелства, при които използването на функцията IF заедно с ISERROR или ISNA е по-добро решение. По принцип IF ISERROR е формулата, която трябва да се използва, когато искате да върнете нещо, ако има грешка, и нещо друго, ако няма грешка. Функцията IFERROR не може да направи това, тъй като винаги връща резултата от основната формула, ако не е грешка.

    Например, за да сравните всеки резултат в колона B с първите 3 резултата в E2:E4 и да върнете "Да", ако е намерено съвпадение, и "Не" в противен случай, въведете тази формула в C2 и след това я копирайте надолу до C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Не", "Да" )

    За повече информация, моля, вижте IF ISERROR формула в Excel.

    Надявам се, че нашите примери са ви помогнали да се запознаете с основите на Excel IF. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Практическа работна тетрадка

    Изявление IF в Excel - примери за формули (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.