Сопоставить и объединить два столбца с данными, соответствующими третьей ячейке - PullRequest
0 голосов
/ 03 июля 2019

Прежде всего, извините за заголовок, так как он может быть не совсем точен в отношении проблем, с которыми я сталкиваюсь, но он связан с ним. Это довольно сложно.
У меня есть лист Excel как этот

Date       | Time   | Table | Bill Number | Unique ID | Status <br>
2019/01/01  0:20:00     A1       0            ABCDEF    Checkin
2019/01/01  0:25:00     A1       112          ABCDEF    First Order
2019/01/01  0:26:00     A1       112          ABCDEF    Default
2019/01/01  0:27:00     A1       112          ABCDEF    Checkout


Здесь я пытаюсь получить общее время Table 1008 * от checkin до checkout
Checkin время 0:20:00, а checkout время 0:27:00, означающее 7 минут.
Но проблема заключается в том, что регистрация не показывает номер счета, номер счета отображается только при наличии First Order, 112 - это номер счета A1.
Я хочу связать unique ID с Table и объединить Bill Number, чтобы я мог рассчитать длительность от Bill Number.
Или что может быть лучшим решением для извлечения продолжительности времени A1 с 112 в качестве номера счета от регистрации до чекаута. ?

Поскольку уникальный идентификатор является уникальным и связывается, как только клиент checkin, он также связывается с тем же клиентом, той же таблицей и тем же номером счета, который выдается после firstorder

1 Ответ

0 голосов
/ 03 июля 2019

Это отличный вопрос для изучения того, как создать логическое решение в Excel.

Создайте много новых столбцов справа от ваших данных. Не беспокойтесь об использовании слишком многих, просто сделайте правильную логику. Я предполагаю, что ваши данные находятся в столбцах A-F, и мы работаем со строкой 3. В качестве примера.

Столбец G должен иметь CheckoutID: = IF (F3 = "Checkout", E3, "")

Если вы используете что-то подобное, вы изолируете в новом столбце все строки Checkout. Таким образом, у вас будет одно значение для каждого уникального идентификатора.

Насколько я могу судить, единственная информация, которая вам нужна, но которая не находится в этом ряду, - это время регистрации.

Итак, в Columm H мы делаем сложную часть:

= ЕСЛИ (G3 = "", "", MAXIFS (В: В, Е: Е, G3, F: "Checkin"))

Это говорит о том, что если у нас есть значение в G3, то есть это строка Checkout, тогда ищите максимальное из всех времен проверки (B: B), где наше значение G3 соответствует значению в исходном столбце уникального идентификатора (E : E). И затем убедитесь, что мы ищем «Checkin» только в столбце сообщения (F: F).

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

Если вы затем в этой строке возьмете разницу между этим значением и столбцом B, у вас будет количество дней, в течение которых они были там. Вы хотите, чтобы минуты умножались на количество минут в дне, которое составляет 1440.

Столбец I:

= IF (G3 = "", "", (B3-H3) * 60 * 24)

Отфильтруйте пустые строки, и это должно быть сделано.

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