Использование формулы Excel для чтения даты, соответствующей ячейке - PullRequest
0 голосов
/ 05 сентября 2018

Пожалуйста, смотрите скриншот моего расписания ниже.

Мне нужна формула, которая заполнит столбец END_DATE датой, соответствующей самому последнему (крайнему правому) 'x' для каждой строки.

Есть ли способ прочитать самый правый 'x' в строке и заполнить ячейку датой выше этой 'x'?

Screenshot of Schedule

Любая помощь очень ценится.

Спасибо

PJ

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

в качестве альтернативы массиву или формуле CSE вы можете использовать агрегат, который выполняет операции с массивами внутри функции агрегата. Настройте ссылки в соответствии со своими потребностями, но избегайте использования полных ссылок на строки / столбцы в агрегате из-за массива, подобного выполняемым им вычислениям.

В этом решении используется комбинация INDEX и AGGREGATE

=INDEX($4:$4,AGGREGATE(14,6,COLUMN($E5:$K5)/($E5:$K5="x"),1))

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

POC

0 голосов
/ 05 сентября 2018

Обновлено на основе очень правильных отзывов @ Дана

Вы можете использовать формулу Array / CSE:

=INDEX($E$4:$K$4, 1, MAX(IF(E5:K5="X",COLUMN(E5:K5)-(COLUMN(E5)-1))))

Использование Ctrl + Shift + Enter для ввода этого значения. Это найдет максимальное число столбцов, которое содержит X и вычтет 3 из него (при условии, что диапазон, который мы ищем, равен D2:J2, в противном случае -3 необходимо будет скорректировать, чтобы компенсировать, а затем использовать Index(), чтобы найти соответствующее значение для этого столбца.

enter image description here

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