Как сделать так, чтобы при изменении таблицы данных, функция не трогала то, что уже просчитала?
Отключить автопересчет формул, но при открытии файла пересчет всё равно будет происходить. Если нужно чтобы и в этом случае не происходил пересчет, то ячейки с формулами нужно сохранять как значения. Например создать еще лист в который копировать из листа с формулами в лист значения. Можно написать макрос который по нажатию кнопки будет сразу проставлять найденные значения без прописывания формул. Выбор за Вами.