В настоящее время я работаю над созданием динамического графика, который обновляется ежемесячно в соответствии с информацией, импортированной в файл Excel.

Таблица обновляется информацией, где на диаграмме должен отображаться только текущий месяц на основе определенной ячейки, показанной в прикрепленном файле Excel.

Пример текста «Период с 01JAN18 0001 по 31JAN18 2259»

Для диаграммы необходимо сопоставить текст с месяцем, поэтому, если в тексте указано «JAN», он должен получить данные за январь, а если в нем указано «FEB», то он должен получить данные за февраль.

В настоящее время на диаграмме показаны данные за каждый месяц, где я должен отфильтровать текущий месяц и год до даты.

Ссылка на файл Excel

Изображение файла Excel

Я надеюсь, что это объясняет это правильно :)

1 ответ1

0

Ответ ниже опирается на текст в B25 всегда содержащий 9 символов перед трехбуквенным названием текущего месяца.

Чтобы сделать график динамическим, вы можете добавить новый столбец, который всегда содержит данные текущего месяца, и использовать его в качестве значений y для вашего графика.

Это выражение: MID(B$25,10,3)

использует MID() чтобы получить трехбуквенное название текущего месяца из B25 . Он начинается с позиции 10 и занимает следующие 3 буквы. Так что смотрите предостережение выше.

Затем это выражение добавляет подстановочный знак к названию месяца и ищет трехбуквенное название месяца (плюс все остальное) в Row 1: MATCH(MID(B$25,10,3)&"*",B$1:M$1,0) Возвращает номер столбца месяца, который соответствует.

Наконец, это выражение для номера столбца используется в формуле INDEX() вместе с номером строки, чтобы получить первую точку данных за текущий месяц. Эта формула:

=INDEX(B$2:M$21,ROW(O1),MATCH(MID(B$25,10,3)&"*",B$1:M$1,0))

заполненный из O1 , заполняет Column O данными за любой месяц, указанный в B25 . Это сентябрь на скриншоте ниже.

O23 имеет следующую формулу: =INDEX(B$1:M$1,,MATCH(MID(B$25,10,3)&"*",B$1:M$1,0)) чтобы в легенде диаграммы отображалось имя текущий месяц

Чтобы изменить график, просто выберите его и перетащите поле выбора для y-данных в Column O Кроме того, используйте диалоговое окно «Исходные данные», чтобы Имя серии указывало на O23 .

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