Фильтрация по критериям, применяемым к подмножествам в Google Sheets - PullRequest
1 голос
/ 27 февраля 2020

См. это делает c для живого примера

Учитывая эти данные:

+-----------------+-----------+--------------------+
| extraction_date | seller_id | listings_remaining |
+-----------------+-----------+--------------------+
| 2020-02-03      | 110569676 |                 69 |
| 2020-02-03      |  91489962 |                 10 |
| 2020-01-04      | 120000084 |                  4 |
| 2020-02-01      | 102356225 |                  3 |
| 2020-02-26      | 110569676 |                176 |
| 2020-02-26      |  91489962 |                 12 |
| 2020-02-10      | 120000084 |                  8 |
+-----------------+-----------+--------------------+

Я хочу вернуть одну строку для продавца, сопоставив строку с самая поздняя дата извлечения для каждого продавца, и только если последняя дата извлечения для этого продавца более 15 дней назад.

'=filter(A4:C4,(match(A4,maxifs(A4:A10,B4:B10,"="&B4:B10),0))*(A4:A10<today()-15))

attempt to filter with criteria on subsets

Я не могу заставить его работать. Я пытался использовать maxifs без соответствия, вставляя условие 15 дней в maxif ..., но функция фильтра сопротивляется всем моим попыткам.

Редактировать: это будет частью уже существующей рабочей функции FILTER, вот почему я ограничиваю себя пользователем фильтра, а не функциями QUERY или баз данных.

1 Ответ

2 голосов
/ 27 февраля 2020

использование:

=QUERY(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0), 
 "where Col1 < date '"&TEXT(TODAY()-15, "yyyy-MM-dd")&"'", 0)

0


или FILTER

=FILTER(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0), 
 INDEX(SORTN(SORT(A4:C, 1, 0), 999^99, 2, 2, 0),,1)<TODAY()-15)

0

...