Страницы: 1
RSS
Рассчитать формулы без знака "="
 
Добрый день.

ранее я задавал этот вопрос но выразился не точно.
Есть список который меняется, вместе с этим списком меняются и формулы. когда я их сцепляю, то не получается рассчитать саму формулу
в приложенном примере ячейка "D27"
 
Нужен пример с данными
 
Иванов Вадим,да не обязательно эти формулы использовать. пусть будут обычные математические формулы
 
ДВССЫЛ не работает с закрытыми книгами
 
Иванов Вадим,заменил пример
 
Во-первых, в новом файле в формулах в таблице "переменный список" вы зачем-то используете формулы массивов. Они здесь не нужны
Во-вторых, всё-таки непонятно что в итоге мы должны получить. Поэтому и хотел пример
 
Иванов Вадим,масивы нужны. получить хотим цикл. 1. выбор выпа.списка и сохранение листа как значение после снова цикл повторяется, а именно выбор след.из выпад.списка и его сохранение
 
Цитата
=ЕСЛИ(C18="";"";ЕСЛИОШИБКА(ДВССЫЛ(ИНДЕКС($D$5:$D$11;ПОИСКПОЗ(C18;$C$5:$C$11;0);1));""))
 
Непонятно что нужно получить в D27
Вашу массивную формулу можно заменить на массивную
Код
=ВПР(C18&"";C$5:D$12&"";2;)
Алексей М.
 
АlехМ,в D27 получаем сцепленный текст, после их расчета и поиска. а именно 5, 7, 1, 4, 5, 6, 7
 
а почему нельзя так написать
Код
=СЦЕПИТЬ(C18;",";C19;",";C20;",";C21;",";C22;",";C23;",";C24)
Алексей М.
 
АlехМ,она так не работает, т.к сцепляете сам текст формулы, а не ее результат
 
Цитата
radmirka666 написал:
т.к сцепляете сам текст формулы, а не ее результат
Как раз сцепляется результат, а не текст формул. Если бы сцеплялся текст формул,то в ячейке D27 было бы следующее:
Код
=ЕСЛИ(C18="";"";ЕСЛИОШИБКА(ИНДЕКС($D$5:$D$11;ПОИСКПОЗ(C18;$C$5:$C$11;0);1);"")),…,=ЕСЛИ(C24="";"";ЕСЛИОШИБКА(ИНДЕКС($D$5:$D$11;ПОИСКПОЗ(C24;$C$5:$C$11;0);1);""))
 
Иванов Вадим,
№ партии,АорПИ,Материал и количество,ТУ/ГОСТ,№ партии,Сопр.докум,АорПИ
Это переменный список ищем не его, нужно чтобы в ячейке D27 выходило "5, 7, 1, 4, 5, 6, 7"
 
Код
=ПОДСТАВИТЬ(СУММПРОИЗВ(ПОИСКПОЗ(C18:C24;C5:C11;)*100^(7-B18:B24));0;",")
Может быть так?
Алексей М.
 
АlехМ,Посмотрите пожалуйста видео, там более подробно смог изложить свою проблему.
https://cloud.mail.ru/public/2E9a/mPf6oyALC
 
Кажется, понял, что вам нужно. То, что вы ищете - это функция вычислить, в неё вы можете передать вашу формулу без "равно" в начале, и она её вычислит. Но с ней есть особенность - её нельзя просто так использовать в обычных ячейках, для её использования нужно создать именованный диапазон (Формулы -> Диспетчер имён -> Создать) и в нём в графе "Диапазон" вписать вашу формулу. Во вложении есть пример. Важный момент - файл с такой функции обязательно должен поддерживать макросы.
 
Andrej730,функция Вычслить не подходит т.к использую формулы сцепления, поиска и т.д. она не вычисляет.
Для данного примера она конечно подходит, но это пример
 
Тогда можно добавить в файл функцию вроде этой, у Evaluate в VBA больше возможностей.
Код
Function ev(r As Range) As Variant
    ev = Evaluate(r.Value)
End Function
Ещё есть вариант написать макрос, чтобы быстро вставлять рассчитанную формулу как значение и заменять в ней "=" на "=", в таком случае она сразу рассчитается.
Страницы: 1
Наверх