Страницы: 1
RSS
Динамическая выборка значений из таблицы по заданным 5 критериям ИЛИ от 1 до 5 заданным
 
Добрый день, подскажите пожалуйста, имеется таблица со значениями, из нее нужно по заданным критериям (5 критериев для выборки) осуществить выборку, в том числе если один или все критерии = "любое значение" ИЛИ "И одно из значений И другое одного(нескольких) из критериев"
Написал формулу чтобы при задании критериев (в том числе ="*" - любого значения ПРАВИЛЬНО производится подсчет значений
Код
=СЧЁТЕСЛИМН($H$2:$H$30;$Z$7;$G$2:$G$30;$AA$7;$E$2:$E$30;$AB$7;$C$2:$C$30;$AC$7)
, но при формировании таблицы значениями по заданным критериям из выпадающего списка при выборе критерия ="*", возвращает значения #ЧИСЛО.
Подскажите пожалуйста как правильно задать критерий "любое значение" и критерии И одно и другое для одного из 5 критериев.

Excel-2013
 
a.u.kuznetsov, вечер добрый, покажите в файле исходные данные и рядом что должно получиться - без формул просто ручками заполните желаемый результат. а то мне лично ничего не понятно не з описания и тем более из названия темы...
Не бойтесь совершенства. Вам его не достичь.
 
А удобно работать с версией для слабовидящих? Сам в очках, но шрифт 40 это ……
И где указанная формула?
Изменено: БМВ - 05.04.2020 21:00:06
По вопросам из тем форума, личку не читаю.
 
Смысл вот в чем: справа от Таблицы формула выборки 'заранее извиняюсь, в данном примере 4 критерия (1;2;3;4), на основании которых формируется Таблица"Вывод строк....."

Не получается сделать подсчет при, скажем, задании нескольких(одного из) критериев (1;2;3;4) любым значением (="*"), т.е. формирование Таблицы"Вывод строк" по 1 ИЛИ 2 ИЛИ 3 критериям, а также по 1: 1_1 ИЛИ 1_2; 2: 1_1 ИЛИ 1_2 и т.д.
 
т.е. так формирует  
Изменено: a.u.kuznetsov - 05.04.2020 21:12:39 (не прикрепилось изображение)
 
а так нет, хотя подсчет значений работает правильно  
 
Формула подсчета значений по критериям P7, формируемый массив R7:AA12
 
может этот инструмент поможет
 
не совсем то, также выводит #ЧИСЛО....как задать "любое значение в ячейке" чтобы он не применял один из критериев?
макрос- я писал, работает, но немного не так, нужна динамика........макросом будет осуществляться подбор для отобранных значений, по другим критериям....(пока не реализовано)
 
пропишите например условия вместо  IF($G$2:$G$30=$M$7;. так If(IF($M$7="*";1;$G$2:$G$30=$M$7); .

А в целом можно так
=IF(ROWS(S$7:S8)<=$P$7;INDEX(B$2:B$30;SMALL(IF(IF($O$7="*";1;$C$2:$C$30=$O$7)*IF($N$7="*";1;$E$2:$E$30=$N$7)*IF($M$7="*";1;$G$2:$G$30=$M$7)*IF($L$7="*";1;$H$2:$H$30=$L$7);ROW($C$2:$C$30)-ROW($C$1));ROWS(S$7:S8)));"")
Изменено: БМВ - 05.04.2020 21:48:56
По вопросам из тем форума, личку не читаю.
 
Ваш вариант тоже работает, только при подсчете строк, когда задаешь везде "*", он общее кол-во вместе с нулевыми выводит, и дальше 15 не идет? как-то можно решить (не принципиально, но возможно понадобится в дальнейшем.....)?

Цитата
БМВ написал: пропишите например условия вместо  IF($G$2:$G$30=$M$7;. так If(IF($M$7="*";1;$G$2:$G$30=$M$7); .
Так получилось!!! Спасибо, но посчитало первый раз с ошибкой, почему то 22 строчку не посчитал....но как только я в 12 выставил значение пересчитал правильно.....странно....разбираюсь.

Спасибо огромное!
 
Файл, стал тяжелее в 83 раза, такое возможно? я массив только по 30 значениям сделал.....+переставил на др лист....
 
Цитата
a.u.kuznetsov написал: +переставил на др лист..
Переставили как? Возможно, при копировании потянулись следом форматы, стили, имена...
 
да нет, формулу массива только скопировал на другой лист, да и то она с ошибками #ССЫЛКА
я еще на всю таблицу даже не разнес....только 30 значений. был 1,65 мб, стал 83,8 мб.....
 
Опишите Ваши действия.
 
скопировал формулу массива и подсчета значений с 1 листа на другой, в этот момент что-то глюкнуло....сейчас лист, куда копировал удалил, все в зад вернулось...фуф
 
Копировали как? Копирповать ячейк, вставить?
Попробуйте еще раз. Возможно, действительно сбой виноват. А может, и неправильное копирование

Экспериментировать на копиях Вас не учили?
 
Вечер добрый.
Вообщем, немного не правильно получается он считает.
Если задать значения IF($G$2:$G$30=$M$7;. так If(IF($M$7="*";1;$G$2:$G$30=$M$7), тогда при выборе по всем критериям ="*" (любое значение), он почему то считает пустые строки тоже, как быть подскажите? как при подсчете игнорировать пустые строки, если задать для всех критериев ="*" (любое значение)?

Вот файл примера
 
Цитата
a.u.kuznetsov написал:
вот файл примера
Или у меня что-то с компом или с глазами.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
По вопросам из тем форума, личку не читаю.
Извините, не стал бы писать, если бы сам смог разобраться, подскажите пожалуйста...
Файл примера это ссылка на Ваш файл
 
У Вас всегда в A индекс. Добавить
=IF(ROWS(R$7:R7)<=$P$7;INDEX(A$2:A$30;SMALL(IF(IF($O$7="*";1;$C$2:$C$30=$O$7)*IF($N$7="*";1;$E$2:$E$30=$N$7)*IF($M$7="*";1;$G$2:$G$30=$M$7)*IF($L$7="*";1;$H$2:$H$30=$L$7)*($A$2:$A$30<>"");ROW($C$2:$C$30)-ROW($C$1));ROWS(R$7:R7)));"") и все
По вопросам из тем форума, личку не читаю.
 
Получилось!...всю голову сломал! Спасибо Вам огромное!

А если изменить столбец индекса на другие столбцы? Вернуть значение А получится?
 
Цитата
a.u.kuznetsov написал:
А если изменить столбец индекса на другие столбцы? Вернуть значение А получится?
ничего не понял
Изменено: БМВ - 08.04.2020 21:49:40
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх