Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 13:35   #1
Alagar
Новичок
Джуниор
 
Регистрация: 21.01.2012
Сообщений: 2
Вопрос Извлечение значений из массива по дробным результатам

Добрый день уважаемые знатоки!

Вопрос не первый взгляд может простым показаться, но я не нашел ни одной формулы способной это делать напрямую.

Описание:
Имеется простой массив, таблица из двух столбцов температур (Т1 и Т2), каждой температуре Т1 соответствует температура Т2. Требуется извлекать из массива Т2 в зависимости от Т1
Имеется штатная формула извлечение из массива Т2 по Т1, НО она работает только с точными значениями Т1, тоесть выдает Т2 только по точным совпадениям с Т1. Требуется извлекать Т2 по дробным значеним Т1, соответственно и Т2 будут дробными. Дробные Т2 должны определяться простой пропорциональной зависимостью. Например если Т1 имеет некое промежуточное значение между соседними данными в столбце таблицы, то и Т2 должно имет соотв. пропорциональное ему значение. Т1 будет определяться из расчетов, Т2 нужно извлекать из массива в соотв. с целыми Т1 указанными в таблице.

Файлик с примером и простой формулой извлечения см. ниже.

Честно говоря у меня есть варианты, но они мне не нравятся по той причине что не очень разумные, хочется грамотно сделать (без большой кучи логических операций и формул с подгоном для самой первой формулы что извлекает только по точным значениям Т1).
Вложения
Тип файла: rar Книга1.rar (8.5 Кб, 16 просмотров)
Alagar вне форума Ответить с цитированием
Старый 22.01.2012, 13:59   #2
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от Alagar Посмотреть сообщение
Имеется простой массив, таблица из двух столбцов температур (Т1 и Т2), каждой температуре Т1 соответствует температура Т2. Требуется извлекать из массива Т2 в зависимости от Т1
Имеется штатная формула извлечение из массива Т2 по Т1, НО она работает только с точными значениями Т1, тоесть выдает Т2 только по точным совпадениям с Т1. Требуется извлекать Т2 по дробным значеним Т1, соответственно и Т2 будут дробными. Дробные Т2 должны определяться простой пропорциональной зависимостью. Например если Т1 имеет некое промежуточное значение между соседними данными в столбце таблицы, то и Т2 должно имет соотв. пропорциональное ему значение. Т1 будет определяться из расчетов, Т2 нужно извлекать из массива в соотв. с целыми Т1 указанными в таблице.
Ключевая фраза "определяться простой пропорциональной зависимостью". Вот и составьте её и оформите в виде функции, в которой значение T1 будет исходными данными.
Пример отлично работает, не вижу что в нем нужно исправлять.
Цитата:
Сообщение от Alagar Посмотреть сообщение
(без большой кучи логических операций и формул с подгоном для самой первой формулы что извлекает только по точным значениям Т1).
Это не возможно по определению - что такое компьютер. Он знает только Ноль или Единица. Остальное забота программиста.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 22.01.2012, 16:13   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

кажется это третий такой вопрос на этой неделе.
ваш файл открыть не смог, судьба меня забросила на компьютер с 2003 офисом.
Код:
=ЕСЛИ(E1<=A2;B2;ЕСЛИ(E1>=A6;B6;ПРЕДСКАЗ(E1;ИНДЕКС(B:B;ПОИСКПОЗ(E1;A:A)):ИНДЕКС(B:B;ПОИСКПОЗ(E1;A:A)+1);ИНДЕКС(A:A;ПОИСКПОЗ(E1;A:A)):ИНДЕКС(A:A;ПОИСКПОЗ(E1;A:A)+1))))
Вложения
Тип файла: rar Интерпол.rar (1.4 Кб, 12 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.01.2012, 16:18   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Поиск по "интерполяция", например http://www.planetaexcel.ru/forum.php?thread_id=25782
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 22.01.2012, 16:25   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или на том же файле чуть короче так:
Код:
=ЕСЛИ(E1<=A2;B2;ЕСЛИ(E1>=A6;B6;ПРЕДСКАЗ(E1;СМЕЩ(B1;ПОИСКПОЗ(E1;A:A)-1;;2);СМЕЩ(A1;ПОИСКПОЗ(E1;A:A)-1;;2))))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.01.2012, 09:03   #6
Alagar
Новичок
Джуниор
 
Регистрация: 21.01.2012
Сообщений: 2
По умолчанию Спасибо большое!

Цитата:
Сообщение от IgorGO Посмотреть сообщение
или на том же файле чуть короче так:
Код:
=ЕСЛИ(E1<=A2;B2;ЕСЛИ(E1>=A6;B6;ПРЕДСКАЗ(E1;СМЕЩ(B1;ПОИСКПОЗ(E1;A:A)-1;;2);СМЕЩ(A1;ПОИСКПОЗ(E1;A:A)-1;;2))))
Благодарность ушла на Ваш WMR.

Работает, но маленький нюанс, цифры в столбце T1, в моей таблице будут идти в обратном порядке, т.е. в порядке убывания а не возрастания.

Т1 - это среднесуточная температура наружного воздуха, порядок цифр будет: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2 и т.д. до -49 (край у нас суровый)
Т2 - будут идти по возрастанию начиная от 70 до 150 гр.

Если у Вас будут свободные минутки, надеюсь поможете поправив формулу, или буду сегодня вечером сам разбираться
Alagar вне форума Ответить с цитированием
Старый 24.01.2012, 09:28   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: rar КнигаR772.rar (3.4 Кб, 13 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOQuery.Locate с дробным значением rus_venom БД в Delphi 2 17.12.2010 16:38
Организовать поиск по результатам выбора значений из комбобокса Spring_me Microsoft Office Excel 1 15.03.2010 16:00
Вычисление массива значений функции mathe Общие вопросы C/C++ 0 22.04.2009 10:27
Извлечение значений из БД? ITM Microsoft Office Excel 4 10.01.2009 23:40