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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск и вывод всех значений по нескольким условиям - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Поиск и вывод всех значений по нескольким условиям
Xenus91 Дата: Вторник, 31.01.2017, 18:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток, формучане!

Просьба помочь с решением, необходимо вывести все значения по заданным условиям одно из которых константа.
При вводе номера магазина в столбец А лист1, необходимо получить все номера только просроченных заказов из данных на листе "БД"(заказы не повторяются)
По одному магазину это сделать получается формулой массива:
Код
=ЕСЛИОШИБКА(ИНДЕКС(БД!$B$2:$B$18;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(Лист1!$A3;"#")&Лист1!$D$2=БД!$A$2:$A$18&БД!$C$2:$C$18;СТРОКА(БД!$B$2:$B$18)-1;"");СТРОКА()-2));"")

Однако при последующем вводе другого магазина, данная формула не выводит значений

файл во вложении
в долгу не останусь, спасибо :)
К сообщению приложен файл: 3734990.xlsx (10.2 Kb)
 
Ответить
СообщениеДоброго времени суток, формучане!

Просьба помочь с решением, необходимо вывести все значения по заданным условиям одно из которых константа.
При вводе номера магазина в столбец А лист1, необходимо получить все номера только просроченных заказов из данных на листе "БД"(заказы не повторяются)
По одному магазину это сделать получается формулой массива:
Код
=ЕСЛИОШИБКА(ИНДЕКС(БД!$B$2:$B$18;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(Лист1!$A3;"#")&Лист1!$D$2=БД!$A$2:$A$18&БД!$C$2:$C$18;СТРОКА(БД!$B$2:$B$18)-1;"");СТРОКА()-2));"")

Однако при последующем вводе другого магазина, данная формула не выводит значений

файл во вложении
в долгу не останусь, спасибо :)

Автор - Xenus91
Дата добавления - 31.01.2017 в 18:28
AlexM Дата: Вторник, 31.01.2017, 18:42 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Код
=ЕСЛИОШИБКА(ИНДЕКС(БД!B$1:B$18;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(A3;"#")&D$2=БД!A$2:A$18&БД!C$2:C$18;СТРОКА(B$2:B$18));СЧЁТЕСЛИ(A$3:A3;A3)));"")



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 31.01.2017, 18:44
 
Ответить
Сообщение
Код
=ЕСЛИОШИБКА(ИНДЕКС(БД!B$1:B$18;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(A3;"#")&D$2=БД!A$2:A$18&БД!C$2:C$18;СТРОКА(B$2:B$18));СЧЁТЕСЛИ(A$3:A3;A3)));"")

Автор - AlexM
Дата добавления - 31.01.2017 в 18:42
Xenus91 Дата: Вторник, 31.01.2017, 18:57 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
AlexM, спасибо огромное, как я могу Вас отблагодарить?
 
Ответить
СообщениеAlexM, спасибо огромное, как я могу Вас отблагодарить?

Автор - Xenus91
Дата добавления - 31.01.2017 в 18:57
Karataev Дата: Вторник, 31.01.2017, 18:58 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Xenus91, у меня результат отличается от Вашего, вероятно я неправильно понял задачу.
В этом варианте на листе 1 используются
1) имена (вкладка "Формулы" - Диспетчер имен) для поиска последней строки и чтобы формула не была большая
2) допстолбец "D"
К сообщению приложен файл: 8240829.xlsx (10.5 Kb)
 
Ответить
СообщениеXenus91, у меня результат отличается от Вашего, вероятно я неправильно понял задачу.
В этом варианте на листе 1 используются
1) имена (вкладка "Формулы" - Диспетчер имен) для поиска последней строки и чтобы формула не была большая
2) допстолбец "D"

Автор - Karataev
Дата добавления - 31.01.2017 в 18:58
jakim Дата: Вторник, 31.01.2017, 19:10 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1218
Репутация: 316 ±
Замечаний: 0% ±

Excel 2010
Для Вас подойдёт и такая формула без массивного ввода

Код
=IFERROR(INDEX(БД!B$2:B$1500;AGGREGATE(15;6;ROW($1:$1500)/(БД!A$2:A$1500=A3)/(БД!C$2:C$1500=D$2);COUNTIF(A$3:A3;A3)));"")
К сообщению приложен файл: 2948917.xlsx (10.1 Kb)
 
Ответить
Сообщение
Для Вас подойдёт и такая формула без массивного ввода

Код
=IFERROR(INDEX(БД!B$2:B$1500;AGGREGATE(15;6;ROW($1:$1500)/(БД!A$2:A$1500=A3)/(БД!C$2:C$1500=D$2);COUNTIF(A$3:A3;A3)));"")

Автор - jakim
Дата добавления - 31.01.2017 в 19:10
AlexM Дата: Вторник, 31.01.2017, 19:17 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Если № заказов идут по возрастанию, как в примере, то можно формулу сократить
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(A3;"#")&D$2=БД!A$2:A$18&БД!C$2:C$18;БД!B$2:B$18);СЧЁТЕСЛИ(A$3:A3;A3));"")



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЕсли № заказов идут по возрастанию, как в примере, то можно формулу сократить
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(A3;"#")&D$2=БД!A$2:A$18&БД!C$2:C$18;БД!B$2:B$18);СЧЁТЕСЛИ(A$3:A3;A3));"")

Автор - AlexM
Дата добавления - 31.01.2017 в 19:17
Xenus91 Дата: Вторник, 31.01.2017, 19:46 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
AlexM, номера заказов не сортированы, присутствует только сортировка по возрастанию по номеру магазина, Ваша формула справляется на все 100%, спасибо еще раз
 
Ответить
СообщениеAlexM, номера заказов не сортированы, присутствует только сортировка по возрастанию по номеру магазина, Ваша формула справляется на все 100%, спасибо еще раз

Автор - Xenus91
Дата добавления - 31.01.2017 в 19:46
Xenus91 Дата: Вторник, 31.01.2017, 19:50 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Karataev, необходимо получить данные как показано в списке необходимо получить
 
Ответить
СообщениеKarataev, необходимо получить данные как показано в списке необходимо получить

Автор - Xenus91
Дата добавления - 31.01.2017 в 19:50
Xenus91 Дата: Вторник, 31.01.2017, 19:54 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
jakim, да Ваша формула тоже работает и делает то, что необходимо, спасибо большое
 
Ответить
Сообщениеjakim, да Ваша формула тоже работает и делает то, что необходимо, спасибо большое

Автор - Xenus91
Дата добавления - 31.01.2017 в 19:54
_Boroda_ Дата: Вторник, 31.01.2017, 20:20 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16886
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще вариант, выдаюший заказы сверху вниз
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(БД!A$2:A$20=A3)/ЕНД(ПОИСКПОЗ(БД!B$2:B$20;E$2:E2;))/ЕОШ(-БД!C$2:C$20);БД!$B$2:$B$20);"")
К сообщению приложен файл: 3734990_1.xlsx (10.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант, выдаюший заказы сверху вниз
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(БД!A$2:A$20=A3)/ЕНД(ПОИСКПОЗ(БД!B$2:B$20;E$2:E2;))/ЕОШ(-БД!C$2:C$20);БД!$B$2:$B$20);"")

Автор - _Boroda_
Дата добавления - 31.01.2017 в 20:20
  • Страница 1 из 1
  • 1
Поиск:

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