Как переслать значение массива с помощью оператора if возвращается false? - PullRequest
0 голосов
/ 30 января 2019

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

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

Two cells that are working:
Date it happened: {=IFERROR(INDEX(Time,SMALL(IF(Reason=$K7,ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:K7))),"")}
Value of Duration: {=IFERROR(Duration(Time,SMALL(IF(Reason=$K7,ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:K7))),"")}

The formula I am trying:
{=IF(INDEX(Duration,SMALL(IF(Reason=$K7,ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:K7)))>=TIME(1,0,0),IFERROR(INDEX(Duration,SMALL(IF(Reason=$K7,ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:K7))),""),IFERROR(INDEX(Duration,SMALL(IF(Reason=$K7,ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:L7))),""))}

Эта формула игнорирует времена, которые находятся подчас, однако он тянет одни и те же данные дважды.Например, первая формула длительности отображает следующее:

1: 11: 46 0:59:28 1:11:51 1: 10: 59

Вторая показывает:

1: 11: 46 1:11:51 1:11:51 1: 10: 59

Моя конечная цель состоит в том, чтобы он искал название и затем для перерывов / обедов, но прямо сейчасЯ просто хочу посмотреть время обеда.Я хотел бы сделать вывод 1:11:46 1:11:51 1:10:59.Есть мысли?

1 Ответ

0 голосов
/ 01 февраля 2019
=IFERROR(INDEX(Duration,SMALL(IF((Reason=$K7)*(Duration>=TIME(1,0,0)),ROW(Duration)-MIN(ROW(Duration))+1),COLUMNS($K$7:K7))),"") 

^ Это исправило

...