Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Динамический диапазон с первого не н/д
 
Добрый день.
Столкнулся с такой проблемой:
Рассчитываю постоянные для формулы полиномиального тренда и вывода экстремума в дальнейшем. Проблема в том, что для графика, который строится через x,y,z, пустые или н/д значения выбрасываются в автоматическом режиме, а вот для c1,c2 и b нет. c1, c2 и b расчетные показатели для формулы тренда, которые рассчитываются через линейную функцию формулы массива, и для этой функции н/д и пустые ("") являются ошибками, а 0 я вписать вместо н/д не могу, т.к. измеится конечный результат.
Ввпрос, как прописать для функции с формулой массива что бы диапазон значений был с первого не н/д до последнего не н/д
 
По-моему только макросом можно задать динамический диапазон значений для диаграмм...
 
Настя_Nastya, мне нужен динамический диапазон для точки, а не для графика. Т.е. для одной ячейки
 
Цитата
Настя_Nastya написал:
только макросом
через имена все можно
Цитата
bereteli написал:
как прописать для функции
что, где прописать?
По вопросам из тем форума, личку не читаю.
 
ну если именно
Цитата
bereteli написал:
Динамический
то
Код
=ИНДЕКС(ЛИНЕЙН(ФИЛЬТР(B4:B12;1-ЕОШИБКА(B4:B12));ФИЛЬТР(A4:A12;1-ЕОШИБКА(B4:B12))^{1;2});ПОСЛЕД(3;1;3;-1))
а так что-то вроде этого наверное:
Код
=ИНДЕКС(ЛИНЕЙН(ИНДЕКС(B:B;МИН(ЕСЛИ(ЕНД($B$4:$B$12);"";СТРОКА($B$4:$B$12)))):ИНДЕКС(B:B;МАКС(ЕСЛИ(ЕНД($B$4:$B$12);"";СТРОКА($B$4:$B$12))));ИНДЕКС(A:A;МИН(ЕСЛИ(ЕНД($B$4:$B$12);"";СТРОКА($B$4:$B$12)))):ИНДЕКС(A:A;МАКС(ЕСЛИ(ЕНД($B$4:$B$12);"";СТРОКА($B$4:$B$12))))^{1;2});1;3)
Каждому For свой Next
 
buchlotnik, очень круто. Сам бы очень долго писал бы такое. Но я по блокам разобрал формулу через мин Макс. Его так и не понял, как оно убирает пустые позиции. Если по блокам то мин Макс даёт всегда начало диапазона. Может если у вас есть возможность, поблочно сможете мне объяснить. Буду благодарен.
 
Цитата
bereteli написал:
не понял, как оно убирает пустые позиции
никак, формула решает задачу
Цитата
bereteli написал:
диапазон значений был с первого не н/д до последнего не н/д
вот это
Код
ЕСЛИ(ЕНД($B$4:$B$12);"";СТРОКА($B$4:$B$12))
возвращает номер строки, если не НД();
МИН() и МАКС() определяют номера первой и последней из таких строк;
ИНДЕКС(B:B;МИН()):ИНДЕКС(B:B;МАКС()) даёт искомый диапазон
Изменено: buchlotnik - 18 окт 2020 21:53:29
Каждому For свой Next
Страницы: 1
Читают тему (гостей: 1)
Наверх