ВПР по максимальному значению в другом столбце
Stormy
Дата: Вторник, 03.03.2015, 14:50 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
Доброго времени суток, уважаемые форумчане! Немного запутался в формуле с применением ВПР. Вроде бы решал уже такую задачу, но не могу вспомнить как . Надеюсь на вашу помощь.
Доброго времени суток, уважаемые форумчане! Немного запутался в формуле с применением ВПР. Вроде бы решал уже такую задачу, но не могу вспомнить как . Надеюсь на вашу помощь. Stormy
Место для рекламы.
Ответить
Сообщение Доброго времени суток, уважаемые форумчане! Немного запутался в формуле с применением ВПР. Вроде бы решал уже такую задачу, но не могу вспомнить как . Надеюсь на вашу помощь. Автор - Stormy Дата добавления - 03.03.2015 в 14:50
_Boroda_
Дата: Вторник, 03.03.2015, 14:57 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Для Вашего файла можно так, например: Формула массива Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
Код
=ОСТАТ(МАКС((G6:G19=B6)*J6:J19+H6:H19);1)
обычная формула Код
=ОСТАТ(СУММПРОИЗВ(МАКС((G6:G19=B6)*J6:J19+H6:H19));1)
Для Вашего файла можно так, например: Формула массива Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
Код
=ОСТАТ(МАКС((G6:G19=B6)*J6:J19+H6:H19);1)
обычная формула Код
=ОСТАТ(СУММПРОИЗВ(МАКС((G6:G19=B6)*J6:J19+H6:H19));1)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Для Вашего файла можно так, например: Формула массива Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
Код
=ОСТАТ(МАКС((G6:G19=B6)*J6:J19+H6:H19);1)
обычная формула Код
=ОСТАТ(СУММПРОИЗВ(МАКС((G6:G19=B6)*J6:J19+H6:H19));1)
Автор - _Boroda_ Дата добавления - 03.03.2015 в 14:57
Nic70y
Дата: Вторник, 03.03.2015, 14:59 |
Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9131
Репутация:
2415
±
Замечаний:
0% ±
Excel 2010
а может такКод
=ИНДЕКС(H6:H19;ПОИСКПОЗ(СУММПРОИЗВ(МАКС((B6=G6:G19)*J6:J19));J6:J19);0)
а может такКод
=ИНДЕКС(H6:H19;ПОИСКПОЗ(СУММПРОИЗВ(МАКС((B6=G6:G19)*J6:J19));J6:J19);0)
Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Вторник, 03.03.2015, 14:59
Ответить
Сообщение а может такКод
=ИНДЕКС(H6:H19;ПОИСКПОЗ(СУММПРОИЗВ(МАКС((B6=G6:G19)*J6:J19));J6:J19);0)
Автор - Nic70y Дата добавления - 03.03.2015 в 14:59
Stormy
Дата: Вторник, 03.03.2015, 15:29 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , Nic70y , Благодарю, уважаемые. Вспомнил. Решал через СУММЕСЛИ , но ваши варианты намного проще.
_Boroda_ , Nic70y , Благодарю, уважаемые. Вспомнил. Решал через СУММЕСЛИ , но ваши варианты намного проще.Stormy
Место для рекламы.
Ответить
Сообщение _Boroda_ , Nic70y , Благодарю, уважаемые. Вспомнил. Решал через СУММЕСЛИ , но ваши варианты намного проще.Автор - Stormy Дата добавления - 03.03.2015 в 15:29
Stormy
Дата: Вторник, 03.03.2015, 17:02 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , А как быть, если в формуле еще нужно добавить условие I6:I19 = 3 ? Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
_Boroda_ , А как быть, если в формуле еще нужно добавить условие I6:I19 = 3 ? Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
Stormy
Место для рекламы.
Сообщение отредактировал Stormy - Вторник, 03.03.2015, 17:03
Ответить
Сообщение _Boroda_ , А как быть, если в формуле еще нужно добавить условие I6:I19 = 3 ? Код
=ОСТАТ(МАКС(ЕСЛИ(G6:G19=B6;J6:J19+H6:H19));1)
Автор - Stormy Дата добавления - 03.03.2015 в 17:02
_Boroda_
Дата: Вторник, 03.03.2015, 17:13 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Под ЕСЛИ еще условие засунуть Код
=ОСТАТ(МАКС(ЕСЛИ((I6:I19=3)*(G6:G19=B6);J6:J19+H6:H19));1)
Под ЕСЛИ еще условие засунуть Код
=ОСТАТ(МАКС(ЕСЛИ((I6:I19=3)*(G6:G19=B6);J6:J19+H6:H19));1)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Под ЕСЛИ еще условие засунуть Код
=ОСТАТ(МАКС(ЕСЛИ((I6:I19=3)*(G6:G19=B6);J6:J19+H6:H19));1)
Автор - _Boroda_ Дата добавления - 03.03.2015 в 17:13
jakim
Дата: Вторник, 03.03.2015, 22:21 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1218
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
Ещё одна массивная формула
Код
=INDEX(H6:H19;MATCH(1;(G6:G19=B6)*(J6:J19=MAX(J6:J19*(I6:I19=3)));0))
Ещё одна массивная формула
Код
=INDEX(H6:H19;MATCH(1;(G6:G19=B6)*(J6:J19=MAX(J6:J19*(I6:I19=3)));0))
jakim
Ответить
Сообщение Ещё одна массивная формула
Код
=INDEX(H6:H19;MATCH(1;(G6:G19=B6)*(J6:J19=MAX(J6:J19*(I6:I19=3)));0))
Автор - jakim Дата добавления - 03.03.2015 в 22:21
Stormy
Дата: Среда, 04.03.2015, 09:03 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , Странно, если цена выше 1 , то выдает остаток после запятой. jakim , Благодарю. Выдает ошибку #Н/Д
_Boroda_ , Странно, если цена выше 1 , то выдает остаток после запятой. jakim , Благодарю. Выдает ошибку #Н/ДStormy
Место для рекламы.
Сообщение отредактировал Stormy - Среда, 04.03.2015, 09:18
Ответить
Сообщение _Boroda_ , Странно, если цена выше 1 , то выдает остаток после запятой. jakim , Благодарю. Выдает ошибку #Н/ДАвтор - Stormy Дата добавления - 04.03.2015 в 09:03
Stormy
Дата: Среда, 04.03.2015, 09:24 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
Код
{=МАКС(ЕСЛИ((G6:G19=B6)*(I6:I19=3);J6:J19+H6:H19-J6:J19))}
Так работает, но начинаются проблемы, если в диапазоне Регионы ( I6:I19) два или больше региона под номером 3 , которые соответствуют B6 в диапазоне G6:G19
Код
{=МАКС(ЕСЛИ((G6:G19=B6)*(I6:I19=3);J6:J19+H6:H19-J6:J19))}
Так работает, но начинаются проблемы, если в диапазоне Регионы ( I6:I19) два или больше региона под номером 3 , которые соответствуют B6 в диапазоне G6:G19Stormy
Место для рекламы.
Ответить
Сообщение Код
{=МАКС(ЕСЛИ((G6:G19=B6)*(I6:I19=3);J6:J19+H6:H19-J6:J19))}
Так работает, но начинаются проблемы, если в диапазоне Регионы ( I6:I19) два или больше региона под номером 3 , которые соответствуют B6 в диапазоне G6:G19Автор - Stormy Дата добавления - 04.03.2015 в 09:24
_Boroda_
Дата: Среда, 04.03.2015, 09:37 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
если цена выше 1 , то выдает остаток после запятой.
Все правильно. Из-за куска +H6:H19. Я думал, что это проценты. <1. Можно тогда так: Код
=ИНДЕКС(H6:H19;ПОИСКПОЗ(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19);J6:J19;))
или немассивная Код
=ПРОСМОТР(;-1/(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19)=J6:J19);H6:H19)
если цена выше 1 , то выдает остаток после запятой.
Все правильно. Из-за куска +H6:H19. Я думал, что это проценты. <1. Можно тогда так: Код
=ИНДЕКС(H6:H19;ПОИСКПОЗ(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19);J6:J19;))
или немассивная Код
=ПРОСМОТР(;-1/(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19)=J6:J19);H6:H19)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение если цена выше 1 , то выдает остаток после запятой.
Все правильно. Из-за куска +H6:H19. Я думал, что это проценты. <1. Можно тогда так: Код
=ИНДЕКС(H6:H19;ПОИСКПОЗ(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19);J6:J19;))
или немассивная Код
=ПРОСМОТР(;-1/(МАКС((G6:G19=B6)*(I6:I19=3)*J6:J19)=J6:J19);H6:H19)
Автор - _Boroda_ Дата добавления - 04.03.2015 в 09:37
Stormy
Дата: Пятница, 06.03.2015, 16:44 |
Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , На примере все работает. Переношу формулу на основной лист ( около 20000 строк) выдает ошибку НД . Не могу понять в чем проблема
_Boroda_ , На примере все работает. Переношу формулу на основной лист ( около 20000 строк) выдает ошибку НД . Не могу понять в чем проблемаStormy
Место для рекламы.
Ответить
Сообщение _Boroda_ , На примере все работает. Переношу формулу на основной лист ( около 20000 строк) выдает ошибку НД . Не могу понять в чем проблемаАвтор - Stormy Дата добавления - 06.03.2015 в 16:44
Stormy
Дата: Суббота, 07.03.2015, 07:57 |
Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , Доброе утро )) Добрался до рабочего компьютера, сейчас буду пробовать. О результатах отчитаюсь позже В примере кусок реального файла. Первый столбец это ИД товара, второй цена, третий столбец регион ( для каждой группы фирм используется своя цена, в нашем случае нужен идентификатор под №3) четвертый столбец это порядковый номер изменений цен. Все эти данные я получаю из базы на Аксесс ( написана сторонним разработчиком) на лист в Экзеле. Дальше на другом листе у меня есть перечень товаров на котором нужно сравнивать цены ( порядка 200 наименований). Моя задача получить последнею цену для региона 3 для каждого товара.
_Boroda_ , Доброе утро )) Добрался до рабочего компьютера, сейчас буду пробовать. О результатах отчитаюсь позже В примере кусок реального файла. Первый столбец это ИД товара, второй цена, третий столбец регион ( для каждой группы фирм используется своя цена, в нашем случае нужен идентификатор под №3) четвертый столбец это порядковый номер изменений цен. Все эти данные я получаю из базы на Аксесс ( написана сторонним разработчиком) на лист в Экзеле. Дальше на другом листе у меня есть перечень товаров на котором нужно сравнивать цены ( порядка 200 наименований). Моя задача получить последнею цену для региона 3 для каждого товара.Stormy
Место для рекламы.
Ответить
Сообщение _Boroda_ , Доброе утро )) Добрался до рабочего компьютера, сейчас буду пробовать. О результатах отчитаюсь позже В примере кусок реального файла. Первый столбец это ИД товара, второй цена, третий столбец регион ( для каждой группы фирм используется своя цена, в нашем случае нужен идентификатор под №3) четвертый столбец это порядковый номер изменений цен. Все эти данные я получаю из базы на Аксесс ( написана сторонним разработчиком) на лист в Экзеле. Дальше на другом листе у меня есть перечень товаров на котором нужно сравнивать цены ( порядка 200 наименований). Моя задача получить последнею цену для региона 3 для каждого товара.Автор - Stormy Дата добавления - 07.03.2015 в 07:57
_Boroda_
Дата: Суббота, 07.03.2015, 18:15 |
Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Первый столбец это ИД товара
Следовательно, там значения не всегда по порядку и ИНДЕКС():ИНДЕКС() их не возьмет. Тогда моя задумка облегчения не прокатит, она реальна только для упорядоченного первого столбца. Зато вот это четвертый столбец это порядковый номер изменений цен.
позволит нам вообще не использовать 4-й столбец, ведь он-то по возрастанию получается Тогда формулу можно записать так: Код
=ПРОСМОТР(;-1/((I6:I19=3)*G6:G19=B6);H6:H19)
- обычная илиКод
=ПРОСМОТР(;-1/(ЕСЛИ(I6:I19=3;G6:G19)=B6);H6:H19)
- массивная, но должна быть пошустрее первой А - возможно, где-то в таблице ошибка затесалась в данных? Или просто нет в списке такого товара или тройки у этого товара. Или значения текстом, а не числами. Засуньте тогда формулу вовнутрь ЕСЛИОШИБКА.
Первый столбец это ИД товара
Следовательно, там значения не всегда по порядку и ИНДЕКС():ИНДЕКС() их не возьмет. Тогда моя задумка облегчения не прокатит, она реальна только для упорядоченного первого столбца. Зато вот это четвертый столбец это порядковый номер изменений цен.
позволит нам вообще не использовать 4-й столбец, ведь он-то по возрастанию получается Тогда формулу можно записать так: Код
=ПРОСМОТР(;-1/((I6:I19=3)*G6:G19=B6);H6:H19)
- обычная илиКод
=ПРОСМОТР(;-1/(ЕСЛИ(I6:I19=3;G6:G19)=B6);H6:H19)
- массивная, но должна быть пошустрее первой А - возможно, где-то в таблице ошибка затесалась в данных? Или просто нет в списке такого товара или тройки у этого товара. Или значения текстом, а не числами. Засуньте тогда формулу вовнутрь ЕСЛИОШИБКА._Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Первый столбец это ИД товара
Следовательно, там значения не всегда по порядку и ИНДЕКС():ИНДЕКС() их не возьмет. Тогда моя задумка облегчения не прокатит, она реальна только для упорядоченного первого столбца. Зато вот это четвертый столбец это порядковый номер изменений цен.
позволит нам вообще не использовать 4-й столбец, ведь он-то по возрастанию получается Тогда формулу можно записать так: Код
=ПРОСМОТР(;-1/((I6:I19=3)*G6:G19=B6);H6:H19)
- обычная илиКод
=ПРОСМОТР(;-1/(ЕСЛИ(I6:I19=3;G6:G19)=B6);H6:H19)
- массивная, но должна быть пошустрее первой А - возможно, где-то в таблице ошибка затесалась в данных? Или просто нет в списке такого товара или тройки у этого товара. Или значения текстом, а не числами. Засуньте тогда формулу вовнутрь ЕСЛИОШИБКА.Автор - _Boroda_ Дата добавления - 07.03.2015 в 18:15
Stormy
Дата: Вторник, 10.03.2015, 12:24 |
Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , А как быть, если на нужный ИД , два региона №3 ? Поэтому и думал по 4-ому столбцу определять последнею цену.
_Boroda_ , А как быть, если на нужный ИД , два региона №3 ? Поэтому и думал по 4-ому столбцу определять последнею цену.Stormy
Место для рекламы.
Ответить
Сообщение _Boroda_ , А как быть, если на нужный ИД , два региона №3 ? Поэтому и думал по 4-ому столбцу определять последнею цену.Автор - Stormy Дата добавления - 10.03.2015 в 12:24
Stormy
Дата: Вторник, 10.03.2015, 12:42 |
Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 366
Репутация:
12
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , Верно! Вроде пробовал и не получалось, а сейчас все правильно и нормально работает )) Спасибо.
_Boroda_ , Верно! Вроде пробовал и не получалось, а сейчас все правильно и нормально работает )) Спасибо.Stormy
Место для рекламы.
Ответить
Сообщение _Boroda_ , Верно! Вроде пробовал и не получалось, а сейчас все правильно и нормально работает )) Спасибо.Автор - Stormy Дата добавления - 10.03.2015 в 12:42