|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.09.2010, 10:37 | #1 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 73
|
подстчет прироста значения после последнего замера
Умные люди, подскажите как организовать.
Имеется простая таблица замеряемых объектов., : Объект----дата замера----показатель---- предыдущее значение – прирост Первые три столбца – вводятся, последние два – надо подставлять и рассчитывать Мне надо, чтобы для каждой даты замера подыскивалось из списка предыдущее (по дате) значение показателя, и можно было вычислить прирост показателя за время, прошедшее с последнего замера. Пока строки отсортированы (на первом листе примера) это еще полбеды. Но беда еще в том, что строки могут быть неотсортированы (на втором листе примера) Мне надо найти решение в неотсортированном варианте. Последний раз редактировалось getikalex; 23.09.2010 в 10:39. |
23.09.2010, 15:03 | #2 |
Форумчанин
Регистрация: 05.08.2009
Сообщений: 465
|
Можно так (формула массива):
Код:
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
|
23.09.2010, 15:27 | #3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
getikalex забыл указать нюанс,что за один день может быть несколько замеров.
Внесены они могут быть в любое время. Я уже сталкивался с такими данными в его предыдущей теме. getikalex вам надо немного модеренизировать тот макрос,и проблема решится
Анализ,обработка данных Недорого
|
23.09.2010, 16:29 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Через ИНДЕКС и ПОИСКПОЗ
Код:
За счет этого у меня с DV68 не совпало значение. Дока пишет, что ПРОСМОТР годится только для сортированных массивов. ПОИСКПОЗ с точным совпадением остановился на первой дате, которая равна критерию поиска, а ПРОСМОТР искал первую, которая будет больше, чтобы забрать предыдущее значение...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.09.2010, 17:52 | #5 |
Форумчанин
Регистрация: 05.08.2009
Сообщений: 465
|
Массив для ИНДЕКСа можно просто $D$2:$D$16.
А ПРОСМОТРу, по-моему, все равно, сортирован массив или нет, если вводить как формулу массива.
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
|
23.09.2010, 18:20 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
"для ИНДЕКСа можно просто $D$2:$D$16" - согласен и короче и быстрее
для ПРОСМОТРА в этом случае оказалось все-равно, потому что все даты больше текущей заменены на ЛОЖЬ, а так бы ПРОСМОТР нарвался на первую дату больше текущей, и выдал бы значение по предыдущей строке ПРОСМОТР(4;{1;2;5;3;4}) выдаст 2 как результат, согласно описанного выше алгоритма работы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.09.2010, 18:30 | #7 |
Форумчанин
Регистрация: 05.08.2009
Сообщений: 465
|
Да, действительно, спасибо.
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
|
23.09.2010, 18:58 | #8 |
Форумчанин
Регистрация: 26.11.2006
Сообщений: 584
|
Код:
|
23.09.2010, 21:17 | #9 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 73
|
В конечном итоге предложенные варианты выдают ошибочное значение в "красных" строках .
Можно этого избежать ? PS. Да, задачку я сходу недооценил... А решение хотя бы для отсортированного варианта без красных строк может кто-то подсказать ? PPS. 2 doober. Макросы редактировать - дело непростое, но это еще не все. Надо знать алгоритм, как именно добиться результата. Пока еще этот алгоритм не нашел... Последний раз редактировалось getikalex; 23.09.2010 в 22:48. |
23.09.2010, 23:12 | #10 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
а можно полюбопытствовать, как Вами получены предыдущие значения в этих самых красных строках? и чем отличаются красные строки (кроме цвета заливки) от отстальных, не красных?
общий алгоритм был понятен: по обьектам по датам есть показатели. предыдущим показателем считается самый поздний из ранее снятых по данному обьекту показателей. такого показателя может и не быть, если это первый замер на обьекте. вопросы прежние: 1.каков алгоритм определения предыдущего показателя для красной строки? 2.как отличить красную строку от обычной? 3.какое значение считать предыдущим, если есть несколько измерений за один день? потому что руководствуясь стандартным алгоритмом, посчитано все правильно. возможно, в данных, которые вы заполнили в ручном режиме есть ошибка - Вы не допускаете такой мысли?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дано предложение. Между словами предложения один пробел, а после последнего слова точка. | Vadim123456 | Помощь студентам | 0 | 01.05.2010 23:28 |
сумму элементов массива, расположенных после последнего элемента, равного нулю. | R@Ziel | Помощь студентам | 2 | 17.12.2009 23:44 |
консоль закрывается сразу после выполнения последнего действия | F4RR3LL | Общие вопросы C/C++ | 2 | 14.09.2008 20:43 |
Указание последнего в строке значения прерывистого ряда значений. | Baloo007 | Microsoft Office Excel | 10 | 06.08.2008 15:20 |
Автоматическая подстановка последнего значения | d_yure | Microsoft Office Excel | 9 | 28.12.2007 08:30 |