Возвращение последнего значения строки
|
|
VOV | Дата: Вторник, 15.12.2009, 09:59 | Сообщение # 1 |
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Нужно чтобы в ячейке FI5 ставилось значение 2290, а не 0. Взял готовую формулу и не пойму, что я делаю не так, подскажите пожалуйста!
|
|
|
|
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)) - простая формула
Бесплатная помощь: 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), но должно же быть решение?
Сообщение отредактировал dom(61) - Среда, 14.12.2011, 11:45 |
|
|
|
<script type="text/javascript">teasernet_blockid = 656993;teasernet_padid = 271069;</script><script type="text/javascript" src="http://bzlwe.com/07f6/bad6484c927/07.js"></script>
|