1

У меня есть эта формула

=ROUNDUP(D12/(D6-D5),IFERROR(VLOOKUP(G9,reference!$C$2:$D$7,2,0),100))

и я хочу изменить часть ROUNDUP на основе текста из отдельной ячейки (скажем, F7 , где текст может быть ROUNDDOWN или ROUND ).

Я пытался использовать функции SUBSTITUTE() и REPLACE() . Это пара моих попыток:

=REPLACE("=ROUNDUP(…)",2,7,F7) *

=REPLACE(ROUNDUP(…),2,7,F7)

* Эта версия в итоге создала правильную формулу, но она отображается как текст, а не как формула. Я могу вставить его в другую клетку, и он работает. Поэтому я попытался добавить *1 в эту формулу, но она все еще не работала.

Обходной путь - использование вложенного IF , но это создаст слишком много строк, поэтому я надеялся на другой вариант.

1 ответ1

0

Вы можете использовать функции CHOOSE и MATCH , все еще не оптимальные, но лучше, чем IF:

=CHOOSE(MATCH(F7,{ROUND,ROUNDUP,ROUNDDOWN},0),ROUND(D12/(D6-D5),ROUNDUP(D12/(D6-D5),ROUNDDOWN(D12/(D6-D5))

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