Excel: Якщо комірка містить приклади формул

  • Поділитися Цим
Michael Brown

Зміст

У посібнику наведено ряд прикладів формул "Excel якщо містить", які показують, як повернути щось в інший стовпець, якщо цільова комірка містить необхідне значення, як здійснювати пошук з частковим збігом і перевіряти кілька критеріїв за допомогою логіки АБО, а також логіки І.

Однією з найпоширеніших задач в Excel є перевірка наявності в комірці значення, яке нас цікавить. Що це може бути за значення? Будь-який текст або число, конкретний текст або взагалі будь-яке значення (не порожня комірка).

Існує кілька варіантів формули "Если ячейка содержит" в Excel, залежно від того, які саме значення ви хочете знайти. Як правило, ви використовуєте функцію ЕСЛИ для виконання логічного тесту і повертаєте одне значення, коли умова виконується (комірка містить) та/або інше значення, коли умова не виконується (комірка не містить). Наведені нижче приклади охоплюють найпоширеніші сценарії.

    Якщо комірка містить будь-яке значення, то

    Для початку давайте подивимося, як знайти клітинки, які містять що-небудь взагалі: будь-який текст, число або дату. Для цього ми будемо використовувати просту формулу ЯКЩО, яка перевіряє наявність непустих клітинок.

    ЯКЩО( клітина "", значення_для_повернення , "")

    Наприклад, щоб повернути "Не пусто" в стовпці B, якщо комірка стовпця A в тому ж рядку містить будь-яке значення, введіть наступну формулу в B2, а потім двічі клацніть на маленькому зеленому квадратику в правому нижньому куті, щоб скопіювати формулу вниз по стовпчику:

    =IF(A2"", "Не пусто", "")

    Результат буде виглядати приблизно так:

    Якщо комірка містить текст, то

    Якщо потрібно знайти тільки клітинки з текстовими значеннями, ігноруючи числа і дати, то використовуйте функцію ЕСЛИ в поєднанні з функцією ISTEXT. Ось загальна формула для повернення деякого значення в іншу комірку, якщо цільова комірка містить будь-який текст :

    IF(ISTEXT( клітина ), значення_для_повернення , "")

    Припустимо, ви хочете вставити слово "так" у стовпчик B, якщо комірка в стовпчику A містить текст. Щоб це зробити, введіть наступну формулу в комірку B2:

    =IF(ISTEXT(A2), "Так", "")

    Якщо комірка містить число, то

    Аналогічним чином можна ідентифікувати комірки з числовими значеннями (числами і датами). Для цього використовуйте функцію ЕСЛИ разом з ISNUMBER:

    IF(ISNUMBER( клітина ), значення_для_повернення , "")

    Наступна формула повертає "так" у колонці B, якщо відповідна комірка в колонці A містить будь-яке число:

    =IF(ISNUMBER(A2), "Так", "")

    Якщо комірка містить певний текст

    Знайти клітинки, що містять певний текст (або числа чи дати) дуже просто. Ви пишете звичайну формулу ЕСЛИ, яка перевіряє, чи містить цільова комірка потрібний текст, і вводите текст, який потрібно повернути, в поле value_if_true аргумент.

    ЯКЩО( клітина =" текст ", значення_для_повернення , "")

    Наприклад, щоб дізнатися, чи містить комірка А2 "яблука", скористайтеся такою формулою:

    =IF(A2="apples", "Yes", "")

    Якщо комірка не містить певного тексту

    Якщо Ви шукаєте протилежний результат, тобто повернути деяке значення в інший стовпець, якщо цільова комірка не містить заданого тексту ("яблука"), то виконайте одну з наступних дій.

    Виведіть порожній рядок ("") у рядку value_if_true і текст, який потрібно повернути в аргументі value_if_false аргумент:

    =IF(A2="яблука", "", "Не яблука")

    Або поставте оператор "не дорівнює" логічний_тест та текст для відповіді value_if_true:

    =IF(A2 "яблука", "Не яблука", "")

    Так чи інакше, формула дасть цей результат:

    Якщо комірка містить текст: формула з урахуванням регістру

    Щоб змусити формулу розрізняти великі і малі літери, використовуйте функцію ТОЧНО, яка перевіряє, чи є два текстових рядки точно рівними, включаючи регістр літер:

    =IF(EXACT(A2, "APPLES"), "Yes", "")

    Ви також можете ввести текстовий рядок моделі в деяку комірку (скажімо, в C1), зафіксувати посилання на комірку за допомогою знаку $ ($C$1) і порівняти цільову комірку з цією коміркою:

    =IF(EXACT(A2,$C$1), "Так", "")

    Якщо комірка містить певний текстовий рядок (частковий збіг)

    З тривіальними завданнями ми закінчили і переходимо до більш складних і цікавих :) У цьому прикладі потрібно за допомогою трьох різних функцій з'ясувати, чи є заданий символ або підрядок частиною вмісту комірки:

    IF(ISUMBER(SEARCH(" текст" , клітина )), значення_для_повернення ,"")

    Працюючи зсередини назовні, ось що робить формула:

    • Функція SEARCH здійснює пошук текстового рядка, і якщо рядок знайдено, повертає позицію першого символу, в іншому випадку - помилку #VALUE!
    • Функція ISNUMBER перевіряє, чи був пошук успішним чи ні. Якщо пошук повернув будь-яке число, ISNUMBER повертає значення TRUE. Якщо пошук призвів до помилки, ISNUMBER повертає значення FALSE.
    • Нарешті, функція ЕСЛИ повертає задане значення для комірок, які мають значення ІСТИНА в логічному тесті, порожній рядок ("") в іншому випадку.

    А тепер давайте подивимося, як ця загальна формула працює на реальних робочих аркушах.

    Якщо комірка містить певний текст, введіть значення в іншу комірку

    Припустимо, у вас є список замовлень в колонці А і ви хочете знайти замовлення з певним ідентифікатором, скажімо, "А-". Завдання можна вирішити за допомогою такої формули:

    =IF(ISNUMBER(SEARCH("A-",A2)), "Valid","")

    Замість того, щоб жорстко кодувати рядок у формулі, ви можете ввести його в окрему комірку (E1), посилаючись на цю комірку у вашій формулі:

    =IF(ISNUMBER(SEARCH($E$1,A2)), "Valid","")

    Для коректної роботи формули обов'язково зафіксуйте адресу комірки, що містить рядок, знаком $ (абсолютне посилання на комірку).

    Якщо комірка містить певний текст, скопіюйте його в іншу колонку

    Якщо ви хочете скопіювати вміст допустимих комірок в інше місце, просто вкажіть адресу оцінюваної комірки (A2) в полі value_if_true аргумент:

    =IF(ISUMBER(SEARCH($E$1,A2)),A2,"")

    Скріншот нижче демонструє результати:

    Якщо комірка містить певний текст: формула з урахуванням регістру

    В обох наведених вище прикладах формули не чутливі до регістру. У ситуаціях, коли ви працюєте з даними, чутливими до регістру, використовуйте функцію FIND замість SEARCH для розпізнавання регістру символів.

    Наприклад, наступна формула буде ідентифікувати тільки замовлення з великою літерою "A-", ігноруючи малу літеру "a-".

    =IF(ISNUMBER(FIND("A-",A2)), "Valid","")

    Якщо комірка містить один з багатьох текстових рядків (логіка АБО)

    Щоб визначити клітинки, що містять хоча б одну з багатьох речей, які ви шукаєте, використовуйте одну з наступних формул.

    Формула пошуку "IF" або "ISNUMBER

    Найбільш очевидним підходом була б перевірка кожного підрядка окремо, і щоб функція АБО повертала ІСТИНУ в логічному тесті формули ЯКЩО, якщо знайдено хоча б один підрядок:

    IF(OR(ISUMBER(SEARCH(" string1 ", клітина )), ISUMBER(SEARCH(" string2 ", клітина ))), значення_для_повернення , "")

    Припустимо, у вас є список SKU в колонці А, і ви хочете знайти ті, які включають або "сукню", або "спідницю". Ви можете зробити це за допомогою цієї формули:

    =IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))), "Valid ","")

    Формула досить добре працює для декількох елементів, але це, безумовно, не той спосіб, якщо ви хочете перевірити багато речей. У цьому випадку кращим підходом буде використання функції СУММЕСЛИ, як показано в наступному прикладі.

    Формула пошуку сумарного показника продукту

    Якщо ви маєте справу з декількома текстовими рядками, пошук кожного рядка окремо зробить вашу формулу занадто довгою і важкою для читання. Більш елегантним рішенням буде вбудувати комбінацію ПОИСК ЦИФР у функцію СУММЕСЛИ і подивитися, чи буде результат більше нуля:

    SUMPRODUCT(--ISNUMBER(SEARCH( струни , клітина )))>0

    Наприклад, щоб дізнатися, чи містить комірка A2 будь-яке зі слів, введених у комірки D2:D4, скористайтеся такою формулою:

    =SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0

    Крім того, ви можете створити іменований діапазон, що містить рядки для пошуку, або вказати слова безпосередньо у формулі:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"сукня", "спідниця", "джинси"},A2)))>0

    У будь-якому випадку, результат буде приблизно таким:

    Щоб зробити вивід більш зручним для користувача, можна вкласти наведену вище формулу у функцію ЕСЛИ і замість значень ІСТИНА/БРЕХНЯ повертати власний текст:

    =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")

    Як працює ця формула

    По суті, ви використовуєте ISNUMBER разом з SEARCH, як пояснювалося в попередньому прикладі. У цьому випадку результати пошуку представляються у вигляді масиву на зразок {TRUE;FALSE;FALSE}. Якщо комірка містить хоча б один із зазначених підрядків, в масиві буде TRUE. Подвійний унарний оператор (--) примушує значення TRUE / FALSE дорівнювати 1 і 0 відповідно, і видає масив на зразок{Нарешті, функція СУММЕСЛИ підсумовує числа, і ми виділяємо клітинки, де результат більше нуля.

    Якщо комірка містить декілька рядків (логіка І)

    У ситуаціях, коли потрібно знайти комірки, що містять всі задані текстові рядки, використовуйте вже знайому нам комбінацію ПОИСК ПО ЧИСЛУ разом з ЕСЛИ И:

    IF(AND(ISUMBER(SEARCH(" string1 ", клітина )), ISUMBER(SEARCH(" string2 ", клітина ))), значення_для_повернення ,"")

    Наприклад, за такою формулою можна знайти 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, "*плаття*")>0,COUNTIF(A2, "*синій*")>0), "Valid","")

    Результат буде саме таким, як показано на скріншоті вище.

    Як повернути різні результати на основі значення комірки

    Якщо ви хочете порівняти кожну комірку цільового стовпця з іншим списком елементів і повернути різне значення для кожного збігу, використовуйте один з наступних підходів.

    Вкладені IF

    Логіка вкладеної формули ЕСЛИ проста: ви використовуєте окрему функцію ЕСЛИ для перевірки кожної умови і повертаєте різні значення в залежності від результатів цих перевірок.

    ЯКЩО( клітина =" lookup_text1 ", " повернення _ текст1 ", IF( клітина =" lookup_text2 ", " повернення _ текст2 ", IF( клітина =" lookup_text3 ", " повернення _ текст3 ", "")))

    Припустимо, у вас є список елементів у колонці А, і ви хочете мати їх скорочення в колонці В. Для цього використовуйте наступну формулу:

    =IF(A2="яблуко", "Ap", IF(A2="авокадо", "Av", IF(A2="банан", "B", IF(A2="лимон", "L", ""))))

    Більш детально про синтаксис і логіку вкладених ЕСЛИ можна прочитати в статті Вкладені ЕСЛИ в Excel - кілька умов в одній формулі.

    Формула пошуку

    Якщо ви шукаєте більш компактну і зрозумілу формулу, використовуйте функцію ПОИСК, в якій значення пошуку і повернення подаються у вигляді вертикальних констант масиву:

    LOOKUP( клітина , {" lookup_text1 ";" lookup_text2 ";" lookup_text3 ";...}, {" повернення _ текст1 ";" повернення _ текст2 ";" повернення _ текст3 ";...})

    Для отримання точних результатів обов'язково вказуйте шукані значення в алфавітний порядок від А до Я.

    =LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})

    У порівнянні з вкладеними IF, формула Lookup має ще одну перевагу - вона розуміє символи підстановки і тому може виявляти часткові збіги.

    Наприклад, якщо стовпчик А містить кілька сортів бананів, ви можете шукати "*банан*" і отримати однакову абревіатуру ("В") для всіх таких клітинок:

    =LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})

    Для отримання додаткової інформації див. статтю Формула пошуку як альтернатива вкладеним IF.

    Формула Vlookup

    При роботі зі змінним набором даних може бути зручніше вводити список збігів в окремі комірки і отримувати їх за допомогою формули Vlookup, наприклад

    =VLOOKUP(A2, $D$2:$E$5, 2,FALSE )

    Для отримання додаткової інформації, будь ласка, зверніться до посібника "Вставлення таблиць Excel для початківців".

    Саме так можна перевірити, чи містить комірка будь-яке значення або певний текст в Excel. Наступного тижня ми продовжимо розглядати функцію "Якщо комірка містить формулу" в Excel і навчимося підраховувати або підсумовувати відповідні комірки, копіювати або видаляти цілі рядки, що містять ці комірки, і багато іншого. Слідкуйте за новинами!

    Практичний посібник

    Excel Якщо комірка містить - приклади формул (файл .xlsx)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.