Поиск первого измененного значения в столбце или обратного адреса ячейки - PullRequest
0 голосов
/ 28 марта 2019

У меня есть лист Excel со статусом сотрудника в режиме реального времени, который меняется с состояния ожидания на занято или наоборот, в зависимости от его статуса в системе. Я пытаюсь получить первую измененную ячейку в столбце состояния в последнем статусе.

, например, ниже, это должно быть «В наличии», то есть C12, так как это первая строка текущего статуса.поэтому он должен игнорировать режим ожидания, так как после этого есть другой статус, и занят ... по той же причине.и вхолостуюи идите с первым рядом в «В наличии».

Что у меня есть до сих пор.

=LOOKUP(2,1/('Real-Time-Status'!B:B=B2),'Real-Time-Status''!D:D)

но он получает последнее значение в столбце состояния.который является C5 в образце ниже, вместо C12.

Name        ID     Status        Timestamp
John Doe    1111    Idle    24/03/2019 15:27:15
John Doe    1111    Idle    24/03/2019 15:27:49
John Doe    1111    Idle    24/03/2019 15:28:23
John Doe    1111    Idle    24/03/2019 15:28:59
John Doe    1111    Busy    24/03/2019 15:29:34
John Doe    1111    Busy    24/03/2019 15:30:11
John Doe    1111    Busy    24/03/2019 15:30:47
John Doe    1111    Busy    24/03/2019 15:31:25
John Doe    1111    Idle    24/03/2019 15:32:20
John Doe    1111    Idle    24/03/2019 15:33:00
John Doe    1111    Idle    24/03/2019 15:34:05
John Doe    1111    Avail   24/03/2019 15:35:25
John Doe    1111    Avail   24/03/2019 15:36:25
John Doe    1111    Avail   24/03/2019 15:37:25

1 Ответ

1 голос
/ 28 марта 2019

Вот способ вернуть значение столбца D:

enter image description here

Формула, которую я использовал, переводит:

{=INDEX(D1:D15,MAX(--((C1:C15<>LOOKUP(2,1/(C:C<>""),C:C))*ROW(C1:C15)))+1)}

Обратите внимание, что это формула массива, и ее следует вводить с помощью Ctrl Shift Ввод

Если ваши данные на самом деле содержат больше людей, они могут выглядеть следующим образомthis:

enter image description here

Формула, использованная в этом примере, переводится в:

{=INDEX(D1:D15,MAX(--(C1:C15<>INDEX(C1:C15,MAX(--(A1:A15=F2)*(ROW(A1:A15)))))*(A1:A15=F2)*ROW(C1:C15))+1)}

Это снова формула массива.И вы можете рассмотреть возможность использования абсолютных ссылок на ячейки для диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...