Да, это возможно: D.
С некоторыми динамическими диапазонами и большим терпением вы можете создать что-то вроде этого результата:
Пошаговое руководство:
Сначала мы превращаем всю таблицу в «таблицу Excel». Перейдите в «Домой» -> «Формат в виде таблицы».
Следующая часть, нам нужно создать пару «именованных диапазонов». Перейдите: «Формулы» -> «Диспетчер имен» -> «Новый ...»
Мы делаем дату начала «Именованным диапазоном». Я называю это «Start_Date». И это относится к ячейке $B$3
. Меня зовут Sheet1.
Мы делаем то же самое для «End_Date». Мы ссылаемся на ячейку ниже, $ B $ 4.
Затем мы создаем диапазон имен для столбца «Дата». Мы называем наш диапазон "Dates
". Убедитесь, что «Относится к:» в этом формате «= TableX[Column Name]
». В нашем случае =Table1[Date]
. Обратите внимание, что менеджер имен не использует «B7: B16», а является ссылкой на область столбца таблицы. Последний шаг очень важен! , так как мы хотим сделать все ссылки динамическими.
Время создания выпадающего списка для начальной и конечной даты.
Перейти к: «Данные» -> «Проверка данных» -> Выбрать: «Список» -> «Источник»: =Dates
, который является нашим диапазоном, который мы назвали на предыдущем шаге.
Время создать динамический диапазон для оси X. Я называю это "XAxis
"
=OFFSET(Sheet1!$B$7,MATCH(Start_Date,Dates,0)-1,0, MATCH(End_Date,Dates,0)- MATCH(Start_Date,Dates,0)+1,1)
Эта формула будет искать, где первая строка для первой даты (Start_Date
). Затем он увидит, где находится дата окончания (End_Date
). Эти два вместе создадут диапазон, который нам нужен. У меня есть ";
" в качестве разделителя, в то время как в США есть ",
".
Теперь мы создаем все нужные вам Y-диапазоны. Один на каждую серию, которую мы хотим построить.
Мы начинаем с колонки «Общее финансирование до». Я называю это: YTotalFundingBefore
и применяю следующую формулу.
=OFFSET(XAxis,0,1)
Таким образом, мы используем тот же диапазон, что и XAxis, и смещаем его на один столбец вправо.
Мы делаем то же самое для следующих двух серий.
Обратите внимание, что для каждой новой серии мы создаем диапазон имен, мы меняем смещение столбца. Таким образом, последняя серия, которую я назвал "YTotalFundingAfter
", и формула почти такая же, за исключением 3
.
=OFFSET(XAxis,0,3)
Время применять эти диапазоны для графика. Я выбираю всю таблицу и создаю линейный график. Затем я выбираю первую серию чартов: «Total Funding Before». В строке формул (помеченной на рисунке желтым цветом) мне нужно изменить ссылки.
Здесь я хочу дать трюк, чтобы сэкономить время.
Когда я переписываю формулы, я начинаю так: так как именованные диапазоны появятся автоматически (как вы можете видеть на рисунке):
=SERIES(Sheet1!$C$6,Xaxis,YTotalFundingBefore,1)
Затем я добавляю имя листа перед всеми переменными. В моем случае "Лист1". Полная формула будет:
=SERIES(Sheet1!$C$6,Sheet1!Xaxis,Sheet1!YTotalFundingBefore,1)
=SERIES(HeaderCell , XAxis Range , Y-Axis Range , Serie Number)
И затем мы нажимаем Enter.
То же самое для других серий, поэтому второй будет:
=SERIES(Sheet1!$D$6,Sheet1!Xaxis,Sheet1!YTotalFundingDuring,2)
И то же самое для последней серии. Обратите внимание, что я изменяю ячейку заголовка ($E$6)
и серийный номер (3
):
=SERIES(Sheet1!$E$6,Sheet1!Xaxis,Sheet1!YTotalFundingAfter,3)
Наконец, у нас есть динамический график, основанный на наших значениях начальной и конечной даты.
Хорошая вещь с таблицей - когда добавляются новые строки (даты), диапазоны выбирают их автоматически, а также выпадающие списки. На рисунке ниже я добавил 2 строки для демонстрации.
У этой настройки есть один важный недостаток. Когда пользователь применяет всю первую дату в диапазоне дат (2017-08) И последняя дата в диапазоне дат 2018 -07, серия диаграмм удалит диапазоны имен и перейдет к абсолютным значениям, например: (=SERIES(Sheet1!$E$6,Sheet1!$B$7:$B$18,Sheet1!$C$7:$C$18,1)
). Мое решение состояло в том, чтобы иметь одну или две дополнительные даты в начале диапазона дат. Даты, которые мы, вероятно, никогда не будем использовать, и поэтому никогда не будем использовать полный диапазон дат.