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

Вход

Регистрация

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

 

= Мир MS Excel/Предпоследние значение по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Предпоследние значение по условию (Формулы)
Предпоследние значение по условию
Sineril Дата: Воскресенье, 05.01.2014, 00:26 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 80% ±

Excel 2010
С новым годом, товарищи!

Помогите пожалуйста с выводом предпоследнего значения из таблицы по условию.
Ума не приложу, как задать функциям sumproduct или lookup предпоследнее значение из всей таблицы.

P.S. решить без формул массива.
К сообщению приложен файл: ___.xls (8.0 Kb)


Сообщение отредактировал Sineril - Воскресенье, 05.01.2014, 00:32
 
Ответить
СообщениеС новым годом, товарищи!

Помогите пожалуйста с выводом предпоследнего значения из таблицы по условию.
Ума не приложу, как задать функциям sumproduct или lookup предпоследнее значение из всей таблицы.

P.S. решить без формул массива.

Автор - Sineril
Дата добавления - 05.01.2014 в 00:26
Serge_007 Дата: Воскресенье, 05.01.2014, 00:48 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Не понял почему в 4-й строке требуется 30, в остальном так:
Код
=ЕСЛИ(СЧЁТЕСЛИ(A$2:A2;A2)=1;B2;ПРОСМОТР(7;1/(A1:A$2=A2);B1:B$2))
К сообщению приложен файл: Sineril.xls (30.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНе понял почему в 4-й строке требуется 30, в остальном так:
Код
=ЕСЛИ(СЧЁТЕСЛИ(A$2:A2;A2)=1;B2;ПРОСМОТР(7;1/(A1:A$2=A2);B1:B$2))

Автор - Serge_007
Дата добавления - 05.01.2014 в 00:48
Sineril Дата: Воскресенье, 05.01.2014, 14:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 80% ±

Excel 2010
Да, вы правы! В 4-й строке ошибочно указал.

Код
ПРОСМОТР(7;1/(A1:A$2=A2);B1:B$2)
- функция отлично работает на excel, но на Libre отказывается (ошибка "делить на 0" с многократными вылетами).

Поясните, пожалуйста, что происходит внутри функции ПРОСМОТР. Как я понимаю, цифра 7 стоит просто, что все поля функции были заполнены, можно ввести что-угодно. А "1/(A1:A$2=A2)" работает как проверка на наличие в массиве А1:А2 истинных значений. соответствующих А2 , иначе 0. Спишу на магию excel.


Сообщение отредактировал Serge_007 - Понедельник, 06.01.2014, 21:33
 
Ответить
СообщениеДа, вы правы! В 4-й строке ошибочно указал.

Код
ПРОСМОТР(7;1/(A1:A$2=A2);B1:B$2)
- функция отлично работает на excel, но на Libre отказывается (ошибка "делить на 0" с многократными вылетами).

Поясните, пожалуйста, что происходит внутри функции ПРОСМОТР. Как я понимаю, цифра 7 стоит просто, что все поля функции были заполнены, можно ввести что-угодно. А "1/(A1:A$2=A2)" работает как проверка на наличие в массиве А1:А2 истинных значений. соответствующих А2 , иначе 0. Спишу на магию excel.

Автор - Sineril
Дата добавления - 05.01.2014 в 14:02
vikttur Дата: Воскресенье, 05.01.2014, 16:01 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

ПРОСМОТР() игнорирует ошибки, например: 1/(A1:A$2=A2) при ЛОЖЬ - 1/0
Т.е. формируется массив из единиц и ошибок. Функция находит последнее значение массива (не ошибку) и показывает значение второго диапазона.
Вместо 7 может быть число, не меньшее за единицу.
 
Ответить
СообщениеПРОСМОТР() игнорирует ошибки, например: 1/(A1:A$2=A2) при ЛОЖЬ - 1/0
Т.е. формируется массив из единиц и ошибок. Функция находит последнее значение массива (не ошибку) и показывает значение второго диапазона.
Вместо 7 может быть число, не меньшее за единицу.

Автор - vikttur
Дата добавления - 05.01.2014 в 16:01
Sineril Дата: Воскресенье, 05.01.2014, 19:58 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 80% ±

Excel 2010
Подскажите, чем можно заменить 1/(A1:A$2=A2),а то Либра не проглатывает. Пробовал ^(-1) и использование
Код
=LOOKUP(999;IFERROR(A5:A$2=A6;0);B5:B$2)
, но не помогло. Во втором случае значение не первого выводится по неверному условию.
 
Ответить
СообщениеПодскажите, чем можно заменить 1/(A1:A$2=A2),а то Либра не проглатывает. Пробовал ^(-1) и использование
Код
=LOOKUP(999;IFERROR(A5:A$2=A6;0);B5:B$2)
, но не помогло. Во втором случае значение не первого выводится по неверному условию.

Автор - Sineril
Дата добавления - 05.01.2014 в 19:58
Sineril Дата: Понедельник, 06.01.2014, 16:44 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 80% ±

Excel 2010
Спасибо огромное, народ, за помощь!
Особенно всегда радует скорость ответа - 15-30 минут, во время публикации темы глубокой ночью!

Формула была доработана до такого вида
Код
=IF(COUNTIF(A$2:A9;A9)=1;B9;INDEX($B$1:B9;SUMPRODUCT(MAX(ROW($A$2:A8)*($A$2:A8=A9));1)))


Помогли разобраться с Либрой здесь http://forumooo.ru/index.php/topic,3876.new.html#new
Прикладываю файл со всеми примерами решений.

Всех с рождеством!
К сообщению приложен файл: Sineril_2.ods (14.6 Kb)


Сообщение отредактировал Serge_007 - Понедельник, 06.01.2014, 21:31
 
Ответить
СообщениеСпасибо огромное, народ, за помощь!
Особенно всегда радует скорость ответа - 15-30 минут, во время публикации темы глубокой ночью!

Формула была доработана до такого вида
Код
=IF(COUNTIF(A$2:A9;A9)=1;B9;INDEX($B$1:B9;SUMPRODUCT(MAX(ROW($A$2:A8)*($A$2:A8=A9));1)))


Помогли разобраться с Либрой здесь http://forumooo.ru/index.php/topic,3876.new.html#new
Прикладываю файл со всеми примерами решений.

Всех с рождеством!

Автор - Sineril
Дата добавления - 06.01.2014 в 16:44
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Предпоследние значение по условию (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

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