-1

Согласно приложенному изображению, я пытаюсь создать формулу, которая бы выполняла следующее:

  1. Найдите самый последний из четырех повторяющихся символов в строке другого текста. Снимок экрана с четырьмя символами также включен в прикрепленное изображение (Обведенные цифры 1, 2, 3 и 4 - все остальные символы в строке - текст)
  2. Определите, какое значение даты связано с последним символом в заголовке столбца (строка 12): Пример: последние желтые 2 в ячейке J13 связаны с 06 января 2019 г.
  3. Рассчитайте и отобразите в ячейке A13, сколько недель прошло с этой даты до текущей даты (A11).

Мое самое большое разочарование до сих пор заключалось в том, как найти последний из группы повторяющихся символов (или значений). Например, последний желтый 2 должен быть J13, но я смог получить только C13.

1 ответ1

1

Один из способов добиться этого - найти максимальный столбец в вашем диапазоне для каждого символа в ячейках.

Используя вспомогательные ячейки для каждого, найдите адрес ячейки вашего заголовка из максимального диапазона столбцов от B3 до K3, как в моем примере, ячейка K6, добавьте формулу в L6

=INDIRECT(ADDRESS(2,MAX(IF($B$3:$K$3=$K6,COLUMN($B$3:$K$3)-COLUMN(INDEX($B$3:$K$3,1,1))+2))))

Это нужно добавить в виде массива, т.е. Ctrl+Shift+Enter

Повторите для других ваших ячеек, которые вы хотите сопоставить, перетащите вниз от L6 до L9

затем используйте =MAX(L6:L9) чтобы дать вам самую последнюю дату ячейки

Макс столбец Пример

#### РЕДАКТИРОВАТЬ ####

Далее, используя небольшое решение, вы можете сопоставить несколько критериев без вспомогательных ячеек, используя или (+) в операторе if.

=INDIRECT(ADDRESS(2,MAX(IF(($B$3:$K$3="❶")+($B$3:$K$3="❷")+($B$3:$K$3="❸")+($B$3:$K$3="❹"),COLUMN($B$3:$K$3)))))

Функция INDIRECT возвращает ссылку на дату из строки 2 как результат столбца ADDRESS, возвращенного функцией ORed Max If.

Просто помните, что это все еще нужно добавить в виде массива, т.е. Ctrl+Shift+Enter

#### РЕДАКТИРОВАТЬ 2 ####

Ответ на Расчет и отображение в ячейке A13 количества недель, прошедших с этой даты до текущей даты (A11). В ячейке A13 в качестве массива используйте DATEIF с Range From и днями "d" в качестве критерия, затем разделите на 7

=DATEDIF(INDIRECT(ADDRESS(2,MAX(IF(($B$3:$K$3="❶")+($B$3:$K$3="❷")+($B$3:$K$3="❸")+($B$3:$K$3="❹"),COLUMN($B$3:$K$3))))),TODAY(),"d")/7

отформатировать ячейку как число или общее

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