Страницы: 1
RSS
Поиск значения графика в промежуточных точках, График построен по таблице
 
Добрый день!
Имеется таблица со значениями X (температура наружного воздуха) и соответсвующими Y (температура воды).
Значения X в таблице целые: 8, 7, 6, 5.... -33, -34.
Задача - определить значения Y в промежуточных точках (например, 7,5, 6,2, 6,3 и т. д.).
В данный момент реализовал пока только поиск Y по точному значению X (через ВПР), но, как оказалось, этого недостаточно. Можно ли обойтись без макросов?
 
6,2 это 7 или 6? Если 6 то отсортируйте таблицу по столбцу А по возрастанию и в формуле уберите последний аргумент.
Изменено: V - 24.01.2019 08:50:32
 
Цитата
V написал:
6,2 это 7 или 6?
это 6,2. То есть Y тоже должен быть не из таблицы, а вычислен. То есть в данном случае, он должен быть где-нибудь 43,6. То есть нужно применить интерполяцию (апроксимацию) и найти значение.
 
Попробуйте использовать функцию ТЕНДЕНЦИЯ
 
vveter, так же формулу интерполяции и думаю норм
Не бойтесь совершенства. Вам его не достичь.
 
вариант
Код
=ЕСЛИОШИБКА(ВПР(E2;$A$3:$B$45;2;0);ПРЕДСКАЗ(E2;СМЕЩ($B$3;ПОИСКПОЗ(E2;$A$3:$A$45;1)-1;;2;1);СМЕЩ($A$3;ПОИСКПОЗ(E2;$A$3:$A$45;1)-1;;2;1)))
 
Цитата
V написал:
вариант
Отлично ищет целые значения (-7, 3, 1, -6 и тд), но стоит задать дробное (-1,4, 3,5 и тд) возникает ошибка деления на 0.
Цитата
Mershik написал:
так же формулу интерполяции и думаю норм
талантов не хватает реализовать это в эксель
Цитата
alexleoix написал:
Попробуйте использовать функцию ТЕНДЕНЦИЯ
сейчас посмотрим
 
vveter, посмотрите этот вариант


Код
=ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1);2)-(ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1);2)-ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1)+1;2))*(E2-ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1);1))/(ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1)+1;1)-ИНДЕКС($A:$B;ПОИСКПОЗ(E2;A:A;-1);1))
Изменено: Mershik - 24.01.2019 11:06:13
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
посмотрите этот вариант
То, что нужно! Спасибо огромное! Не подскажете, как работает этот вариант  в двух словах? Попробую разобраться.
 
vveter, в двух словах вот формула интерполяции
Код
X = f(X1)+( f(X2) - f(X1) )*(X - X1)/(X2 - X1)

а дальше каждое из этих значений определяем черех связку Индекс+поискпоз подставляем из таблицы нужно значение

Изменено: Mershik - 24.01.2019 13:47:26
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
а дальше каждое из этих значений определяем черех связку Индекс+поискпоз подставляем из таблицы нужно значение
Отлично, спасибо! Нужно восстановить немного знаний по математике..)
Страницы: 1
Наверх