Я построил следующий график после некоторого поиска в Google:

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

Мое беспокойство - линия для A Данные, которые я обрабатываю, собираются в несколько дат с неизменными категориями. Сплошные и полосатые полосы одного цвета измеряют разные вещи для одной и той же категории. Что вы не видите в построении графика, так это то, что он думает, что каждый столбец (и каждый разрыв) находится в своей собственной категории, и я просто позволяю промежуткам (которые соответствуют пустым строкам в данных) и полосатым столбцам иметь пустые ячейки в качестве ссылки на категорию, поэтому ось вторичной категории не загромождается.

Я хотел бы добавить линии, соединяющие все сплошные столбцы категории (данные могут быть собраны за произвольно много дат). Я решил, что я продублировал данные для сплошных столбцов, использовал эти дубликаты, чтобы добавить вторую серию сгруппированных столбцов поверх сплошных, а затем изменил тип этой дублированной серии на линейный график. Затем я добавил фиктивные значения для категорий, в которых сплошные столбцы не показывают прямую линию (используя линейную функцию). Если я опущу маркеры для линии, все выглядит хорошо.

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

Итак, что я на самом деле хотел бы иметь, так это строку, которая отображает себя только в подкатегории A внутри каждой основной категории, и еще одну строку, которая делает то же самое в B и так далее. Кажется, я помню, что в более ранних версиях Excel (2003 года или около того) была функция, позволяющая соединять все точки данных серии одной линией, но я не уверен, что это действительно так.

Есть ли способ сделать то, что я хочу, без необходимости VBA значения для линии каждый раз, когда я фильтрую? Я никогда раньше не использовал VBA (я знаю, как программировать, но я надеялся, что для этого есть автоматический способ).


Другие вещи, которые я пробовал: просто использование 0 записей во всех других категориях производит это:

Ограничив диапазон данных для линейного графика только значениями, соответствующими сплошным столбцам для A , я получаю это (линия теперь розовая, чтобы она выделялась):

1 ответ1

2

Щелкните правой кнопкой мыши график и выберите "Выбрать данные". В этом диалоговом окне нажмите кнопку "Скрытые и пустые ячейки", а затем установите флажок "Соединить точки данных линией".

Теперь вы можете удалить значения в столбце K, за исключением значений в строке 2 и строке 14. Линия теперь имеет только две точки данных, связанные с линией.

Если вы теперь скроете строки для C и D, линия по-прежнему хорошо соединяет два столбца A.

В Excel 2007 вы не можете получить доступ к параметру "Соединить точки данных с линией", если все типы рядов не являются линиями. Вы можете начать с линейного графика, выбрать эту опцию, а затем изменить выбранную серию на столбцы. В качестве альтернативы вы можете временно изменить столбцы на линии, выбрать опцию "Соединить точки данных", а затем вернуться обратно к столбцам.

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