Доброй ночи Всем. Есть следующая задача. Некоторый плоский материал состоит из множества слоев. В табличном виде задается порядковый номер очередного слоя и его толщина. Пример этого в таблице 1. Задача: В случае, если толщина очередного слоя превышает 0,2, необходимо разбить слой на толщины с шагом 0,2. Ну и конечно же должна быть обозначена конечная толщина очередного слоя. Пример такого, изменённого разбиения показан в таблице 2. Как это делать в ВБА я знаю. Но хотелось бы всё это сделать с помощью обычных формул. Возможно ли это? Спасибо ___________ Юрий.
Доброй ночи Всем. Есть следующая задача. Некоторый плоский материал состоит из множества слоев. В табличном виде задается порядковый номер очередного слоя и его толщина. Пример этого в таблице 1. Задача: В случае, если толщина очередного слоя превышает 0,2, необходимо разбить слой на толщины с шагом 0,2. Ну и конечно же должна быть обозначена конечная толщина очередного слоя. Пример такого, изменённого разбиения показан в таблице 2. Как это делать в ВБА я знаю. Но хотелось бы всё это сделать с помощью обычных формул. Возможно ли это? Спасибо ___________ Юрий.Юрий_Нд
В случае, если толщина очередного слоя превышает 0,2, необходимо разбить слой на толщины с шагом 0,2.
В моём понимании немного не увязывается логика разбиения толстых слоёв. Если для дальнейших расчётов слои не должны превышать 0,2 , их надо разбивать на 0,2+0,2+0,2+остаток, а не 0,2+0,4+0,6+полная толщина. И формула разбивки получится проще. *Ячейки J6 и K6
В случае, если толщина очередного слоя превышает 0,2, необходимо разбить слой на толщины с шагом 0,2.
В моём понимании немного не увязывается логика разбиения толстых слоёв. Если для дальнейших расчётов слои не должны превышать 0,2 , их надо разбивать на 0,2+0,2+0,2+остаток, а не 0,2+0,4+0,6+полная толщина. И формула разбивки получится проще. *Ячейки J6 и K6
В моём понимании немного не увязывается логика разбиения толстых слоёв. Если для дальнейших расчётов слои не должны превышать 0,2 , их надо разбивать на 0,2+0,2+0,2+остаток,
Именно так и нужно делать. Хотя, товарищи, должен сказать, что не думал, что формула окажется такой сложной. Думаю, что нужно всё-таки подключать ВБА. Потому, что там нужно ещё соблюсти несколько нюансов. Постараюсь показать всю задачу в ближайшее время. В любом случае, очень благодарю Вас за активное участие в решении моих проблем.
п.с. Да и с количеством слоев. Вроде бы больше 10 это достаточное экзотическая ситуация, но всё-таки не хотелось бы ограничивать.
В моём понимании немного не увязывается логика разбиения толстых слоёв. Если для дальнейших расчётов слои не должны превышать 0,2 , их надо разбивать на 0,2+0,2+0,2+остаток,
Именно так и нужно делать. Хотя, товарищи, должен сказать, что не думал, что формула окажется такой сложной. Думаю, что нужно всё-таки подключать ВБА. Потому, что там нужно ещё соблюсти несколько нюансов. Постараюсь показать всю задачу в ближайшее время. В любом случае, очень благодарю Вас за активное участие в решении моих проблем.
п.с. Да и с количеством слоев. Вроде бы больше 10 это достаточное экзотическая ситуация, но всё-таки не хотелось бы ограничивать.Юрий_Нд
Сообщение отредактировал Юрий_Нд - Четверг, 06.09.2018, 19:43
Ещё раз тысячу извинений. Всё-таки решение поставленной мною задачи с помощью стандартных формул Excel получается очень непрозрачным, то есть трудный для понимания, а следовательно для редактирования, допустим через год. Поэтому обращаюсь ко Всем с просьбой решить данную задачу с помощью средств ВБА. Аналогичная тема существует в разделе Excel vbа, но возможно, если модератор сочтет нужным не плодить темы, тогда я прошу ответить в этом разделе. Да вот еще. В исходном файле разбиение 2 слоя идёт как 0.2, 0.4 и 0.51. Это неверно. Должно быть всё как в приложенном здесь файле Excel, или слой номер 2 имеет толщину больше чем 0.2, то есть его толщина 0.51. Следовательно этот слой делится на толщины кратные 0.2. То есть, сначала толщина 0.2, затем толщина ещё раз 0.2, и наконец остаток толщины 0.11. В итоге получаем что толщина слоя 0.51 разбивается на три слоя 0.2 + 0.2 + 0.11.
Ещё раз тысячу извинений. Всё-таки решение поставленной мною задачи с помощью стандартных формул Excel получается очень непрозрачным, то есть трудный для понимания, а следовательно для редактирования, допустим через год. Поэтому обращаюсь ко Всем с просьбой решить данную задачу с помощью средств ВБА. Аналогичная тема существует в разделе Excel vbа, но возможно, если модератор сочтет нужным не плодить темы, тогда я прошу ответить в этом разделе. Да вот еще. В исходном файле разбиение 2 слоя идёт как 0.2, 0.4 и 0.51. Это неверно. Должно быть всё как в приложенном здесь файле Excel, или слой номер 2 имеет толщину больше чем 0.2, то есть его толщина 0.51. Следовательно этот слой делится на толщины кратные 0.2. То есть, сначала толщина 0.2, затем толщина ещё раз 0.2, и наконец остаток толщины 0.11. В итоге получаем что толщина слоя 0.51 разбивается на три слоя 0.2 + 0.2 + 0.11.Юрий_Нд
Формула берёт наименьшее значение из 0,2 и нескольких положительных разниц между последовательными суммами исходных толщин и уже занесённых в таблицу толщин. Если слой толстый, то 0,2 будет меньше его остатка - выбираем 0,2 до тех пор, пока остаток не станет меньше 0,2. Как-то заумно получилось. По-другому: Находим суммы первых одного, двух, трёх и т.д. элементов исходных данных. Из них вычитаем сумму толщин уже занесённых в результат слоёв. Оставляем только положительные значения. Находим из них и значения 0,2 минимальное значение.
Формула берёт наименьшее значение из 0,2 и нескольких положительных разниц между последовательными суммами исходных толщин и уже занесённых в таблицу толщин. Если слой толстый, то 0,2 будет меньше его остатка - выбираем 0,2 до тех пор, пока остаток не станет меньше 0,2. Как-то заумно получилось. По-другому: Находим суммы первых одного, двух, трёх и т.д. элементов исходных данных. Из них вычитаем сумму толщин уже занесённых в результат слоёв. Оставляем только положительные значения. Находим из них и значения 0,2 минимальное значение.Светлый
Доброго дня всем. Светлый, при попытке "разрешить редактирование" Вашего файла, как я понимаю, формулы перестают работать. Это можно как-то объяснить? Красавчик, а Ваша-моя таблица замечательно работает. Спасибо Всем.
Доброго дня всем. Светлый, при попытке "разрешить редактирование" Вашего файла, как я понимаю, формулы перестают работать. Это можно как-то объяснить? Красавчик, а Ваша-моя таблица замечательно работает. Спасибо Всем.Юрий_Нд