Страницы: 1
RSS
Выбор данных по двум условиям, Выбор данных по двум условиям
 
Подскажите  как можно выбрать данные по id и последней дате. Используя форму массива и наибольший получается найти данные равные последнему записанному значению в столбце, пример в файле
 
формула массива:
Код
=ИНДЕКС(Таблица1[данные];МАКС(ЕСЛИ((Таблица1[id]=E2)*(Таблица1[[дата ]]=МАКСЕСЛИ(Таблица1[[дата ]];Таблица1[id];E2));СТРОКА(Таблица1[id]);0)))
 
Формула
Код
=IFERROR(INDEX(Таблица1[данные];AGGREGATE(15;6;ROW($1:$200)/(Таблица1[[дата ]]=AGGREGATE(14;6;Таблица1[[дата ]]/(Таблица1[id]=E$2);1));ROWS($2:2)));"")
 
Пришел к аналогичному постом ниже решению:
Код
=INDEX(Таблица1[данные];-MOD(LARGE((Таблица1[id]=E$2)*Таблица1[[дата ]]*1000-(ROW(Таблица1[id])-1);ROW(A1));-1000))
Изменено: memo - 10.04.2022 19:05:51
 
Массивная
=INDEX(C:C;MOD(MAX((Таблица1[id]=E2)*(Таблица1[[дата ]]+ROW(Таблица1[[дата ]])%%));1)/1%%+0,1)
ну а перестроить на не массив не проблема.
=INDEX(C:C;MOD(AGGREGATE(14;6;(Таблица1[[дата ]]+ROW(Таблица1[[дата ]])%%)/(Таблица1[id]=E2);1);1)/1%%+0,1)


memo, если дата таже будет с другим  ID, то ....
Изменено: БМВ - 10.04.2022 17:14:02
По вопросам из тем форума, личку не читаю.
 
БМВ, Да, заметил. Внес изменения.
 
memo, спасибо что откликнулись, пока еще плохо разбираюсь. а можно сделать чтобы  при несоответствии ID   или если больше нет совпадений не выводились значения вложил пример
Изменено: Demonline - 10.04.2022 20:26:44
 
Цитата
написал:
=INDEX(C:C;MOD(MAX((Таблица1[id]=E2)*(Таблица1[[дата ]]+ROW(Таблица1[[дата ]])%%));1)/1%%+0,1)
Спасибо за помощь, а что можно изменить что бы например не последний найденный а первый , если например дата и ид совпадает.
 
тогда этм методом будет сложнее чем иным
=INDEX(C:C;COUNT(Таблица1[[дата ]])-MOD(MAX((Таблица1[id]=E2)*(Таблица1[[дата ]]+(COUNT(Таблица1[[дата ]])-ROW(Таблица1[[дата ]])-2)%%));1)/1%%+0,1-2)

а иным это
=INDEX(C:C;AGGREGATE(15;6;ROW(Таблица1[id])/(AGGREGATE(14;6;Таблица1[[дата ]]/(Таблица1[id]=E2);1)=Таблица1[[дата ]])/(Таблица1[id]=E2);1))
По вопросам из тем форума, личку не читаю.
 
, спасибо!
 
Вариант.
Код
=INDEX(Таблица1[данные];SMALL(IF(IFERROR(MATCH(Таблица1[[дата ]];LARGE((Таблица1[id]=$E$2)*Таблица1[[дата ]];ROW(A1)););)*(Таблица1[id]=$E$2);ROW(Таблица1[данные])-1);ROW(A1)))
 
,   спасибо!
Страницы: 1
Наверх