Функцията IF на Excel е като швейцарското армейско ножче на функциите на Excel. Наистина, той се използва в много ситуации. Често можете да използвате функцията IF на Excel с други функции. IF, структурно, е лесен за разбиране. Функцията IF на Excel приема три аргумента:
- Тест, който дава верен или неверен отговор. Например, тестът „е стойността в клетка A5 е равна на стойността в клетка A8“ може да има само един от двата възможни отговора, да или не. В компютърните разговори това е вярно или невярно. Това не е изчисление, имайте предвид, а сравнение.
- Данните, които трябва да бъдат върнати от функцията IF, ако тестът е верен.
- Данните, които трябва да бъдат върнати от функцията IF, ако тестът е фалшив.
Звучи достатъчно лесно. Ето няколко примера:
Функция |
Коментирайте |
=IF(D10>D20, D10, D20) |
Ако стойността в D10 е по-голяма от стойността в D20, стойността в D10 се връща, тъй като тестът е верен. Ако стойността в D10 не е по-голяма от — тоест по-малка или равна на — стойността в D20, се връща стойността в D20. Ако стойностите в D10 и D20 са равни, тестът връща false и стойността в D20 се връща. |
=IF(D10>D20, "Добра новина!", "Лоши новини!") |
Ако стойността в D10 е по-голяма от стойността в D20, текстът „Добра новина!“ се връща. В противен случай „Лоши новини!“ се връща. |
=IF(D10>D20, "", "Лоши новини!") |
Ако стойността в D10 е по-голяма от стойността в D20, нищо не се връща. В противен случай „Лоши новини!“ се връща. Имайте предвид, че вторият аргумент е двойка празни кавички. |
=IF(D10>D20, "Добра новина!", "") |
Ако стойността в D10 е по-голяма от стойността в D20, „Добра новина!“ се връща. В противен случай нищо не се връща. Имайте предвид, че третият аргумент са празни кавички. |
Важен аспект, който трябва да се отбележи при използването на IF: оставянето на втория или третия аргумент да не връща нищо. Връща се празен низ и най-добрият начин да направите това е да поставите две двойни кавички заедно без нищо в средата. Резултатът е, че клетката, съдържаща функцията IF, остава празна.
Следователно IF ви позволява да настроите два резултата за връщане: един за когато тестът е верен и друг за когато тестът е фалшив. Всеки резултат може да бъде число, някакъв текст, функция или формула или дори празен.
Както виждате в предходния пример, обичайната употреба на IF е да се види как две стойности се сравняват и връщат една или друга стойност, в зависимост от това как сте настроили теста в първия аргумент.
IF често се използва като проверка за валидиране за предотвратяване на грешки . Да предположим, че имате финансов работен лист, който използва променлив процент в своите изчисления. Потребителят трябва да въвежда този процент всеки ден, но никога не трябва да е по-голям от 10 процента. За да предотвратите вероятността от грешки, можете да използвате функцията IF за показване на съобщение за грешка в съседната клетка, ако погрешно въведете стойност извън разрешения диапазон. Ако приемем, че процентът е въведен в клетка A3, ето необходимата функция IF:
=АКО(A3>.1, "ГРЕШКА: % в A3 Е ТВЪРДЕ ГОЛЯМ", "")
Следното изображение показва как IF може да се използва добре в бизнес приложение. Измислен магазин - Ken's Guitars (донякъде бърз, не мислите ли?) - следи инвентара в работен лист на Excel.
Следете инвентара в магазина за китари.
Колона D показва нивата на запасите, а колона E показва нивата на пренареждане. Работи по следния начин: Когато нивото на инвентара на даден продукт е същото или по-малко от нивото на повторна поръчка, е време да поръчате повече от продукта. Клетките в колона F съдържат формула.
Формулата на Excel в клетка F8 е =IF(D8<>. Тя казва, че ако броят на китарите Stratoblaster 9000 на склад е същият или по-малък от нивото на пренареждане, върнете Order. Ако броят на склад е по-голям от нивото на препоръчване , не връща нищо. Нищо не се връща, защото три са на склад и нивото на пренареждане е две. В следващия ред броят на летящите Xs е равен на нивото на пренареждане; следователно клетка F9 показва Поръчка.
Използването на функцията IF на Excel е лесно. Следвай тези стъпки:
Въведете две стойности в работен лист. Тези стойности трябва да имат някакво значение за вас, като примера за нивата на инвентара, показан по-горе.
Щракнете върху клетката, където искате да се покаже резултатът.
Въведете =IF(, за да стартирате функцията.
Решете какъв тест искате да извършите. Можете да видите дали двете стойности са равни; дали единият е по-голям от другия; дали изваждането на едно от другото е по-голямо, равно или по-малко от 0; и така нататък. Например, за да определите дали първата стойност е равна на втората стойност, щракнете върху първата клетка (или въведете нейния адрес), въведете знак за равенство (=) и след това щракнете върху втората клетка (или въведете нейния адрес).
Въведете запетая (,).
Въведете резултата, който трябва да се появи, ако тестът е верен .
Например въведете „Стойностите са равни“. Текстът трябва да бъде поставен в кавички.
Въведете запетая (,).
Въведете резултата, който трябва да се появи, ако тестът е фалшив . Например въведете „Стойностите не са равни“ .
Въведете a ) и натиснете Enter.
Функцията на Excel IF може да направи много повече. Вложените функции IF ви дават много по-голяма гъвкавост при извършване на тестове върху данните от вашия работен лист. Необходимо е малко постоянство, за да преминете през това. Вложено означава, че можете да поставите IF функция в друга IF функция. Това означава, че вътрешният IF се поставя там, където отива истинският или фалшивият аргумент във външния IF (или дори се използват вътрешни IF и за двата аргумента). Защо бихте направили това?
Ето един пример: онази вечер решихме къде да отидем за вечеря. обмисляхме италиански и решихме, че ако отидем на италианско място и то сервира маникоти, ще имаме маникоти. Иначе решихме да хапнем пица.
Логично това решение изглежда така:
Ако ресторантът е италиански, тогава ако ресторантът сервира маникоти, тогава ще имаме маникоти, иначе ще имаме пица
Това много прилича на програмен код. Операторите End If са изключени нарочно, за да се предотврати объркване, тъй като функцията IF няма еквивалентна стойност. Това е! Обърнете внимание, че вътрешният оператор IF има резултат както за верните, така и за неверните възможности. Външният IF не го прави. Ето структурата като вложени оператори на Excel IF:
=IF(Ресторант=италиански, IF(Ресторант сервира маникоти, "маникоти", "пица"), "")
Ако ресторантът не беше италиански, нямаше значение какъв е изборът (както е посочено от третия аргумент на външния IF е празен).
Можете да вложите до 64 оператора IF, въпреки че нещата вероятно ще станат много сложни, след като надхвърлите 4 или 5.
Можете да приложите вложен оператор IF, за да увеличите сложността на работния лист за инвентара отгоре. Следното изображение има допълнителна колона: Горещ елемент. Горещият артикул може да има три форми:
- Ако нивото на инвентара е наполовина или по-малко от нивото на повторна поръчка и датата на последната продажба е в рамките на последните 30 дни, това е Горещ артикул . Гледната точка е, че за 30 дни или по-малко запасите са продадени до половината или по-малко от нивото на пренареждане. Това означава, че инвентарът се върти с бързи темпове.
- Ако нивото на инвентара е наполовина или по-малко от нивото на повторна поръчка и датата на последната продажба е в рамките на последните 31–60 дни, това е Топъл артикул . Гледната точка е, че за 31–60 дни наличността се продаде наполовина или по-малко от нивото на пренареждане. Това означава, че инвентарът се преобръща със среден темп.
- Ако нито едно от предходните две условия не е изпълнено, на артикула не се приписва специален статус.
Търся горещи артикули от инвентара.
Има горещи артикули, има и топли артикули. И двете трябва да отговарят на общия критерий, че инвентарът е 50 процента или по-малко от нивото на пренареждане. Едва след като това първо условие е изпълнено, вторият критерий - броят дни от последната поръчка - влиза в действие. Звучи ми като вложен IF! Ето формулата в клетка G8:
=АКО(D8<><><>
Добре, поемете дъх.
Външният IF тества дали инвентарът в колона D е равен или по-малък от половината (50 процента) от нивото на пренареждане. Частта от формулата, която прави това, е =IF(D8<>. Този тест, разбира се, дава верен или неверен отговор. Ако е невярен, се взема фалшивата част от външния IF (което е просто празен низ намира в края на формулата: ,"")).
Това оставя цялата средна част да премине през нея. Остани с него!
Ако първият тест е верен, се взема истинската част от външния IF. Случва се така, че тази истинска част е друга IF функция:
АКО(СЕГА()-C8<><>
Първият аргумент на Excel на вътрешния IF проверява дали броят на дните от датата на последната поръчка (в колона C) е по-малък или равен на 30. Правите това, като изваждате датата на последната поръчка от днес, както е получено от функцията СЕГА .
Ако тестът е верен и датата на последната поръчка е в рамките на последните 30 дни, ГОРЕЩО! се връща. Наистина горещ продавач! Ако тестът е фалшив... чакайте, какво е това? Друга функция АКО! Да: IF вътре в IF вътре в IF. Ако броят на дните от датата на последната поръчка е по-голям от 30, следващият вложен IF тества дали броят на дните е в рамките на последните 60 дни:
АКО(СЕГА()-C8<>
Ако този тест е верен, топло! се връща. Ако тестът е фалшив, нищо не се връща.
Няколко ключови точки за това IF изявление на три нива:
- IF, който тества дали броят на изминалите дни е 30 или по-малко, има стойност за връщане, ако е истина (ГОРЕЩО!) и стойност за връщане за false (каквото и да е върнато от следващия вложен IF).
- Външният IF и най-вътрешният IF не връщат нищо, когато тестът им е фалшив.
- На пръв поглед тестът за 60 или по-малко дни също ще улови дата, която е 30 дни или по-малко от датата на последната поръчка. Това всъщност не е това, което трябва да бъде. Тестът трябва да бъде дали броят на изминалите дни е 60 или по-малко, но повече от 30. Всъщност не е нужно да го изписвате по този начин, защото формулата стигна до точката на тестване за 60-дневния праг само защото 30-те -дневен праг вече е неуспешен. Трябва да се внимава за тези неща!