История такая, есть расположенные горизонтальные данные в таблице, над ними в шапке, всегда есть даты по дням. Мне нужно найти первую и последнюю ячейку, для определения по ним даты. Другими словами начало проекта и конец проекта. Определение первой даты, есть решение
Шкала с датами может быть разной один от одного месяца до всех 12 месяцев. Найти последнее занесенное значение я не смог. Может у вас будут какие то предложения, как бы это можно было бы вычислить и найти последнюю заполненную строчку в массиве?
Файл с примером прилагаю Спасибо!
История такая, есть расположенные горизонтальные данные в таблице, над ними в шапке, всегда есть даты по дням. Мне нужно найти первую и последнюю ячейку, для определения по ним даты. Другими словами начало проекта и конец проекта. Определение первой даты, есть решение
Шкала с датами может быть разной один от одного месяца до всех 12 месяцев. Найти последнее занесенное значение я не смог. Может у вас будут какие то предложения, как бы это можно было бы вычислить и найти последнюю заполненную строчку в массиве?
bigor, на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.
bigor, на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Четверг, 27.01.2022, 15:44
на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.
А я вот не совсем понял. Можно по подробнее, как это сравнивать не на пустоту и как тогда должна выглядеть формула?
это вот это имелось введу?
Код
ПРОСМОТР(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)
И мне вот не совсем понятно, почему "искомое значение" может быть любым числом, выводится все все равно верно) Это какая то магия?)
на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.
А я вот не совсем понял. Можно по подробнее, как это сравнивать не на пустоту и как тогда должна выглядеть формула?
это вот это имелось введу?
Код
ПРОСМОТР(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)
И мне вот не совсем понятно, почему "искомое значение" может быть любым числом, выводится все все равно верно) Это какая то магия?)lopuxi
О_о ...и так можно было?
Сообщение отредактировал lopuxi - Четверг, 27.01.2022, 16:55
не любым, оно должно быть больше результата деления ли на крайний случай равно ему.
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резултат сравнения будет или 1, если ячейка не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.
не любым, оно должно быть больше результата деления ли на крайний случай равно ему.
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резултат сравнения будет или 1, если ячейка не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Пятница, 28.01.2022, 15:45
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения больше менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резудтат сравнения будет или 1, если ячека не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения больше менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резудтат сравнения будет или 1, если ячека не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.