Надбудова для Excel заощадить час відділу контекстної реклами

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

Так у мене накопичилася велика бібліотека функцій та макросів, які я публікував зазвичай окремо, але деякі збирав у єдиний інструмент. Таким став файл із жартівливою назвою «Робот-розпізнавач», останню версію якого завжди можна знайти як у мене на сторінці у Facebook, так і звичайним пошуком в інтернеті.

Однак зберігати на комп'ютері окремий файл і відкривати його щоразу, коли потрібно виконати якесь завдання не дуже зручно, тому я вирішив зробити надбудову для Excel, яка швидко завантажуватиметься разом з Excel і розширюватиме його функціонал «з коробки».

Перед створенням публічно запитав у колег, які функції могли б бути корисними, зворотний зв'язок дав життя багатьом фічам, про які сам не думав.

1. Завантажте файл надбудови і збережіть його в директорії, яку не плануєте переміщати і точно не видаліть (наприклад, окремій папці прямо в корені диска). Не потрібно відкривати файл.

2. Перейдіть в "Параметри Excel" і знайдіть пункт "Надбудови", натисніть кнопку "Перейти".

відділу

У вікні через «Огляд» файлів знайдіть на комп'ютері завантажений файл надбудови, виберіть його та натисніть «ОК». Він повинен автоматично з'явитися у списку та бути з активним чекбоксом:

надбудова

Натисніть "ОК". Готово! Тепер все має працювати, при кожному запуску Excel завантажуватиметься і ця надбудова, і всі функції та макроси в ній. Кнопки макросів з'являться в окремій панелі «Надбудови» і виглядатимуть приблизно так:

Якщо після перезапуску програми панель"Надбудови" не відкривається, можливо, її блокує захист операційної системи. Щоб виправити, натисніть файл правою кнопкою миші, відкрийте властивості і клацніть на кнопку «Розблокувати»:

заощадить

Функціонал

Насамперед пробіжимося помакросам.

Більшість макросів працюють з виділеним діапазоном з 1 стовпця, перетворюючи його вміст на місці, для багатьох є еквівалентні функції, що працюють з осередком. Функції можуть знадобитися у випадках, коли необхідно зберегти вихідні дані. Важливою умовою коректної роботи макросів є відсутність порожніх рядків у виділеному діапазоні.

Для виклику макросів зайдіть у панель Надбудови, виберіть потрібний і натисніть кнопку.

Видалити пунктуацію // видаляє всі можливі символи, крім прогалин, цифр та букв;

Проставити всі модифікатори // проставляє модифікатори усі слова в діапазоні;

Проставити модифікатори крім стоп-слів // проставляє символ «+» (модифікатор широкої відповідності AdWords) перед кожним словом у кожному рядку виділеного діапазону, крім стоп-слів (поточний список, як тут). Інші варіанти типів відповідності зобразив схематично, має бути так зрозуміло;

Виправити великі // перетворює рядки діапазону, роблячи перші літери речень заголовними;

Видалити UTM // видаляє всі UTM-мітки в діапазоні, якщо вони є. При цьому залишає всі інші параметри недоторканими. Також видаляє зайві прогалини;

Видалити слова із цифр // іноді буває потрібно, наприклад, перед складанням частотного словника;

Видалити стоп-слова // видаляє всі українські стоп-слова з масиву (список той самий, що вище);

Частотний словник // цей макрос проводить аналіз виділеного діапазону щодо зустрічальності у ньому унікальних слівта виводить результат на окремий лист;

Скомбінувати списки // Це генератор лінійних комбінацій. Дозволяє скласти лінійні комбінації на основі кількох списків. Списків і елементів у них може бути будь-яка кількість, але є ряд обмежень:

  1. Списки не повинні містити порожніх осередків,
  2. Не повинно бути порожніх стовпців,
  3. Перший рядок першого списку – Осередок «A1».

Коротко зафункціями :

= слів (A1) // кількість слів у комірці. Функція по суті «ховає під капот» громіздкий синтаксис =ДЛСТР(СЖПРОБІЛИ(A1)) – ДЛСТР(ПІДСТАВИТИ(СЖПРОБІЛИ(A1);” “;”)) + 1, який обчислює кількість слів як різницю довжини рядка з пробілами і без (слів на 1 більше, ніж прогалин у рядку);

=ТочнеДиректАбоФразовеAdWords(A1) // аналогічно попередньої розставляє лапки;

=ПроставитиМодифікатори(A1) // проставляє знак «+» перед кожним словом;

= Закріпити Словоформи (A1) // проставляє знак «!» перед кожним словом;

= БезПунктуації (A1) // видаляє всі зайві пунктуаційні символи (корисно для роботи з ключовими словами);

=БезUTMметок(A1) // видаляє UTM-мітки з посилань, не торкаючись жодних інших параметрів ні перед, ні після них;

=Є Український(A1) // корисно для швидкої фільтрації українських запитів, розпізнає за

30 різних факторів (наявність у рядку певних символів або поєднань символів);

=Є Латиниця(A1) // перевіряє, чи є в комірці будь-які символи латиниці;

=ЄЦифри(A1) // аналогічно до попередньої, але з цифрами;

=ВсеСВеликий(A1) // робить великими всі перші літери слів;

= ЛатиницяСВеликий(A1) // робить заголовними всі перші літери слів, що містять латиницю;

=СортуватиАЯВнутрішньоосередки(A1) // сортує слова всерединіосередки за абеткою від А до Я;

= Знайти Слова зі списку (A1; $ J $ 1: $ K $ 2000) // дозволяє прямо в Excel проводити кластеризацію за маркерами. Аналогічно попередньої функції шукає в масиві з двох стовпців, проте, на відміну від неї, повертає не всі, а лише знайдені слова. Є регістрозалежною, тому для досягнення потрібного результату шукані фрази і слова в стовпцях, що переглядаються, повинні бути в одному регістрі (або ПРОПИС або СТРОЧН).

Висновок