TL; DR Чи є щось подібне grep
в Excel, що може допомогти мені підрахувати екземпляри, що містять лише цілі слова (наприклад, "wood", але не "woodchuck") (і, можливо, їх варіанти)?
Ось ось цей вірш від матері-гуски:
How much wood could a woodchuck chuck
If a woodchuck could chuck wood?
As much wood as a woodchuck could chuck,
If a woodchuck could chuck wood.
І це початок, але важких цифр досі немає.
Тож я знайшов дуже корисну публікацію на Exceljet.net, яка пропонує використовувати комбінацію «SUBSTITUTE», «LEN» та «SUMPRODUCT».
Якщо ви уявляєте, що вищевказаний текст міститься в клітинках A1: A4, моя перша формула виглядала так:
= SUMPRODUCT ((LEN (A1: A4) -LEN (SUBSTITUTE ((UPPER (A1: A4)), UPPER ("wood"), ""))) / LEN ("wood"))
зауважте: у мою формулу включено "верхнє", тому що вірш, який вона мені надіслав, виглядає приблизно так
hOw MucH WOod cOuld a WOodCHucK CHUCk
IF a wOoDchUCk couLD cHuck wood?
aS muCH wOOD as a WOOdCHuCk coUlD ChuCK,
iF a woODChUck coulD CHuCK WoOD.
Але все одно, результат цього - 8, що неправильно.
Я порахував вручну, там всього 4 лісу, і 4 дроворуби. Я не хочу рахувати дроворубів, просто деревину, яку вони б палили (якщо б справді вони могли б потрошити дрова).
Тож тепер моя поточна формула виглядає приблизно так:
= SUMPRODUCT ((LEN (A1: A4) -LEN (SUBSTITUTE ((UPPER (A1: A4)), UPPER ("wood"), ""))) / LEN ("wood")) - (SUMPRODUCT ((LEN) (A1: A4) -LEN (SUBSTITUTE ((UPPER (A1: A4)), UPPER ("woodchuck"), ""))) / LEN ("woodchuck")))
І це технічно працює! але правда полягає в тому, що я не дуже намагаюся підрахувати кількість зустрічань слова "деревина" у вірші "мати-гусь", мені потрібно порахувати кількість примірників багатьох різних слів, у тому числі тих, які можуть бути перенесені, неправильно написані або мати у них випадкові пробіли чи символи. Мені в основному потрібне щось на зразок грепу всередині Excel. Чи існує така річ? Якщо повернутися до сфери мого оригінального запитання, чи є простіший спосіб написати формулу для підрахунку екземплярів, що містять лише цілі слова, і результат покласти в клітинку?