
Допустим, у меня есть такие данные:
Col1 Col2 Col3
TeamA Total 10
TeamA P1 5
TeamA P3 3
TeamB Total 12
TeamB P1 5
TeamB P2 4
etc
И хотим построить график значений Col3
только если Col2 = Total
. Это длинная таблица, поэтому ручной выбор правильных строк не идеален. Расположение строк, которые содержат , Total
также будет меняться в зависимости от данных, поэтому его следует определять автоматически, а не полагаться на конкретный номер строки.
Это довольно просто в R или Python, но, похоже, не так в Excel. Я думал о том, чтобы иметь еще один столбец, который возвращает номер строки Col2
для всех случаев, соответствующих строке "Total"
, а затем каким-то образом использовать это в качестве входных данных в ряд данных графика. Мне не удалось заставить это работать, и я также задаюсь вопросом, есть ли лучший способ.
решение1
Вы можете создать сводную таблицу и отфильтровать данные в ней.
Для большинства диаграмм вы также можете создать сводную диаграмму из сводной таблицы, чтобы получить то, что вам нужно.
Однако для некоторых типов диаграмм (например, диаграмм рассеяния) невозможно создать из сводной таблицы. В этом случае обходным решением является копирование данных из сводной таблицы в новое место и создание диаграммы на основе этой новой таблицы.
решение2
Я могу что-то упустить, но, похоже, это можно сделать, просто отфильтровав данные. Я использую LO Calc, а не Excel, но я ввел данные из примера, включил фильтрацию и выбрал Total в столбце B. Затем я просто выбрал столбцы A и C отображаемых данных и вставил диаграмму (не пытался выбрать какие-то конкретные параметры, потому что не знаю, каковы ваши цели построения диаграмм). Вот результат:
После публикации этого я получил ответ, что это не работает в Excel. Довольно необычно, что LO Calc может делать то, чего не может Excel. Чтобы проверить это, я нашел старую установленную версию Excel и воспроизвел ее. Вот результат:
Чтобы доказать, что я не сфальсифицировал данные, включив только строки «Итого», вот таблица без фильтрации:
Итак, если предположить, что вы именно это и пытаетесь сделать, то, похоже, можно просто использовать фильтрацию.