А зазор между ними или их длина - дело взаимосвязанное.
А зазоров будет столько же сколько деталей или на один меньше/больше? Например варианты: 1) между 2-мя деталями один зазор 2) 2 зазора (например считаем только с низу детали) 3) 3 зазора (считаем между деталями 1 зазор и по одному с верху и снизу) Судя по всему у вас второй вариант. Или задачу я вообще не так понял?
А зазор между ними или их длина - дело взаимосвязанное.
А зазоров будет столько же сколько деталей или на один меньше/больше? Например варианты: 1) между 2-мя деталями один зазор 2) 2 зазора (например считаем только с низу детали) 3) 3 зазора (считаем между деталями 1 зазор и по одному с верху и снизу) Судя по всему у вас второй вариант. Или задачу я вообще не так понял?DrMini
egorus, Может так подойдёт? Я для наглядности защитил лист без пароля. Вводите данные только в ячейки выделенные жирной линией. Вроде интересненько получилось.
egorus, Может так подойдёт? Я для наглядности защитил лист без пароля. Вводите данные только в ячейки выделенные жирной линией. Вроде интересненько получилось. DrMini
вычислить_зазор_по_Y2 означает выражение для определения зазора, если задана высота Если заданы/отсутствуют оба числа, возможно, потребуется дать сообщение об ошибке
Можно просто заполнять нужную ячейку, а другую оставлять пустой. Если высота в Y2, а зазор в O12 В формулах вместо высоты (Y2) использовать выражение
вычислить_зазор_по_Y2 означает выражение для определения зазора, если задана высота Если заданы/отсутствуют оба числа, возможно, потребуется дать сообщение об ошибкеscriptapplications
Сообщение отредактировал scriptapplications - Среда, 09.11.2022, 20:24
Целый день периодически вчитывался в эту тему, пытаясь понять, что надо сделать. Вроде, наконец, понял - спасибо коллегам DrMini и scriptapplications за тормошение автора и наводящие попытки решения.
Мой вариант этого "калькулятора" состоит из двух формул с использованием функции ЕФОРМУЛА - для встречных перекрестных проверок. За счет применения этой функции удалось избежать циклических ссылок и необходимости включать итерации. Формулы такие:
для Высоты в ячейке Y2:
Код
=ЕСЛИ(ЕФОРМУЛА(O12);"";(O16-O12*O8)/O8)
т.е. (длина - зазор * колво) / колво .
для Зазора в ячейке O12:
Код
=ЕСЛИ(ЕФОРМУЛА(Y2);"";(O16-Y2*O8)/O8)
т.е. (длина - высота * колво) / колво .
Поведение пользователя такое: * Либо вводим Высоту в Y2 и, соответственно, получаем Зазор в O12 ( например, ввели 32 => получили 4,28571 ) * Либо вводим Зазор в O12 и, соответственно, получаем Высоту в Y2 ( например, ввели 4,28571 => получили 32 )
Разумеется, в обоих случаях при вводе значения (константы) в одну из этих ячеек ранее имеющаяся в ней формула разрушается и исчезает. При этом оставшаяся формула в "контра"-ячейке "оживает" и вычисляет результат.
После запоминания результата вычисления жмём Ctrl+Z для отката - отмены последнего ввода и возвращения обеих ячеек в исходное "спящее" состояние.
Понятно, что схема не самая удобная и носит, скорее, экспериментальный характер. Но это максимум, что можно сделать без привлечения макросов. А также, тем не менее, приятно то, что это таки можно сделать!
Целый день периодически вчитывался в эту тему, пытаясь понять, что надо сделать. Вроде, наконец, понял - спасибо коллегам DrMini и scriptapplications за тормошение автора и наводящие попытки решения.
Мой вариант этого "калькулятора" состоит из двух формул с использованием функции ЕФОРМУЛА - для встречных перекрестных проверок. За счет применения этой функции удалось избежать циклических ссылок и необходимости включать итерации. Формулы такие:
для Высоты в ячейке Y2:
Код
=ЕСЛИ(ЕФОРМУЛА(O12);"";(O16-O12*O8)/O8)
т.е. (длина - зазор * колво) / колво .
для Зазора в ячейке O12:
Код
=ЕСЛИ(ЕФОРМУЛА(Y2);"";(O16-Y2*O8)/O8)
т.е. (длина - высота * колво) / колво .
Поведение пользователя такое: * Либо вводим Высоту в Y2 и, соответственно, получаем Зазор в O12 ( например, ввели 32 => получили 4,28571 ) * Либо вводим Зазор в O12 и, соответственно, получаем Высоту в Y2 ( например, ввели 4,28571 => получили 32 )
Разумеется, в обоих случаях при вводе значения (константы) в одну из этих ячеек ранее имеющаяся в ней формула разрушается и исчезает. При этом оставшаяся формула в "контра"-ячейке "оживает" и вычисляет результат.
После запоминания результата вычисления жмём Ctrl+Z для отката - отмены последнего ввода и возвращения обеих ячеек в исходное "спящее" состояние.
Понятно, что схема не самая удобная и носит, скорее, экспериментальный характер. Но это максимум, что можно сделать без привлечения макросов. А также, тем не менее, приятно то, что это таки можно сделать!Gustav