1

Я использую приведенную ниже формулу для поиска первого экземпляра имени, появляющегося в электронном письме (столбец L). У меня есть около 40000 строк, и формула становится все медленнее и медленнее, когда приходят новые строки (электронные письма).

Знаете ли вы, как ускорить формулу?

Формула: =INDEX(Advisors,MATCH(TRUE,ISNUMBER(SEARCH(Advisors,L3613)),0))

Advisors = определенный список людей (также растет)

1 ответ1

0

Ваш вопрос мне не совсем понятен. Трудно понять, что именно вы делаете, не давая указаний на то, что хранится в советниках и в 1313 году. Что у тебя в 1313 году? Это одна почта?

Исходя из того, что я понял из вашего вопроса, я бы сделал следующее:

Поместите следующую формулу рядом с именем каждого советника:

=match("*"&advisorname&"*";table;0)

Это даст вам индекс в таблице 1-го вхождения каждого советника. Затем вы можете выбрать из этой строки минимальное число из подмножества советников, которых вы ищете (например, с помощью функции minifs).

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

Пример использования:

Пожалуйста, прости меня, если я до конца не понял твою проблему. Я надеюсь, что это все равно поможет вам в решении вашей проблемы.

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