Similarità tra serie



  • Similarità tra serie
    di Giova24 (utente non iscritto) data: 24/04/2017 16:10:42

    Ciao, secondo voi è possibile con Excel e Vba creare un software di matching dei grafici? Mi spiego: data una prima SerieA di 100 dati, si trovi quale pezzo di serie (di 100 dati) all'interno di una seconda SerieB di es.120000 dati, corrisponde al meglio, cioè è più simile ai 100 dati della SerieA.

    Esempio:

    SerieA

    4,7
    6,9
    3,1
    5,3
    9,1


    SerieB

    0,1
    1,3
    4,8*
    6,9*
    3,1*
    5,2*
    9,1*
    1,8
    4,7
    5,8
    1,4
    9,5
    6,3
    8,5
    1,4

    Nella SerieB ci sono 5 valori (contrassegnati da *) che al meglio corrispondono ali valori della SerieA.

    Non penso che con solo le formule di Excel si possa fare, però con VBA potrebbe essere fattibile...secondo voi si può fare?








  • di Mister_x (utente non iscritto) data: 25/04/2017 15:17:17

    ciao

    nel tuo esempio ho gia' riscontrato un errore in quanto il 4,7 e' presente in colonna B riga 9

    quindi la tua ricerca e' questa

    4,7 0,1
    6,9 1,3
    3,1 4,8
    5,3 6,9 *
    9,1 3,1 *
    5,2 *
    9,1 *
    1,8
    4,7 *
    5,8
    1,4
    9,5
    6,3
    8,5
    1,4

    la sub in questione e questa da inserire nel modulo del foglio
    allego file di prova

    ciao
     
    Option Explicit
    Sub Corr_pressapoco()
    Dim i As Long, v As Long, Nriga As Long
    Dim valA As Double
    Dim valpres As Double
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    valA = Cells(i, "A")
    valpres = 100000
     For v = 1 To Cells(Rows.Count, "B").End(xlUp).Row
      If Abs(valA - Cells(v, "B")) < valpres Then
       valpres = Abs(valA - Cells(v, "B"))
       Nriga = v
      End If
     Next v
     Cells(Nriga, "C") = "*"
    Next i
    End Sub