Попытка выяснить, чтобы получить ожидаемый результат из столбцов id и даты. Как выбрать 1-й день каждого идентификатора пользователя ... Формула, которую я пробовал, это IF(A2 = A1,(IF(B2> B1, FALSE))), но не получается точный ожидаемый результат. Я хочу следующий ожидаемый результат, представленный ниже ..

id      date             Expected output   
14135   10/31/2018       TRUE
14135   11/16/2018       FALSE
14135   11/21/2018       FALSE
14135   11/21/2018       FALSE
21346   12/06/2018       TRUE
21346   12/06/2018       TRUE
21346   12/21/2018       FALSE
21346   12/21/2018       FALSE

3 ответа3

1

Поместите следующее в E2 и скопируйте вниз. Отрегулируйте диапазоны, чтобы соответствовать вашим данным.

=AGGREGATE(15,6,$B$2:$B$9/($A$2:$A$9=A2),1)=B2

ПРИМЕЧАНИЕ. Aggregate выполняет в функции функции, подобные массиву, поэтому избегайте полных ссылок на столбцы в функции AGGREGATE.

В качестве альтернативы MINIF может быть функцией, доступной в Excel 2016, но у меня только 2013. MINIF, если у вас есть, это лучшее решение.

POC

1

Вот формула с использованием MINIFS:

=MINIFS(B:B, A:A, A2) = B2

Это возвращает минимальное значение из столбца B для строк, где столбец A равен A2; Затем он проверяет, равно ли значение в B2 этому минимуму.

В зависимости от размера вашей электронной таблицы вы можете сделать ее более эффективной, ограничив длину массивов, а не сохраняя весь столбец, что-то вроде:

=MINIFS(B$2:B$9, A$2:A$9, A2) = B2
0

Мне нравится использовать формулы массива для этого типа проблемы:

{=MIN(IF(C$6:C$13=C6,D$6:D$13,10000000))=D6}

Вы вводите уравнение без фигурных скобок и нажимаете Ctrl-Shift-Enter, чтобы добавить их. Это генерирует массив значений, 10000000, если он не равен идентификатору и дате в противном случае. Затем он вычисляет минимальное значение и проверяет, равно ли оно значению строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .