Как найти точку пересечения графика с осью в excel
Перейти к содержимому

Как найти точку пересечения графика с осью в excel

Точка пересечения графиков в Excel

Изучим способы поиска точек пересечения двух графиков и графика с осью координат, а также варианты их отображения в Excel.

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

Как мы помним из школьного курса математики, через две любые несовпадающие точки можно провести прямую и только одну.
Поэтому зная их координаты мы можем составить уравнение прямой. Таким образом решая систему уравнений, состоящую из уравнений двух прямых, мы можем найти место пересечения:

Принцип расчета

Общий принцип поиска координат следующий: для каждых двух соседних пар точек на оси абсцисс (на рисунке x1 и x2 расположены по горизонтали) проверяется условие пересекаются ли линии, то есть выполняется ли условие y1 ≥ z1 и y2 ≤ z2, или наоборот y1 ≤ z1 и y2 ≥ z2 (на рисунке y1, y2, z1 и z2 расположены по вертикали).

Пересечение двух графиков

Предположим, что у нас имеется таблица с координатами двух линий:

Построим на основе этих данных точечную диаграмму. Выделяем диапазон данных A1:K3 и на панели вкладок выбираем Вставка -> Диаграмма -> Точечная -> Точечная с прямыми отрезками.
В итоге получаем точечную диаграмму с двумя линиями:

Точечная диаграмма

Как видим на диаграмме линии пересеклись в 5 местах. В общем случае подобных точек может быть сколь угодно много, поэтому вручную находить каждую из них представляется достаточно трудоемким процессом.
Чтобы упростить работу и автоматизировать расчет воспользуемся средствами Visual Basic.
Переходим в редактор VBA (в панели вкладок выбираем Разработчик -> Visual Basic или воспользуемся сочетанием клавиш Alt + F11), создаем модуль и записываем в него макрос (напротив каждой строчки даются пояснения к коду):

Как найти точку пересечения графика с осью в excel

Задали мне тут недавно вопрос. Есть график, на котором имеем 3 показателя работы производства: удельный расход материала, норматив расхода и объём производства, а по горизонтальной оси временной период (недели, например).

Исходные данные выглядят так:

Удельный расход материала зависит от объёма производства. Он то выше, то ниже норматива по итогам периода и возникает естественный вопрос показать на диаграмме те моменты времени и те объёмы производства, когда линия расхода пересекает линию норматива. Может быть эта проблема и лишена какого-то великого смысла, но тем не менее вопрос был задан, значит потребность такая у людей есть.

А это наша конечная цель:

Скачать пример

ChartsIntersection.xlsx

Решение

Шаг 1

Для начала обратим внимание, что исходный тип диаграммы — График с маркерами .

Ряды этого типа описываются так:

Заметьте, что тут нет значений координат по оси X, а есть только координаты по условной оси Y. Этим подразумевается, что условная ось X — общая для всех рядов, а также, что при их построении не используются значения, отличные от заранее фиксированного ряда оси X. Вот есть у нас периоды: 1, 2, 3 и т.д., нанесенные на ось Х, и использовать можно только их. Периода, где X=3.5 не существует для данного типа диаграммы.

Однако, нам для решения этой задачи необходимо, чтобы мы могли задавать любое значение X, в том числе промежуточные, так как наши линии как раз пересекаются где-то "между периодами". Поэтому тип диаграммы мы меняем для всех рядов с " графика с маркерами " на " точечную с прямыми отрезками и маркерами ".

Следует упомянуть, что наш случай осложняется наличием двух вертикальных осей: основной и вспомогательной, так как значения расхода материала и объёма производства сильно друг от друга отличаются.

Шаг 2

Теперь нам необходимо нанести на диаграмму дополнительные ряды данных:

Точки пересечения линий расхода материала с нормами расхода. Таких точек у нас будет 3, исходя из условий примера. Эти точки нам необходимо будет расчитать, вспомнив школьный курс геометрии (см. лист Треугольники ). В файле учебного примера на листе После в таблице N3:Q5 мы получили координаты нужных точек путем нехитрых формул. Тип диаграммы Точечная в отличие от рядов с показателями работы производства.

Точки пересечения найденных значений по оси X с объемом производства. Расчитывается в таблице N8:Q10 по близким формулам. Тип диаграммы Точечная .

Пунктирные линии, которые мы рисуем из эстетических соображений. Таблица с их координатами находится в N12:P18 .

Добавляем ряды данных в соответствии с теми точками, которые мы расчитали. Щёлкните ПКМ по диаграмме и выберите " Выбрать данные. ", далее воспользуйтесь кнопкой " Добавить ".

Пример одного из рядов:

Шаг 3

Отформатируйте линии и маркеры новых рядов данных, так как вам необходимо. Готово! 🙂

Добавить комментарий

Ваш адрес email не будет опубликован.