Найти в Дзене

График функции в Excel: два способа (простой и скучный, хитрый и универсальный)

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

Если хотите, можете посмотреть видео-версию статьи или читать дальше текстом.

Способ №1 - скучный.

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

Лучше форматировать колонки как таблицу (CTRL+T) - таким образом работать будет проще.

Когда у нас есть таблица со значениями X и Y, то выбрав таблицу, можно вставить график в разделе Вставить (INSERT) -> Диаграммы (Charts) ленты . Нам нужна точечная диаграмма (Scatter chart).

-2

Графику можно задать имя, оформление или оставить как есть.

Но следует учитывать, что если нужен другой график, например для функции X²+10X+3, потребуется задавать функцию вновь задавать на какмо диапазоне мы хотим строить функцию, задавать эту функцию и строить график.

Способ №2 - замороченный, но универсальный.

Для этого способа нам понадобится формула EVALUATE. Но если вы попробуете ввести эту формулу в ячейку, ничего у вас не получится. EVALUATE - это макрос, наследство старой версии Excel, когда макросы были формулами, а не Visual Basic. Для работы Evaluate ее нужно указать в виде именной функции, через менеджер имен.

Создадим простенькую форму, с помощью которой мы будем строить графики:

-3

С помощью менджера имен зададим имена:

-4

formula - это ячейка B4, from - ячейка B7, to - ячейка B8, points - ячейка B10;

X=from+(ROW(OFFSET($B$1;0;0;points;1))-1)*(to-from)/(points-1)

Y=EVALUATE(formula&"+x*0")

-5

А дальше нужно просто указать значения X и Y, как серии для графика. Вставляем график, как в способе №1, и укажем какие данные нужно использовать (Кнопка Выбор данных в разделе Диаграммы -> Дизайн):

-6

Выберем идинственную серию, которая указана и нажмем на кнопку редактировать. Подставляем названия наших серий Plot!x и Plot!y и ссылку на ячейку с названием графика.

-7

И получаем график функции. График динамический, при изменении диапазона или функции он поменяется.

-8

Но как это получилось? Где происходит магия? Все дело в том, что функция ROW работает с массивами, таким образом X становится массивом значений, а Y - массивом функций от X. В отличие от обычной ячейки, функции введенные в менеджере имен (и в других диалоговых окнах тоже, например в условном форматировании) по умолчанию воспринимаются и вычсиляются как функции массива. Ну а макрос Evaluate вычисляет значения, заданные строкой.

Единственный момент, который огорчает, файл приходится сохранять как книгу с поддержкой макросов. И при открытии нужно разрешить макросы. Иначе EVALUATE работать не будет.

Как обычно, ссылка на файл Excel: https://yadi.sk/i/mQYRAwhZdBkIOg