графический инструмент excel или решение vba

у меня есть гистограмма в Excel. Я добавил к этой гистограмме линию тренда, которая выглядит как обычная кривая.

введите описание изображения здесь
(источник: sourceforge .net)

(это изображение полностью слева)

Я хотел бы знать, как определить точку данных на линии тренда

Есть ли инструмент, который делает это? Решение может быть в VBA, если это необходимо.


person Alex Gordon    schedule 19.05.2011    source источник
comment
Я не думаю, что вы можете сделать это правильно. Excel ограничен примерно 6 вариантами линии тренда. Полином 6-го порядка, вероятно, подходит для большинства графиков, но это немного излишне. Это может помочь с близким приближением Link, но вам понадобится либо пользовательская написанная функция , грязный хак с использованием линейного тренда между каждым бином или поищите более надежное решение за пределами Excel. Например, Ссылка   -  person    schedule 20.05.2011
comment
Этот ответ Ссылка показывает, как получить значение из уравнения линии тренда   -  person chris neilsen    schedule 20.05.2011


Ответы (2)


Если вы отформатируете линию тренда, вы можете отобразить уравнение для линии тренда на диаграмме. Затем вы можете скопировать уравнение в ячейку и для любого введенного вами значения x вы можете вычислить значение y.

ИЗМЕНИТЬ

Я использовал этот код VBA для программного извлечения уравнения из линии тренда. Может быть, это поможет.

Sub ChartStuff()

    Dim cht As Chart
    Set cht = Charts("Chart1")

    Dim ser As Series
    Set ser = cht.SeriesCollection(1)

    Dim tnd As Trendline
    Set tnd = ser.Trendlines(1)

    MsgBox (tnd.DataLabel.Caption)

End Sub

ИЗМЕНИТЬ

Чтобы переместить диаграмму так, чтобы она представляла собой отдельный лист, а не объект на рабочем листе, щелкните правой кнопкой мыши объект диаграммы, выберите параметр «Переместить диаграмму» и установите переключатель «Новый лист». Это создаст новую вкладку в вашей книге, которая будет только диаграммой. Затем вы можете обратиться к нему по имени на вкладке.

введите здесь описание изображения

person Stewbob    schedule 19.05.2011
comment
@stewbob я не могу отобразить уравнение, потому что я использую надстройку пакета инструментов анализа, и по какой-то причине оно не дает уравнения, я не знаю почему! - person Alex Gordon; 19.05.2011
comment
@stewbob как узнать название моей диаграммы? это не работает Set cht = Charts(Chart1) - person Alex Gordon; 20.05.2011
comment
Если вы переместите диаграмму так, чтобы она стала отдельной страницей/листом в вашей книге, то имя на вкладке страницы будет именем диаграммы. У меня были проблемы со ссылкой на диаграмму, когда она была объектом на листе. - person Stewbob; 20.05.2011
comment
@stewbob я скопировал и вставил на другой лист и все еще имею ту же проблему - person Alex Gordon; 20.05.2011
comment
Полегче, я____, некоторые люди ложатся спать по ночам. :) - person Stewbob; 20.05.2011
comment
@stew большое спасибо,. я сделал то, что вы сказали, и я получаю НЕИЗВЕСТНУЮ ОШИБКУ в этой строке MsgBox (tnd.DataLabel.Caption) - person Alex Gordon; 20.05.2011
comment
Не уверен, что может быть причиной этого. Когда вы получите сообщение об ошибке, вы можете щелкнуть правой кнопкой мыши объект tnd в своем коде и добавить его на экран просмотра. Затем вы можете просмотреть все текущие свойства объекта tnd. Возможно, он выдает эту ошибку, потому что нет значения Caption. Если это так, то этот метод также не будет работать. :( - person Stewbob; 20.05.2011

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

Вот несколько ресурсов по этому поводу:

http://chandoo.org/wp/2011/01/26/trendlines-and-forecasting-in-excel-part-2/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+PointyHairedDilbert+%28Chandoo.org+-+Learn+Excel+%26+Charting+Online%29

http://newtonexcelbach.wordpress.com/2011/01/19/using-linest-for-non-linear-curve-fitting/

http://newtonexcelbach.wordpress.com/?s=linest

Надеюсь это поможет!

person Jon49    schedule 19.05.2011