Найти номер строки следующего экземпляра определенного значения
У меня есть столбец дней недели в электронной таблице Excel 2008. В другом столбце я хочу выполнить код, который включает пятницу в текущей строке и следующую пятницу в столбце. Проблема в том, что данные за пять лет последовательно перечисляют дни в течение большинства недель, но иногда в неделю пропадает день из-за праздников. Поэтому я не могу ссылаться на фиксированное количество ячеек, чтобы сравнить данные с пятницы по пятницу.
Поэтому я ищу способ сделать следующий псевдокод:
= if (xcell = "Friday" и the_next_cell_named_Friday_down_in_the_list = "Friday", do "код, который работает со строкой, в которой находится xcell, и строкой, в которой находится ячейка следующей пятницы")
Я знаю, что есть способ сделать это, но я не совсем понимаю, как это сделать.
(Если на это тоже нетрудно ответить, я также хочу сделать то же самое, что и выше, за исключением проверки пятницы после следующей (каждые две недели).)
3 ответа
Собственный ответ ОП не будет "копировать", поэтому я предлагаю:
=IF(A2="Friday",MATCH("Friday",A3:A$20,0)+ROW(),"")
Расширьте предел диапазона, чтобы удовлетворить.
Использование VLOOKUP
найти следующую "пятницу" внизу в столбце дней. Например: если столбец дней - это столбец А, а текущая строка - 4, а последняя строка в столбце А - 86523, то правильная формула для поиска следующей "пятницы":
VLOOKUP("Friday", A5:A86523, 1, FALSE)
Однако это вернет вам "пятницу", если есть следующая "пятница" после 4-го ряда, и даст вам #N/A
ошибка, если нет - не очень полезно. Вы можете манипулировать table_array (A5:A86523) или index_number (1), чтобы получить что-то более полезное.
За помощь по VLOOKUP
Функция нажмите здесь.