Рекурсия в Exel

  • Автор темы Автор темы lamo4ok
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
L

lamo4ok

Можно ли с помощью формул непосредственно на листе организовать рекурсию типа (если вообще формулами возможно составлять функции):


ВычислитьЦенуОпций(Строка) Цена

ДлинаСтроки = КолвоСимволовВСтроке(Строка);

Если ДлинаСтроки<>0 Тогда
ПозТекущегоПробела = НайтиПервыйПробелВстроке(Строка);
ТекущаяОпция = ТекстС ДлинаСтроки По ПозТекущегоПробела;
Строка = Строка - ТекущаяОпция;
ЦенаТекущейОпции = НайтиЦенуТекущейОпции(ТекущаяОпция);
ОбщаяЦена = ОбщаяЦена + ЦенаТекущейОпции;
ВычислитьЦенуОпций(Строка);
КонецЕсли;

Конец ВычислитьЦенуОпций()


использоваться будет для след. целей:
есть таблица, в одном из столбцов которой находятся строки типа "ЧЧВ ЫЫЫ ВВВ"
есть еще одна таблица, в которой каждые "ЧЧВ" и "ЫЫЫ" сопоставлены определенной цене
задача - в первой таблице заполнить столбец "ЦЕНА", которая как раз и расчитывается рекурсивной функцией ВычислитьЦенуОпций() (сразу оговорюсь, что обсуждаем именно создание функции формулами, а не мелочи типа как найти цену и вернуть ее в ЦенаТекущейОпции)

Если кто-то знает VBA - милости просим, правда тогда задача немного изменяется:
Как я понимаю, нужно будет сделать кнопку на листе, по которой будет перебираться весь столбец и по каждой строчке "ЧЧВ ЫЫЫ ВВВ" вызывать рекурсию. (наглею=)) в принципе, начинать перебор можно даже с текущей клетки и до конца столбца (так будет даже понятней)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab