1

Каждую неделю новый файл Excel генерируется системой CRM, которая имеет отметку даты в своем имени файла, но помещается в папку в фиксированном месте (URL-адрес sharepoint).

Этот файл довольно большой и обычно содержит от 25 до 30 тысяч строк. Исходя из этого, мне нужно создать новую таблицу, соответствующую моей цели.

Строки, относящиеся к моей цели, должны соответствовать одному (или более) ключевым словам / ключевым фразам из списка из 30-40 таких ключевых слов / ключевых фраз. Этот список ключевых слов / ключевых фраз, однако, также растет, но медленно, добавляя новые ключевые слова каждые несколько месяцев.

Есть ли способ автоматизировать эту ручную, утомительную и несколько подверженную ошибкам задачу?

2 ответа2

1

Это большая задача, которую можно решить самыми разными способами. Короче говоря, ДА, вы можете автоматизировать это.

Просто для начала:

Вы абсолютно уверены, что ваша CRM-система не может предоставить информацию, которую вы хотите извлечь напрямую?

Обычно они основаны на системе баз данных, такой как SQL, и, поскольку вы уже извлекаете из нее данные, вы можете изменить эти выходные данные в соответствии со своими потребностями.


Теперь о возможностях с Excel:

  1. Импорт базовых данных из вашей CRM

возможно, вы сможете установить соединение для передачи данных с вашей CRM

Вы можете создать VBA-код, чтобы импортировать новейший файл в вашу папку или обновить установленное соединение для передачи данных в этот новый файл

Вы можете открыть новейший файл через VBA и скопировать нужные данные в целевой лист

...

  1. Если все еще необходимо, фильтрация данных

Я бы посоветовал вам взглянуть на фильтры и расширенные фильтры, vlookup, countifs и примеры vba-кода. Здесь и в стековом потоке возникает много вопросов, связанных с фильтрацией мультиусловий, но вам придется предоставить больше подробностей для правильного решения этой проблемы.


как предложение: я бы разделил эту задачу на получение базовых данных и только при необходимости отфильтровывал их. На мой взгляд, должна быть возможность получить ваши отфильтрованные данные гораздо более ошибочно в процессе. Или скажи мне иначе :)

1

Поскольку необходимо проверить три разных столбца (предполагается, что это B , D и F), функция OR выглядит соответствующей:

=OR(ISNUMBER(MATCH(B1,keyarray,0)),
    ISNUMBER(MATCH(D1,keyarray,0)),
    ISNUMBER(MATCH(F1,keyarray,0)))

так что совпадение для любого из трех столбцов вернет TRUE . Поместите это в «вспомогательный» столбец в первой строке, занятой данными (скажем, Строка 1, или соответственно настройте B1 , D1 и F1 выше).

MATCH проверяет, например, существует ли, например, значение B1 в keyarray , где это заданное имя для диапазона, который содержит список ключевых слов / ключевых фраз (число ~ 30-40) - не обязательно должны совпадать необходимо указать лист или рабочую книгу, но в противном случае необходимо указать полный путь и рекомендовать открыть «другую» рабочую книгу при применении формулы к новому пакету данных.

0 вызывает только точное совпадение (альтернативно -1 для наименьшего значения, которое больше или равно B1 , или 1 для наибольшего.)

MATCH возвращает местоположение найденного значения в массиве (в противном случае с параметром 0 , #N/A). Это числовое значение, поэтому ISNUMBER проверяет число (любое число) - чтобы исключить результаты #N/A

Следовательно, при условии, что любой из B1 , D1 или F1 находится в keyarray результат будет TRUE - иначе FALSE .

Чтобы удобно скопировать формулу на 25-30 тысяч строк, где некоторые содержат объединенные ячейки, поместите что-нибудь (скажем, «конец») в пересечение последней занятой строки и столбца «вспомогательный» (чтобы избежать ненужного увеличения размера электронной таблицы). ). Скопируйте ячейку, содержащую формулу, выберите ячейку непосредственно под ней, затем нажмите Ctrl+Shift+Down/Paste, чтобы заполнить вспомогательный столбец вниз для всех занятых строк, без продолжения после последней занятой строки и с перезаписью 'end'.

Отфильтруйте по столбцу «помощник» для TRUE , выберите все занятые столбцы, скопируйте и вставьте в новый лист / книгу. Удалите пустые строки в новом листе / книге и сохраните. (Также можно удалить столбец «помощник» из источника.)

Убедитесь, что при случайном добавлении элементов в keyarray именованный диапазон покрывает дополнения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .