И снова здравствуйте! В моем расчете появилась новая загвоздка, в решении которой, надеюсь, мне помогут. Теперь уже не выходит подобрать значение "вверх" или "вниз" при условиях: Если в столбце "ДАН/НЕТ" значение "ДА" - то Начало и Конец "вверх" Если в столбце "ДАН/НЕТ" значение "НЕТ" - то Начало и Конец "вниз" Если в столбце "ДАН/НЕТ" значение "" - то Начало и Конец будет "вверх"/"вниз" или "вниз"/"вверх" и зависеть от направления в предыдущей позиции. Например, если в Секторе и Позиции 7/1 - начало "вверх" конец "вниз", то в 14/2 будет также начало "вверх" и конец "вниз" (ДА/НЕТ пустое значение). Соответственно если в 14/2 - начало "вверх" а конец "вниз", то в 1/3 будет также начало "вверх" и конец "вниз" (ДА/НЕТ пустое значение). По сути Начало будет "вверх" при значении ДА - плоть до значения НЕТ - Начало "вниз" Также и Конец будет "вниз" при значении ДА - плоть до значения НЕТ - Конец "вверх"
Пример вкратце со сдвигом 7 (зациклено):
... 8/4 - вверх вниз 15/5 - вверх вниз 2/6 - вверх вверх - ДА 9/7 - вниз вверх 16/8 - вниз вверх ... 18/14 - вниз вверх 5/15 - вниз вверх 12/16 - вниз вниз - НЕТ 19/17 - вверх вниз 6/18 - вверх вниз ...
Зеленый столбец в прикрепленном файле как пример заполнения.
И снова здравствуйте! В моем расчете появилась новая загвоздка, в решении которой, надеюсь, мне помогут. Теперь уже не выходит подобрать значение "вверх" или "вниз" при условиях: Если в столбце "ДАН/НЕТ" значение "ДА" - то Начало и Конец "вверх" Если в столбце "ДАН/НЕТ" значение "НЕТ" - то Начало и Конец "вниз" Если в столбце "ДАН/НЕТ" значение "" - то Начало и Конец будет "вверх"/"вниз" или "вниз"/"вверх" и зависеть от направления в предыдущей позиции. Например, если в Секторе и Позиции 7/1 - начало "вверх" конец "вниз", то в 14/2 будет также начало "вверх" и конец "вниз" (ДА/НЕТ пустое значение). Соответственно если в 14/2 - начало "вверх" а конец "вниз", то в 1/3 будет также начало "вверх" и конец "вниз" (ДА/НЕТ пустое значение). По сути Начало будет "вверх" при значении ДА - плоть до значения НЕТ - Начало "вниз" Также и Конец будет "вниз" при значении ДА - плоть до значения НЕТ - Конец "вверх"
Пример вкратце со сдвигом 7 (зациклено):
... 8/4 - вверх вниз 15/5 - вверх вниз 2/6 - вверх вверх - ДА 9/7 - вниз вверх 16/8 - вниз вверх ... 18/14 - вниз вверх 5/15 - вниз вверх 12/16 - вниз вниз - НЕТ 19/17 - вверх вниз 6/18 - вверх вниз ...
Зеленый столбец в прикрепленном файле как пример заполнения.valiane
Вручную заполняются данные только в столбик "ДА/НЕТ" (в примере 2й сектор - ДА, 12й - НЕТ), в "Сектора" (в примере 20) и в "Сдвиг" (в примере 7). В ячейки столбика "ДА/НЕТ" ставятся значения "ДА", "НЕТ" или оставляются поля пустыми. Всё остальное автоматом просчитывается и выводится в табличном виде. От значений в "Сектора" (20) и в "Сдвиг" (7) зависят результаты в столбце "Позиция". (работает) Зависимость Направлений "вверх" и "вниз" зависят в первую очередь от столбца"ДА/НЕТ". Направления при "ДА" вводятся только начало - "вверх", конец - "вверх"; при "НЕТ" - "вниз", "вниз". Второстепенно при пустых ("") ячейках "ДА/НЕТ" а затем уже и от вышеперечисленных условий (текущая позиция (не № сектора!); направление "начало/конец" - "вверх/вниз" или "вниз/вверх"; направление в предыдущей позиции в "начало" и "конец"; и возможно от сдвига).
Значения "ДА" и "НЕТ" могут ставиться в любых местах столбца "ДА/НЕТ", в любом порядке и количестве. Главное чтобы от них зависел весь остальной расчет.
Вручную заполняются данные только в столбик "ДА/НЕТ" (в примере 2й сектор - ДА, 12й - НЕТ), в "Сектора" (в примере 20) и в "Сдвиг" (в примере 7). В ячейки столбика "ДА/НЕТ" ставятся значения "ДА", "НЕТ" или оставляются поля пустыми. Всё остальное автоматом просчитывается и выводится в табличном виде. От значений в "Сектора" (20) и в "Сдвиг" (7) зависят результаты в столбце "Позиция". (работает) Зависимость Направлений "вверх" и "вниз" зависят в первую очередь от столбца"ДА/НЕТ". Направления при "ДА" вводятся только начало - "вверх", конец - "вверх"; при "НЕТ" - "вниз", "вниз". Второстепенно при пустых ("") ячейках "ДА/НЕТ" а затем уже и от вышеперечисленных условий (текущая позиция (не № сектора!); направление "начало/конец" - "вверх/вниз" или "вниз/вверх"; направление в предыдущей позиции в "начало" и "конец"; и возможно от сдвига).
Значения "ДА" и "НЕТ" могут ставиться в любых местах столбца "ДА/НЕТ", в любом порядке и количестве. Главное чтобы от них зависел весь остальной расчет.valiane
Сообщение отредактировал valiane - Среда, 12.08.2015, 11:24
1. Что должно быть, если 20 секторов и сдвиг 5? 2. Сколько может быть записей ДА и НЕТ? 3. Может ли быть так, что количество ДА не равно количеству НЕТ? 4. Позиция для ДА (у нас сейчас 6) должна быть меньше позиции для соответствующей НЕТ (16) или произвольно?
1. Что должно быть, если 20 секторов и сдвиг 5? 2. Сколько может быть записей ДА и НЕТ? 3. Может ли быть так, что количество ДА не равно количеству НЕТ? 4. Позиция для ДА (у нас сейчас 6) должна быть меньше позиции для соответствующей НЕТ (16) или произвольно?_Boroda_
_Boroda_, 1. Пересчитываются результаты в "Позиция" и всё остальное зависящее (в данном примере направления "начало" и "конец") 2. Записей "ДА" и "НЕТ" может быть сколько угодно и в любой ячейке столбца "ДА/НЕТ" 3. Пока количество "ДА" равно количеству "НЕТ". В будущем если потребуется - буду над этим думать. 4. Произвольно. Данные "Сектора", "Сдвиг" и "ДА/НЕТ" вводятся вручную. Остальное дело правильного расчета
_Boroda_, 1. Пересчитываются результаты в "Позиция" и всё остальное зависящее (в данном примере направления "начало" и "конец") 2. Записей "ДА" и "НЕТ" может быть сколько угодно и в любой ячейке столбца "ДА/НЕТ" 3. Пока количество "ДА" равно количеству "НЕТ". В будущем если потребуется - буду над этим думать. 4. Произвольно. Данные "Сектора", "Сдвиг" и "ДА/НЕТ" вводятся вручную. Остальное дело правильного расчета valiane
_Boroda_, да, это нормально. В данном случае значит нельзя брать 20 секторов с шагом 5, т.к. 4/5 таблицы будет пустой. Для других примеров нужно брать такие числа, чтобы при делении одно на другое было число с остатком (не целое). Например 31 сектор и 4 шаг, 41 сектор и шаг 11 и т.д. Я в дальнейших расчетах буду брать варианты, когда все Позиции заняты.
_Boroda_, да, это нормально. В данном случае значит нельзя брать 20 секторов с шагом 5, т.к. 4/5 таблицы будет пустой. Для других примеров нужно брать такие числа, чтобы при делении одно на другое было число с остатком (не целое). Например 31 сектор и 4 шаг, 41 сектор и шаг 11 и т.д. Я в дальнейших расчетах буду брать варианты, когда все Позиции заняты.valiane
Udik, что вы имеете ввиду под "странно" и под "мой столбец нач. совпадает с целевым конец"? И в Вашем варианте результаты в столбцах "нач" и "кон" поменялись местами. Это важно чтобы они совпадали с ручным расчетом, приведенным в зеленой колонке.
После предварительной проверки с другими данными вроде всё сходится, кроме того что результаты поменяны местами (это думаю легко сам подкорректирую). Нужно еще пощупать на правильность расчета. В любом случае спасибо за помощь. Она бесценна.
Udik, что вы имеете ввиду под "странно" и под "мой столбец нач. совпадает с целевым конец"? И в Вашем варианте результаты в столбцах "нач" и "кон" поменялись местами. Это важно чтобы они совпадали с ручным расчетом, приведенным в зеленой колонке.
После предварительной проверки с другими данными вроде всё сходится, кроме того что результаты поменяны местами (это думаю легко сам подкорректирую). Нужно еще пощупать на правильность расчета. В любом случае спасибо за помощь. Она бесценна. valiane
Вот это самое и имел ввиду, просто у меня опорный столбец нач. , а у Вас, видимо, конец. Соответственно нужно будет поменять местами длинную и короткую формулу, и в короткой ссылки подправить. Ну или названия столбцов обменять
Вот это самое и имел ввиду, просто у меня опорный столбец нач. , а у Вас, видимо, конец. Соответственно нужно будет поменять местами длинную и короткую формулу, и в короткой ссылки подправить. Ну или названия столбцов обменять Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Udik, появилась новая проблема и дополнительный вопрос. Проблема в том, что при вставке нового куска таблицы и правке ссылок под свой расчет появилось предупреждение о цикличности ссылки. Всё проверил, ссылки соответствуют нужным ячейкам, но расчет проводится с ошибками. И вопрос: в длинной формуле
есть два места, где отнимается цифра 6. Откуда эта шестерка взята?
Udik, появилась новая проблема и дополнительный вопрос. Проблема в том, что при вставке нового куска таблицы и правке ссылок под свой расчет появилось предупреждение о цикличности ссылки. Всё проверил, ссылки соответствуют нужным ячейкам, но расчет проводится с ошибками. И вопрос: в длинной формуле
Шестерка это смещение таблицы от первой строки, т.к. Строка() использует нумерацию листа, а Индекс() нумерацию внутри диапазона. В примере данные шли с 7 строки, Индекс начинает работать с 1, вот чтобы из 7 получить 1 и вычитается 6. В принципе конструкция
сделана чтобы избежать нуля при при пересчете ссылок внутри кольца, может кто покрасивее способ знает. == Поменял формулы под нужные столбцы, вроде нормально считает, не вижу ошибку (на 45 секторах результат отличен от 20, даже в первых строках).
Шестерка это смещение таблицы от первой строки, т.к. Строка() использует нумерацию листа, а Индекс() нумерацию внутри диапазона. В примере данные шли с 7 строки, Индекс начинает работать с 1, вот чтобы из 7 получить 1 и вычитается 6. В принципе конструкция
сделана чтобы избежать нуля при при пересчете ссылок внутри кольца, может кто покрасивее способ знает. == Поменял формулы под нужные столбцы, вроде нормально считает, не вижу ошибку (на 45 секторах результат отличен от 20, даже в первых строках).Udik
Udik, спасибо! Подправил эту шестерку и всё заработало) Единственное мне вот интересно... Допустим мне нужно сделать смещение результатов на листе в столбце Конец (длинная формула) скажем на 2 пункта вниз. Т.е. все результаты сместятся на 2 ячейки вниз, а 2 нижние перейдут по цепочке наверх. Или наоборот. Например на 5 пунктов вверх. Как это можно было бы воплотить?
Udik, спасибо! Подправил эту шестерку и всё заработало) Единственное мне вот интересно... Допустим мне нужно сделать смещение результатов на листе в столбце Конец (длинная формула) скажем на 2 пункта вниз. Т.е. все результаты сместятся на 2 ячейки вниз, а 2 нижние перейдут по цепочке наверх. Или наоборот. Например на 5 пунктов вверх. Как это можно было бы воплотить?valiane
Если правильно понял вы про Сдвиг, сейчас он равен 7 (ячейка Д3), теоретически менять именно там надо. Но тут на некоторых цифрах вылазят предупреждения о циклических ссылках, значит надо либо цифру сдвига подбирать, либо добавлять ДА/НЕТ, чтобы ошибку убрать.
Если правильно понял вы про Сдвиг, сейчас он равен 7 (ячейка Д3), теоретически менять именно там надо. Но тут на некоторых цифрах вылазят предупреждения о циклических ссылках, значит надо либо цифру сдвига подбирать, либо добавлять ДА/НЕТ, чтобы ошибку убрать.Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Нет. Сдвиг влияет на весь расчет в целом. А я говорю о дополнительном смещении значений только в столбце "Конец". Т.е. добавляется еще одна ячейка для ввода данных, в которой указывается число дополнительного смещения.
Нет. Сдвиг влияет на весь расчет в целом. А я говорю о дополнительном смещении значений только в столбце "Конец". Т.е. добавляется еще одна ячейка для ввода данных, в которой указывается число дополнительного смещения.valiane
Смещение только в столбце Конец не получиться, на него завязан столбец Начало. А так проще сделать отдельную ячейку для сдвига внутри столбца, т.е. вместо Д3, допустим В3, но возможных проблем с циклическими ссылками это не отменяет.
Смещение только в столбце Конец не получиться, на него завязан столбец Начало. А так проще сделать отдельную ячейку для сдвига внутри столбца, т.е. вместо Д3, допустим В3, но возможных проблем с циклическими ссылками это не отменяет.Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Насчет циклических ссылок - их желательно избежать, т.к. расчет может быть не верным, а это значит изменить формулы. Да и вообще мне кажется их просто не должно быть. В Вашем последнем варианте я попробовал расширить до 120 секторов со сдвигом 37. Результат тот же - выскакивает сообщение о циклических ссылках.
Насчет циклических ссылок - их желательно избежать, т.к. расчет может быть не верным, а это значит изменить формулы. Да и вообще мне кажется их просто не должно быть. В Вашем последнем варианте я попробовал расширить до 120 секторов со сдвигом 37. Результат тот же - выскакивает сообщение о циклических ссылках.valiane
Так они изначально у Вас в алгоритм заложены, кольцо оно и есть кольцо. Просто при везении цикличность разрывается из-за ДА/НЕТ.
Хм. Я считал что как раз из-за значений ДА и НЕТ цикличности тут нет, и расчет пляшет от этих значений в стороны. А в графе "ДА/НЕТ" должны присутствовать как минимум по 1 значению ДА и НЕТ.
Так они изначально у Вас в алгоритм заложены, кольцо оно и есть кольцо. Просто при везении цикличность разрывается из-за ДА/НЕТ.
Хм. Я считал что как раз из-за значений ДА и НЕТ цикличности тут нет, и расчет пляшет от этих значений в стороны. А в графе "ДА/НЕТ" должны присутствовать как минимум по 1 значению ДА и НЕТ.