Формула Google Таблиць для "якщо містить"


40

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

ПРИКЛАД

Клітка А1 містить sites, sheets, docs, slides.

Я хочу, щоб клітина B1 відображала 1 ', якщо' комірка A1 містить рядок sites.

ФОРМУЛА

=if(A1 ?????? "sites", 1,0)

Я не впевнений, чим замінити ??????вищевказану формулу АБО, якщо ця формула можлива. Будь-які вдячності щодо того, як досягти бажаного результату, дуже вдячні.

Відповіді:


55

Ви можете використовувати REGEXMATCH:

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

Для пояснення, REGEXMATCH повертає істину тоді і лише тоді, коли аргумент є підрядкою вашої рядка.


10
Використання regexmatchбуло б простіше: if(regexmatch(A1, "sites"), 1, 0).

1
Значення "якщо" не потрібно, оскільки regexmatch вже повертає булевий характер, тому просто "REGEXMATCH (A1," сайти ")"
Девід

2
Якщо є, то вони можуть перетворити істину в 1 або 0, якщо помилково
Ауріель Перлман

7

=if(search("sites",B2)>0,1,0)

=if(IFERROR(search("sites",B2)>0,0),1,0)

Обидва працюють. Другий пише 0, якщо є помилка.


2
Перша формула ніколи не поверне 0, оскільки SEARCH(search_for, text_to_search, [starting_at])поверне помилку, коли search_forїї не знайдуть.
Рубен

1

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

=QUERY(A1:A100, "select count(A) where A like '%sites%'")

Це набагато швидше, ніж створити стовпчик з 1 та нулями, а потім працювати над цим новим стовпцем.


Чи може це працювати над полем, а не просто стовпцем?
Адам Старр

Так. замість A1:A100вас можна було це зробити, A1:C100а потім написати запит із стовпцями A, B і C.
Ryan Shillington,

1

Рішення без REGEX:

=if(iserror(FIND("sites",B2)),0,1)

питання капіталізації та ifлогіка повинні бути змінені, враховуючи, що відповідь є, trueколи рядок не знайдено.


Це в основному те саме, що ця відповідь , але вводиться в регістр. До речі, вибіркові дані, надані ОП, sheetsне включають Sheets.
Рубен


0

Якщо ви, як пропонує Райан Шиллінгтон, хочете дізнатися кількість комірок у діапазоні, в якому є "сайти", ви можете спробувати:

=COUNTIF(A1:A100;"*sites*") 

* Виступає як підстановочне поняття, тому він буде шукати відповідність у будь-якій точці клітини, а не просто точну відповідність для всієї комірки.

Я також робив це з посиланням на клітинку замість " сайтів ", але тоді вам потрібно додати підстановку-астерикси до тексту в комірці.


0

Якщо ви перейдете з параметром зірочок і хочете посилання на клітинку, ви можете використовувати функцію CONCATENATE для додавання зірочок.

=COUNTIF(A1:A100,CONCATENATE("*",A1,"*"))

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.