coefficienti linee di tendenza

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
gmtex
00sabato 12 maggio 2012 11:46
come "copiarli"?
Ciao a tutti! [SM=g27823]
utilizzo excel 2003 e ho il seguente problema:
ho due serie di dati correlati da cui costruisco un grafico di dispersione, visualizzo la linea di tendenza (nel mio caso polinomiale di terzo grado) con tanto di equazione del tipo

y=ax^3+bx^2+cx+d

vorrei semplicemente che i 4 coefficienti a, b, c e d mi vengano copiati in automatico su 4 celle da me scelte, senza ogni volta dover procedere manualmente.
Come posso fare?

Ringrazio anticipatamente per le risposte! [SM=g27811]
gmtex
00sabato 12 maggio 2012 19:25
nessuna risposta [SM=g27813]
non mi sono ben spiegato nel porre la domanda? oppure quello che chiedo non si può fare? [SM=g27833]
Zer0kelvin
00sabato 12 maggio 2012 20:32
Ciao e benvenuto nel forum!
L'esposizione sembra chiara, ma il problema quasi certamente è che si parla di un argomento sconosciuto alla maggior parte(me compreso) dei frequentatori del forum.
Inoltre credo che anche conoscendo l'argomento bisognerebbe poter vedere la struttura del foglio per dare una risposta.
Magari sei puoi postare un file di esempio qualcuno può aiutarti.
Se si tratta di copiare solo quattro celle, non dovrebbe essere difficile, a patto di sapere quali sono queste celle e come vorresti automatizzare la copia.
gmtex
00sabato 12 maggio 2012 21:40
eccomi, grazie per il benvenuto! [SM=g27823]
nelle colonne A e B ho delle coppie di valori, li metto nel grafico (colonna A in ascissa, B in ordinata) e ottengo una curva di terzo grado con tanto di equazione. Nelle celle gialle riporto i valori di tutti i coefficienti (che per il momento li ho copiati manualmente).
I valori di riga 8 non sono inseriti nel grafico, li inserisco adesso. Che succede? mi cambia l'equazione! i coefficienti diventano 0.013, -2.6355 ecc ma le celle gialle naturalmente rimangono immutate.
Come si fa a fare in modo che le celle gialle si adeguino alla nuova formula in modo automatico?
[SM=g27828]
Zer0kelvin
00sabato 12 maggio 2012 23:03
Salve.
Ho dato un'occhiata al file ed intanto posso dirti che si può fare, anche se(per me almeno)non è semplicissimo.
Non credo che si possa fare senza usare macro; la mia soluzione sarebbe questa:
Il campo in cui compare l'equazione è un oggetto DataLabel che possiede una proprietà Text che contiene, appunto, il testo visualizzato.
Manipolando il testo è possibile estrarre i quattro valori cercati che andranno poi scritti nelle rispettive celle.
Una volta ottenuta la macro che estrae e scrive i valori, è possibile impostare il foglio affinchè venga eseguita automaticamente ogni volta che si inserisce o cambia un valore nell'area dati, o magari la si può collegare a un pulsante...
A quest'ora non ci provo neppure; se intanto qualche anima pia pratica di manipolazione stringhe ci volesse provare avrebbe la mia eterna gratitudine... [SM=x423063] [SM=x423064] [SM=x423065]
A domani!
Zer0kelvin
00domenica 13 maggio 2012 10:16
...nessuno? [SM=g27825] vabbè!
Ho optato per la soluzione che crea meno complicazioni; un pulsante ActiveX che aggiorna i valori.
Il codice è questo:

Private Sub CommandButton1_Click()
Dim s, x3, x2, x, c
Dim i1, i2, i3, f1, f2, f3, ic, fc
    Me.ChartObjects("Grafico 1").Activate
    s = ActiveChart.SeriesCollecti0n(1).Trendlines(1).DataLabel.Text
    i3 = InStr(s, "=") + 1
    f3 = InStr(s, "x3")
    x3 = Val(Replace(Mid(s, i3, f3 - i3), ",", "."))
    i2 = f3 + 3
    f2 = InStr(s, "x2")
    x2 = Val(Replace(Mid(s, i2, f2 - i2), ",", "."))
    i1 = f2 + 3
    f1 = InStr(s, "x ")
    x = Val(Replace(Mid(s, i1, f1 - i1), ",", "."))
    ic = f1 + 2
    fc = InStr(s, "R²") - 1
    c = Val(Replace(Mid(s, ic, fc - ic), ",", "."))
'    MsgBox "x3 = " & x3 & vbCrLf & "x2 = " & x2 & vbCrLf & "x  = " & _
'        x & vbCrLf & "c  = " & c
    Range("E3") = x3
    Range("F3") = x2
    Range("G3") = x
    Range("H3") = c
    Range("E3").Activate
End Sub
Questo è il file con la modifica:

gmtex
00domenica 13 maggio 2012 10:22
Buongiorno ZerOkelvin [SM=g27823]
premetto che non ho mai visto un codice come quello che hai scritto.. pensavo di essere più ferrato con excel e invece non si finisce mai di imparare [SM=g27827]
do un'occhiata al file modificato e vedo se, oltre a utilizzarlo, riesco anche a replicarlo!
Mille Grazie per l'interessamento!! [SM=g27811] [SM=x423017]
gmtex
00domenica 13 maggio 2012 10:36
dunque..
ho abbassato la protezione per sbloccare la macro, appare un tasto "aggiorna" e dopo averlo cliccato appare la scritta:
"errore di run time 5: chiamata di routine o argomento non validi"
se clicco debug appare il codice che hai scritto con questa riga evidenziata in giallo:
c = Val(Replace(Mid(s, ic, fc - ic), ",", "."))
[SM=g27819]
Zer0kelvin
00domenica 13 maggio 2012 11:06
La causa più probabile è che l'espressione
fc-ic
assuma un valore negativo, probabilmente dovuto al valore restituito da
fc = InStr(s, "R²") - 1
ho usato quella soluzione non avendo la certezza della lunghezza delle stringhe che andavo a cercare.
Una soluzione semplice dovrebbe essere (nel nostro caso) sostituire ad
fc-ic
il valore 7 (cinque cifre più la virgola più il segno=7 caratteri).
Modifica così l'espressione che dà l'errore:
c = Val(Replace(Mid(s, ic, 7), ",", ".")) 

Bisognerebbe indagare con Excel 2003, visto che sul 2010 funziona così come è scritta. E' probabile che il 2003 utilizzi un carattere diverso per rappresentare "R²".
Potrebbero esserci anche altre differenze; al momento non ho modo di fare delle prove col 2003.
Fammi sapere se funziona.
gmtex
00domenica 13 maggio 2012 14:03
perfetto, ora funziona!! [SM=x423028] [SM=x423030]
proverò a documentarmi su come fare queste belle operazioni da solo.. vedo che questo forum è molto fornito [SM=g27811]
Grazie ancora!!
Zer0kelvin
00domenica 13 maggio 2012 14:51
[SM=x423028]
Grazie a te per il riscontro, ciao! [SM=x423018]
zakzak87
00giovedì 20 giugno 2013 09:31
grazie mille
questa discussione è stata utile anche per me
Alessandro.De Fusco
00venerdì 18 aprile 2014 15:28
grazie
mi è stato molto di aiuto [SM=x423017]
dioj99
00sabato 23 agosto 2014 21:05
problemi macro office 2007
Ciao a tutti,

ho visto che avete creato una macro per estrapolare l'equazione che ci fornisce il grafico,

l'unico problema che ho e che realmente a me non funzione, o meglio detto non riesco ad adattarla al mio foglio di excel, essendo anche che io ho bisogno di una curva polinomiale di rango due.

qualcuno di voi può aiutarmi? realmente quello che dovrebbe fare la macro e ogni giorno prendere la cella successiva e modificare l'equazione così da modificare anche il risultato ottenuto.

Grazie mille in anticipo.
patel45
00domenica 24 agosto 2014 08:23
hai letto qui ? http://freeforumzone.leonardo.it/d/10919820/utilit%C3%A0-del-file-allegato/discussione.aspx
lucarossetti
00domenica 5 ottobre 2014 10:53
Problema Identico...
salve ragazzi, il mio problema è identico... dato un grafico vorrei ottenere delle caselle con i coefficienti della linea di tendenza. non sono in grado di creare il pulsante activex. come posso farlo?

grazie mille

[POSTQUOTE][QUOTE:117281435=Zer0kelvin, 13/05/2012 10:16]...nessuno? [SM=g27825] vabbè!
Ho optato per la soluzione che crea meno complicazioni; un pulsante ActiveX che aggiorna i valori.
Il codice è questo:

[TESTO]Private Sub CommandButton1_Click()
Dim s, x3, x2, x, c
Dim i1, i2, i3, f1, f2, f3, ic, fc
Me.ChartObjects("Grafico 1").Activate
s = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text
i3 = InStr(s, "=") + 1
f3 = InStr(s, "x3")
x3 = Val(Replace(Mid(s, i3, f3 - i3), ",", "."))
i2 = f3 + 3
f2 = InStr(s, "x2")
x2 = Val(Replace(Mid(s, i2, f2 - i2), ",", "."))
i1 = f2 + 3
f1 = InStr(s, "x ")
x = Val(Replace(Mid(s, i1, f1 - i1), ",", "."))
ic = f1 + 2
fc = InStr(s, "R²") - 1
c = Val(Replace(Mid(s, ic, fc - ic), ",", "."))
' MsgBox "x3 = " & x3 & vbCrLf & "x2 = " & x2 & vbCrLf & "x = " & _
' x & vbCrLf & "c = " & c
Range("E3") = x3
Range("F3") = x2
Range("G3") = x
Range("H3") = c
Range("E3").Activate
End Sub[/TESTO]Questo è il file con la modifica:

[/QUOTE][/POSTQUOTE]


paolorossi1984
00mercoledì 15 ottobre 2014 16:11
grazie
grazie mille, mi è stato molto utile [SM=x423028]
gs1960
00giovedì 20 novembre 2014 12:52
Molto interessante, complimenti!
gquattro24
00domenica 1 marzo 2015 15:26
molto utile
molto utile. Grazie
gabrireghe-ExcelForum
00mercoledì 20 gennaio 2016 19:39
molto interessante.
ho cercato di scaricare il file allegato per vedere meglio il codice ma mi dice:
"Autorizzazione Negata
Non partecipi a questa comunità, per iscriverti: clicca qui

Contatta gli Amministratori: Bryan Fury"

benché questo sia il mio primo post sono regolarmente iscritto da più di una settimana...
qualcuno sa dirmi se sono io che sbaglio qualcosa o altrimenti come posso fare per effettuare il download??

ciao
PuccettiGiovanni
00martedì 2 febbraio 2016 10:42
Utilissimo
Grazie mille...utilissimo!
Andrea Costa.2016
00lunedì 12 dicembre 2016 14:56
Finalmente!
Anche per me utilissimo.
patel45
00martedì 13 dicembre 2016 08:52
ripeto, per scaricare allegati occorre avere all'attivo almeno un messaggio, la data di iscrizione non da diritti, occorre partecipare.
Enrico(1960)
00sabato 7 gennaio 2017 18:49
Coefficienti linee di tendenza
Buonasera a tutti.
Ho problemi anche io con i coefficienti delle linee di tendenza.
Ho visto alcune macro che danno la possibilità di copiarli automaticamente.
Posso utilizzarle?
Grazie per l'attenzione
Enrico
patel45
00sabato 7 gennaio 2017 19:17
il forum è pubblico e nato apposta per aiutare chi non è esperto, quindi le puoi utilizzare, anzi saremo lieti di sapere se risolverai
Enrico(1960)
00sabato 7 gennaio 2017 19:38
linee di tendenza
Ok grazie

Provo e vi dico come è andata.
Enrico
Enrico(1960)
00sabato 7 gennaio 2017 23:01
Enrico(1960)
00sabato 7 gennaio 2017 23:41
Linea di tendenza
Buonasera a tutti.
Ho utilizzato il file ed è stato molto utile.
Allego quello da me modificato.

Ho inserito anche le atre variabili fino al sesto grado e ho inserito anche alcuni risultati di Y con la differenza dei due punti riscontrati.

Grazie
Enrico
Raffaele.Costanzo
00martedì 10 gennaio 2017 11:47
Grazie!!!
Grazieeeeeeeeeeeeeee
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 17:55.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com