Доброго времени суток, уважаемые форумчане. Проблема состоит в том, что расчёт данных происходит через ссылки на "Градуировочную" таблицу по "Типу резервуара" и "Высота налива всего, см". Когда высота налива - целое число, формула работает. А как сделать, чтобы он считал если высота налива была например 101,4 ???
Нужно будет округлить число в большую сторону, потом от большего значения в градуировочной таблице (индекс 102) отнять меньшее (индекс 101) и если число 101,4 нужно эту разницу разделить на 10 и умножить на 4. А потом из значения (индекса) 101 прибавить число полученное ранее.
Математически я себе это представляю. А как перевести в Excel не хватает опыта. В общем помогите, советом или делом. С уважением, Вадим.
Доброго времени суток, уважаемые форумчане. Проблема состоит в том, что расчёт данных происходит через ссылки на "Градуировочную" таблицу по "Типу резервуара" и "Высота налива всего, см". Когда высота налива - целое число, формула работает. А как сделать, чтобы он считал если высота налива была например 101,4 ???
Нужно будет округлить число в большую сторону, потом от большего значения в градуировочной таблице (индекс 102) отнять меньшее (индекс 101) и если число 101,4 нужно эту разницу разделить на 10 и умножить на 4. А потом из значения (индекса) 101 прибавить число полученное ранее.
Математически я себе это представляю. А как перевести в Excel не хватает опыта. В общем помогите, советом или делом. С уважением, Вадим.Fell4bsk
Уважаемый AlexM, я прочитал правила форума. Дело в том, что моя таблица даже при составлении 5-10 строк весит более 100кб. А чтобы понять суть, желательно просмотреть её в "полном" варианте. (как мне кажется) Надеюсь ссылки не возбраняются. Добавил "пример" в конце заголовка.
Уважаемый AlexM, я прочитал правила форума. Дело в том, что моя таблица даже при составлении 5-10 строк весит более 100кб. А чтобы понять суть, желательно просмотреть её в "полном" варианте. (как мне кажется) Надеюсь ссылки не возбраняются. Добавил "пример" в конце заголовка.Fell4bsk
Сообщение отредактировал Fell4bsk - Пятница, 11.10.2013, 10:36
Как я понял нужна линейная интерполяция. Поясните на примере одной строки расчет. Например строка 16 Тип резервуара - РВС-1001 На листе "Градуировочная таблица" в соответствующем столбце ищем ближайшее значение из какой ячейки листа "Ведомость"??? А после нахождения и вычисления значения в какую ячейку вставить?
Как я понял нужна линейная интерполяция. Поясните на примере одной строки расчет. Например строка 16 Тип резервуара - РВС-1001 На листе "Градуировочная таблица" в соответствующем столбце ищем ближайшее значение из какой ячейки листа "Ведомость"??? А после нахождения и вычисления значения в какую ячейку вставить?AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Пятница, 11.10.2013, 10:45
На строке 16 значение "высота налива" 503 при типе резервуара РВС-1001 . Значение на соотв. индексе 847946. А если значение "Высота налива" было бы 503,3 следовало бы взять значение на листе "Градуировочная таблица" Q504 отнять Q503 разделить на 10 и умножить на 3. А в столбце "Объем всего, л" на листе "Ведомость" М16="Градуировочная таблица" Q503 + число полученное (Q504 отнять Q503 разделить на 10 и умножить на 3 ) Результат должен быть в ячейке "ведомость" "Объем всего, л" 16 строка.
Если уж совсем коротко, как я уже писал - если числа целые, то форума работает. Но мне нужно сделать вычисления если значения имеют не целые значения (округлённые до сесятых).
На строке 16 значение "высота налива" 503 при типе резервуара РВС-1001 . Значение на соотв. индексе 847946. А если значение "Высота налива" было бы 503,3 следовало бы взять значение на листе "Градуировочная таблица" Q504 отнять Q503 разделить на 10 и умножить на 3. А в столбце "Объем всего, л" на листе "Ведомость" М16="Градуировочная таблица" Q503 + число полученное (Q504 отнять Q503 разделить на 10 и умножить на 3 ) Результат должен быть в ячейке "ведомость" "Объем всего, л" 16 строка.
Если уж совсем коротко, как я уже писал - если числа целые, то форума работает. Но мне нужно сделать вычисления если значения имеют не целые значения (округлённые до сесятых).Fell4bsk
Сообщение отредактировал Fell4bsk - Пятница, 11.10.2013, 10:53
ой-ой-ой как не красиво, задача из простых на первый взгляд, только для чего в градуированой таблице вместо строки заголовка вставлены текстбоксы? не проще ли первую строку сделать обычным заголовком??? и разъясните по строкам в таблице.... например столбец А это у Вас Р-25 и вниз в этом столбце 9, 26, 48... и т.д. что это за данные? Если я правильно понимаю то когда вы добавите идентификатор по строкам в грудуированой таблице, то формула типа:
ой-ой-ой как не красиво, задача из простых на первый взгляд, только для чего в градуированой таблице вместо строки заголовка вставлены текстбоксы? не проще ли первую строку сделать обычным заголовком??? и разъясните по строкам в таблице.... например столбец А это у Вас Р-25 и вниз в этом столбце 9, 26, 48... и т.д. что это за данные? Если я правильно понимаю то когда вы добавите идентификатор по строкам в грудуированой таблице, то формула типа:
Спасибо, Градуировочная таблица, сделана не мною. Я могу её упросить Вашим способом, но как мне это поможет делать вычисления нужным мне способом? Вся задачка в том, что я не понимаю, как сделать так, чтобы если число было не целым, то вычислялась разница между двумя значениями смежных результатов в градуировочной таблице. и при этом делилась на 10 и умножалась на остаток после запятой.
Спасибо, Градуировочная таблица, сделана не мною. Я могу её упросить Вашим способом, но как мне это поможет делать вычисления нужным мне способом? Вся задачка в том, что я не понимаю, как сделать так, чтобы если число было не целым, то вычислялась разница между двумя значениями смежных результатов в градуировочной таблице. и при этом делилась на 10 и умножалась на остаток после запятой.Fell4bsk
Кстати, может помогу чем-то, чтобы объяснить наглядно на строке 16. Допустим, значение НЕ 503, а 503,3. Тогда должен получиться результат в столбце "Объем всего, л" на листе "Ведомость" М16 = 848451,2
Кстати, может помогу чем-то, чтобы объяснить наглядно на строке 16. Допустим, значение НЕ 503, а 503,3. Тогда должен получиться результат в столбце "Объем всего, л" на листе "Ведомость" М16 = 848451,2Fell4bsk
Я даже не знаю, как Вас благодарить!!! Супер! Мне самое главное чтобы работала! Буду разбираться, т.к. мне придётся её скоро перенести в другую подобную таблицу.
Я даже не знаю, как Вас благодарить!!! Супер! Мне самое главное чтобы работала! Буду разбираться, т.к. мне придётся её скоро перенести в другую подобную таблицу.Fell4bsk
Определяет значение для индекса из G16. Индекс берется округленным в меньшую сторону, если он дробный. Никаких специальных действий для этого не надо применять.
Код
ОСТАТ(G16;1)
Отделяет дробную часть индекса. Если дробная часть у индекса есть, то берется значение со следующим индексом, это фрагмент
, иначе 0 Из значения с большим индексом отнимается значение с меньшим индексом и умножается на дробную часть индекса. То что получается прибавляется к значению меньшего индекса. Вроде все.
Определяет значение для индекса из G16. Индекс берется округленным в меньшую сторону, если он дробный. Никаких специальных действий для этого не надо применять.
Код
ОСТАТ(G16;1)
Отделяет дробную часть индекса. Если дробная часть у индекса есть, то берется значение со следующим индексом, это фрагмент
, иначе 0 Из значения с большим индексом отнимается значение с меньшим индексом и умножается на дробную часть индекса. То что получается прибавляется к значению меньшего индекса. Вроде все.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.