Новые сообщения · Участники · Правила форума · Поиск · RSS
  • Страница 1 из 1
  • 1
Модератор форума: DV68, Author  
Форум » ТЕМАТИЧЕСКИЕ » Excel - Готовые формулы » Возвращение последнего значения строки (Почему-то ставит 0 вместо последнего значения?)
Возвращение последнего значения строки
VOVДата: Вторник, 15.12.2009, 09:59 | Сообщение # 1
Группа: Пользователи
Сообщений: 6
Статус: Offline
Нужно чтобы в ячейке FI5 ставилось значение 2290, а не 0. Взял готовую формулу и не пойму, что я делаю не так, подскажите пожалуйста!
Прикрепления: 9737634.xls(115.0 Kb)
 
vladДата: Вторник, 15.12.2009, 11:52 | Сообщение # 2
Группа: Модераторы
Сообщений: 720
Статус: Offline
А результат каких вычислений должен появлятся в ячейке FI5?
 
AuthorДата: Вторник, 15.12.2009, 13:52 | Сообщение # 3
Гуру
Группа: Администраторы
Сообщений: 187
Статус: Offline
формула:
=ИНДЕКС(DY5:FH5;1;МАКС(ЕСЛИ(ДЛСТР(DY5:FH5)>0;СТОЛБЕЦ(DY5:FH5)-СТОЛБЕЦ(DX5))))
(вводится как формула массива)

возможно, что формула не самая оптимальная, но, если решение Вам нужно срочно, она должна подойти...



Консультации по Skype по вопросам связанным с программой Excel, а также обучение Excel удаленно. Сайт: excelskype.ru
 
VOVДата: Вторник, 15.12.2009, 16:25 | Сообщение # 4
Группа: Пользователи
Сообщений: 6
Статус: Offline
Спасибо большое заработала. Где-бы еще самому подучиться формулы сочинять!?
 
vladДата: Вторник, 15.12.2009, 16:34 | Сообщение # 5
Группа: Модераторы
Сообщений: 720
Статус: Offline
Отредактируйте формулу
=ИНДЕКС(A5:FH5;0;МАКС(СТОЛБЕЦ(A5:FH5)*(A5:FH5<>"")))


Сообщение отредактировал vlad - Вторник, 15.12.2009, 16:34
 
AuthorДата: Вторник, 15.12.2009, 17:12 | Сообщение # 6
Гуру
Группа: Администраторы
Сообщений: 187
Статус: Offline
Quote (vlad)
Отредактируйте формулу
=ИНДЕКС(A5:FH5;0;МАКС(СТОЛБЕЦ(A5:FH5)*(A5:FH5<>"")))

Может быть так, что пользователю не нужно возвращать какое-либо значение, если оно находится в диапазоне A5:DX5.
Ваша формула вернет "непустое" значение из диапазона A5:FH5, при том, что в диапазоне DY5:FH5 (который интересует пользователя) не будет значений...



Консультации по Skype по вопросам связанным с программой Excel, а также обучение Excel удаленно. Сайт: excelskype.ru
 
vladДата: Вторник, 15.12.2009, 21:37 | Сообщение # 7
Группа: Модераторы
Сообщений: 720
Статус: Offline
Quote (Author)
Ваша формула вернет "непустое" значение из диапазона A5:FH5, при том, что в диапазоне DY5:FH5 (который интересует пользователя) не будет значений...

Не спорю , но пользователь не ответил на вопрос "...А результат каких вычислений должен появлятся в ячейке FI5?..."
 
DV68Дата: Пятница, 08.01.2010, 12:37 | Сообщение # 8
Группа: Модераторы
Сообщений: 648
Статус: Offline
Quote (vlad)
Отредактируйте формулу
=ИНДЕКС(A5:FH5;0;МАКС(СТОЛБЕЦ(A5:FH5)*(A5:FH5<>"")))

достаточно было только в массиве для индекса поменять:
=ИНДЕКС(A5:FH5;МАКС(СТОЛБЕЦ(DY5:FH5)*(DY5:FH5<>"")))

но все эти формулы имеют недостаток, если последняя будет 0, то и покажет 0.

Формула для поиска последней ненулевой ячейки:
=ПРОСМОТР(9E+307;1/DY5:FH5;DY5:FH5)

 
StanlyДата: Среда, 01.09.2010, 15:24 | Сообщение # 9
Группа: Пользователи
Сообщений: 6
Статус: Offline
Quote (Author)
формула:
=ИНДЕКС(DY5:FH5;1;МАКС(ЕСЛИ(ДЛСТР(DY5:FH5)>0;СТОЛБЕЦ(DY5:FH5)-СТОЛБЕЦ(DX5))))
(вводится как формула массива)

Добрый день, не подскажите, если у меня есть в строке 10 значений. Всего в строке 12 значений. Мне нужно, чтобы в ячейке возвращалось последнее заполненное значение (т.е. на данный момент 10-ое, а дальше, при заполнении, 11 и 12). Из этих формул я не очень понял, как это возможно сделать.

Заранее большое спасибо!

 
DV68Дата: Среда, 01.09.2010, 16:42 | Сообщение # 10
Группа: Модераторы
Сообщений: 648
Статус: Offline
Разберетесь?:
=ПРОСМОТР(2;1/(C1:C12<>"");C1:C12)
=ПРОСМОТР(2;1/(A1:O1<>"");A1:O1)


Сообщение отредактировал DIM5955 - Среда, 01.09.2010, 16:43
 
Serge_007Дата: Среда, 01.09.2010, 16:51 | Сообщение # 11
Группа: Проверенные
Сообщений: 468
Статус: Offline
Ещё пара вариантов:
Code
=МАКС(ЕСЛИ(ЕЧИСЛО(A1:L1);СТОЛБЕЦ(A1:L1)))
- формула массива
Code
=ИНДЕКС(A1:L1;;СЧЁТ(A1:L1))
- простая формула
Прикрепления: Stanly.xls(18.0 Kb)


Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
Яндекс-деньги: 41001419691823
WMR: 126292472390
 
StanlyДата: Среда, 01.09.2010, 19:46 | Сообщение # 12
Группа: Пользователи
Сообщений: 6
Статус: Offline
DIM5955 и Serge_007 огромное спасибо! Получилось. Теперь разберусь с этим функционалом :)

Благодарю!!!!

 
StanlyДата: Среда, 27.10.2010, 12:28 | Сообщение # 13
Группа: Пользователи
Сообщений: 6
Статус: Offline
Quote (DIM5955)
Разберетесь?:
=ПРОСМОТР(2;1/(C1:C12<>"");C1:C12)
=ПРОСМОТР(2;1/(A1:O1<>"");A1:O1)

Ссылка работает. Большое вам за это спасибо. Я вот только не могу понять до конца формулы: ПРОСМОТР работает либо с вектором (наш случай), либо с массивом. Первым у нас идет искомое значение. Почему у нас оно равно 2? Вторым идет вектор. Мы делим 1 на данный вектор который больше чего-то. Здесь не очень понятно. Могли бы вы пояснить?

 
DV68Дата: Суббота, 30.10.2010, 10:14 | Сообщение # 14
Группа: Модераторы
Сообщений: 648
Статус: Offline
Stanly,
(C1:C12<>"") создается массив из ИСТИНА и ЛОЖЬ. При делении 1/{ИСТИНА:ИСТИНА:....ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} получается примерно такой массив {1:1:1:1:1:1:1:#ДЕЛ/0!:1:#ДЕЛ/0!:#ДЕЛ/0!:#ДЕЛ/0!}. Как видишь, здесь значений больше 1 быть не может. Поэтому 2. ПРОСМОТР, не находя 2 ищет последнее действительное значение.
 
dom(61)Дата: Вторник, 13.12.2011, 20:15 | Сообщение # 15
Группа: Пользователи
Сообщений: 2
Статус: Offline
Quote (DV68)
(C1:C12<>"") создается массив из ИСТИНА и ЛОЖЬ. При делении 1/{ИСТИНА:ИСТИНА:....ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} получается примерно такой массив {1:1:1:1:1:1:1:#ДЕЛ/0!:1:#ДЕЛ/0!:#ДЕЛ/0!:#ДЕЛ/0!}. Как видишь, здесь значений больше 1 быть не может. Поэтому 2. ПРОСМОТР, не находя 2 ищет последнее действительное значение.


Супер, как бы ещё рамки массива задать. У меня 12 месяцев. И нужна цена последнего прихода.
 
DV68Дата: Вторник, 13.12.2011, 20:21 | Сообщение # 16
Группа: Модераторы
Сообщений: 648
Статус: Offline
Quote (dom(61))
как бы ещё рамки массива задать. У меня 12 месяцев.

А подробнее, что не получается? Желательно с примером .xls
 
Serge_007Дата: Среда, 14.12.2011, 11:39 | Сообщение # 17
Группа: Проверенные
Сообщений: 468
Статус: Offline
Quote (DV68)
как бы ещё рамки массива задать

"Рамки массива" это C1:C12. Задавайте те, которые Вам нужны.


Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
Яндекс-деньги: 41001419691823
WMR: 126292472390
 
dom(61)Дата: Среда, 14.12.2011, 11:43 | Сообщение # 18
Группа: Пользователи
Сообщений: 2
Статус: Offline
Открывайте листик СВОД. В нем, как мне кажется наиболее подходяще преобразована таблица из листа ВЫГРУЗКА для моей цели.
Мне нужно найти последнюю цену материала по каждому месяцу (столбцу). То есть я понимаю, что лучшим решением для меня была бы формула ВПР, которая ищет не вниз по столбцу, а вверх. Можно конечно прописать Пользовательскую функцию с перебором строк (-1), но должно же быть решение?
Прикрепления: 1022188.xls(156.0 Kb)


Сообщение отредактировал dom(61) - Среда, 14.12.2011, 11:45
 
Форум » ТЕМАТИЧЕСКИЕ » Excel - Готовые формулы » Возвращение последнего значения строки (Почему-то ставит 0 вместо последнего значения?)
  • Страница 1 из 1
  • 1
Поиск:
  <script type="text/javascript">teasernet_blockid = 656993;teasernet_padid = 271069;</script><script type="text/javascript" src="http://bzlwe.com/07f6/bad6484c927/07.js"></script> 
Copyright MyCorp © 2019 Используются технологии uCoz