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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2011, 01:08   #11
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Жестко, но справдливо.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 14.01.2011, 02:19   #12
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А этот вариант вам не подойдет
Нашел в загашнике
Вложения
Тип файла: rar вопрос_инт.rar (65.1 Кб, 8 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 14.01.2011, 03:53   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Сергей, ты знал!
а решение чего ты предложил во 2-сообщении?
слово интерполяция первый раз проскочило у автора темы в 9-м сообщении.
но как по данным из прицепленных файлов можно было догадаться что интерполировать???

добавил к файлу dooberа несколько формул.
в С4 пишем значение, в D4 смотрим результат интерполяции.
в С6 - значение, в D6 - (обязательно должна быть 1), в D7 - результат
в D7 формула намного короче и познавательнее

(значения за пределами исходной таблицы не интерполируются)
Вложения
Тип файла: rar Книга527.rar (65.3 Кб, 6 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.01.2011, 13:40   #14
Parabellum
 
Регистрация: 12.01.2011
Сообщений: 7
По умолчанию

Большое вам спасибо за советы. Видимо, я очень плохой объясняльщик. Извините, что не смог сразу точнее описать суть проблемы. Функция, которая выполняет интерполяцию, у меня есть с самого начала, причем рабочая. Однако использует она два столбца и значение X: 1 столбец - известные значения абсциссы; 2 столбец - известные значения ординаты; X - значение абсциссы, для которой необходимо рассчитать значение ординаты. Загвоздка в том, что далее в программе мне требовалось использовать именованный диапазон (то есть диапазон c присвоенным именем), который включал в себя оба столбца: и значения абсциссы, и значения ординаты. Поэтому возникла потребность вызвать эту функцию в программе с использованием именно этого общего диапазона (в программе - Peak). Были перепробованы различные варианты (см. первое вложение): в том числе такие - Linterp(Peak.Columns(1),Peak.Column s(2),X); Linterp(Peak.Columns(1).Value,Peak. Columns(2).Value,X). Ни один из них не сработал. Поэтому вопрос должен звучать так - как правильно указать функции в программе, что необходимо использовать сначала первый столбец общего диапазона, затем второй? Конечно, существует вариант переписать функцию на работу с диапазоном, который сразу включает в себя два столбца, однако хотелось бы этого избежать, так как в дальнейшем функция будет использоваться именно с двумя различными столбцами.

Уважаемый doober, к вам вопрос относительно вашего первого примера с RNG. Что указывать функции в случае, описанном выше, если вызов ее происходит из программы? То есть именованный диапазон из двух столбцов + значение абсциссы, для которой функция рассчитывает значение ординаты. В таблице все просто - вы сами это показали в вашем первом примере. Однако в программе указать нужные данные не получается. Видимо, не правильно указываю. Во втором вложении я привел примеры различных обращений к функции, перестроенной под RNG, в том числе с использование Union.

Последний раз редактировалось Parabellum; 18.01.2011 в 13:44.
Parabellum вне форума Ответить с цитированием
Старый 18.01.2011, 15:16   #15
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я думаю этот вариант должен помочь
Вложения
Тип файла: rar Вариант.rar (9.4 Кб, 5 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.01.2011, 15:54   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вместо всего, что Вы писали в module oбьявил одну функцию:
Код:
Function InterPol2(rg As Range, x As Double)
  InterPol2 = Linterp(Range(rg.Cells(1, 1), rg.Cells(rg.Rows.Count, 1)), _
  Range(rg.Cells(1, 2), rg.Cells(rg.Rows.Count, 2)), x)
End Function
В колонке Е пример ее использования с именованым диапазоном Peak, который должен содержать две смежные колонки с значениями "х" и "у" (даже если в Peak будет третья колонка с значениями "й" - это на точность расчетов не повлияет).
Вложения
Тип файла: rar Книга533.rar (37.3 Кб, 7 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.01.2011, 23:59   #17
Parabellum
 
Регистрация: 12.01.2011
Сообщений: 7
По умолчанию

Уважаемые IgorGO и doober, большое спасибо за ваше терпение и советы. Не ожидал, что в Excel'е для решения на первый взгляд такой простой задачи потребуются какие-либо обходные пути.
Parabellum вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при обращении эксель к ворду. RGZZ Microsoft Office Excel 0 16.06.2010 17:17
Ошибка при обращении к интернет странице Alter Свободное общение 2 06.08.2008 22:25
Связанные таблицы - проблема при обращении к полю БД nataly_ukr БД в Delphi 7 13.11.2007 10:47
Пропадает картинка на форме при обращении к цвету dimfil Общие вопросы Delphi 1 10.11.2007 11:58
не хавает русского шрифта из Delphi при обращении к БД Pitbull БД в Delphi 4 11.06.2007 09:57