Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Получит последнюю не пустую ячейку в столбце с данными - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получит последнюю не пустую ячейку в столбце с данными (Формулы/Formulas)
Получит последнюю не пустую ячейку в столбце с данными
lopuxi Дата: Четверг, 27.01.2022, 14:56 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
История такая, есть расположенные горизонтальные данные в таблице, над ними в шапке, всегда есть даты по дням. Мне нужно найти первую и последнюю ячейку, для определения по ним даты. Другими словами начало проекта и конец проекта.
Определение первой даты, есть решение
Код
=ИНДЕКС($G$6:$Y$6;1;СУММПРОИЗВ(ПОИСКПОЗ("*?*";(""&G8:Y8);0)))

Шкала с датами может быть разной один от одного месяца до всех 12 месяцев.
Найти последнее занесенное значение я не смог. Может у вас будут какие то предложения, как бы это можно было бы вычислить и найти последнюю заполненную строчку в массиве?

Файл с примером прилагаю
Спасибо!
К сообщению приложен файл: 3991248.xlsx (12.0 Kb)


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Четверг, 27.01.2022, 15:02
 
Ответить
СообщениеИстория такая, есть расположенные горизонтальные данные в таблице, над ними в шапке, всегда есть даты по дням. Мне нужно найти первую и последнюю ячейку, для определения по ним даты. Другими словами начало проекта и конец проекта.
Определение первой даты, есть решение
Код
=ИНДЕКС($G$6:$Y$6;1;СУММПРОИЗВ(ПОИСКПОЗ("*?*";(""&G8:Y8);0)))

Шкала с датами может быть разной один от одного месяца до всех 12 месяцев.
Найти последнее занесенное значение я не смог. Может у вас будут какие то предложения, как бы это можно было бы вычислить и найти последнюю заполненную строчку в массиве?

Файл с примером прилагаю
Спасибо!

Автор - lopuxi
Дата добавления - 27.01.2022 в 14:56
bigor Дата: Четверг, 27.01.2022, 15:16 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1075
Репутация: 205 ±
Замечаний: 0% ±

нет
Так?
Код
=LOOKUP(1;1/($G$7:$Y$7);$G$6:$Y$6)
 
Ответить
СообщениеТак?
Код
=LOOKUP(1;1/($G$7:$Y$7);$G$6:$Y$6)

Автор - bigor
Дата добавления - 27.01.2022 в 15:16
lopuxi Дата: Четверг, 27.01.2022, 15:26 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Так?

=ПРОСМОТР(1;1/($G$7:$Y$7);$G$6:$Y$6)


Это Гениально) Оно работает! благодарю добрый человек. Низкий поклон тебе :)


О_о ...и так можно было?
 
Ответить
Сообщение
Так?

=ПРОСМОТР(1;1/($G$7:$Y$7);$G$6:$Y$6)


Это Гениально) Оно работает! благодарю добрый человек. Низкий поклон тебе :)

Автор - lopuxi
Дата добавления - 27.01.2022 в 15:26
bmv98rus Дата: Четверг, 27.01.2022, 15:42 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
bigor, на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 27.01.2022, 15:44
 
Ответить
Сообщениеbigor, на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.

Автор - bmv98rus
Дата добавления - 27.01.2022 в 15:42
bigor Дата: Четверг, 27.01.2022, 15:48 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1075
Репутация: 205 ±
Замечаний: 0% ±

нет
bmv98rus, Спасибо, учту.
lopuxi, с учетом замечаний
Код
=LOOKUP(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)
 
Ответить
Сообщениеbmv98rus, Спасибо, учту.
lopuxi, с учетом замечаний
Код
=LOOKUP(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)

Автор - bigor
Дата добавления - 27.01.2022 в 15:48
lopuxi Дата: Четверг, 27.01.2022, 16:51 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
а данных из примера все

на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.


А я вот не совсем понял. Можно по подробнее, как это сравнивать не на пустоту и как тогда должна выглядеть формула?

это вот это имелось введу?
Код
ПРОСМОТР(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)


И мне вот не совсем понятно, почему "искомое значение" может быть любым числом, выводится все все равно верно) Это какая то магия?)


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Четверг, 27.01.2022, 16:55
 
Ответить
Сообщение
а данных из примера все

на данных из примера все отработает корректно, но стоит отметить, что формула может пошутить. Если данные будут например 3,2,1,0.5, то вместо последнего будет найден предпоследний, конечно это маловероятно но .... по этому лучше сравнивать на непусто. да и искать лучше 2 а то округлит не так и опять все пропало.


А я вот не совсем понял. Можно по подробнее, как это сравнивать не на пустоту и как тогда должна выглядеть формула?

это вот это имелось введу?
Код
ПРОСМОТР(2;1/($G$7:$Y$7<>"");$G$6:$Y$6)


И мне вот не совсем понятно, почему "искомое значение" может быть любым числом, выводится все все равно верно) Это какая то магия?)

Автор - lopuxi
Дата добавления - 27.01.2022 в 16:51
bmv98rus Дата: Четверг, 27.01.2022, 17:53 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4099
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
почему "искомое значение" может быть любым числом
не любым, оно должно быть больше результата деления ли на крайний случай равно ему.

Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резултат сравнения будет или 1, если ячейка не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 28.01.2022, 15:45
 
Ответить
Сообщение
почему "искомое значение" может быть любым числом
не любым, оно должно быть больше результата деления ли на крайний случай равно ему.

Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резултат сравнения будет или 1, если ячейка не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.

Автор - bmv98rus
Дата добавления - 27.01.2022 в 17:53
lopuxi Дата: Пятница, 28.01.2022, 14:26 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения больше менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резудтат сравнения будет или 1, если ячека не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.


Это гениально !)


О_о ...и так можно было?
 
Ответить
Сообщение
Используется свойство функцией просмотр, в случае неупорядоченных значений бежать до конца массива но игнорировать ошибки. В первом варианте при делении 1 на целые числа, результаты все менее 1 или ошибка если в ячейке пусто. Но как я показал , если будут значения больше менее 1 то при делении может быть 2 и более и если массив будет упорядочен, то будет найдено значение ближайшее меньшее или равное искомому. Чтоб этого избежать ставится условие, что ячейка заполнена. При делении на резудтат сравнения будет или 1, если ячека не равна "", или ошибка. поиск из набора единиц в перемешку с ошибками найдет последнюю единицу. Примерно так.


Это гениально !)

Автор - lopuxi
Дата добавления - 28.01.2022 в 14:26
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получит последнюю не пустую ячейку в столбце с данными (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!