У меня есть временной ряд, который я хотел бы проанализировать. Я хотел бы извлечь некоторые данные, которые соответствуют определенным критериям. Однако мне также нужно убедиться, что формула учитывает последние данные (т. е. последний столбец, добавленный к временному ряду).
Чтобы извлечь список данных, соответствующих критериям, я могу использовать предоставленный ответздесь
Чтобы гарантировать, что Excel может включить новые столбцы в формулу, я могу использовать offset
функцию, упомянутую в этойотвечать.
Однако мне сложно использовать оба ответа для создания нужной мне формулы.
Желаемый результат:
Names 24/03/2019 25/03/2019 Criteria Date
Name 1 A A A 25/03/2019
Name 2 A B
Name 3 B A
Name 4 C A
Name 5 A A
В приведенном выше примере я хотел бы, чтобы формула изменила список имен, содержащих букву «А» в сегодняшнем столбце, с 3 имен до 4 имен при добавлении сегодняшнего столбца к временному ряду.
решение1
Хотя здесь можно использовать функцию 'OFFSET', это изменчивая функция. Это означает, что она будет пересчитываться каждый раз, когда что-то на листе изменится, даже если это не повлияет на формулу. В качестве альтернативы я бы предложил использовать , INDEX
которая является неизменяемой формулой, которая пересчитывается только тогда, когда что-то на нее влияет.
Предположим, что ваши данные начинаются в B2 (B2=Имена). Другое предположение заключается в том, что в строке 2 не может быть никаких чисел, кроме дат, и что даты хранятся в формате Excel, а не являются текстом.
Используйте следующую формулу в пустой ячейке, где вы хотите, чтобы появился ваш список, и скопируйте ее вниз. Я бы спустился до вашего списка имен, чтобы исключить возможность того, что все имена будут допустимым выбором:
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$3:$B$7)/(INDEX($C$3:$D$7,0,MATCH($F$3,$C$2:$D$2,0))=$E$3),ROW(A1))),"")
настройте диапазоны в соответствии с вашими потребностями. Помните, какие ссылки должны быть заблокированы ($), а какие должны быть свободны для изменения.