Analisi dati



  • Analisi dati
    di Stini (utente non iscritto) data: 12/06/2015 14:55:19

    Ciao a tutti! sto svolgendo un progetto inerente a un corso universitario, e mi trovo di fronte a un problema; vi cito il problema qui di seguito:

    Riferito ad un set di dati in cui sono elencati dei Paesi nella prima colonna, un insieme di anni nella prima riga e le relative spese per la protezione sociale nelle altre celle:
    Scrivere una funzione (Function .. End Function) che riceve ed elabora
    i seguenti dati:
     Anno: un anno preso in esame;
     Il set di dati: l’insieme dei dati, incluso le intestazioni delle colonne
    ed eventualmente escluso i nomi dei paesi.
    La funzione ha in carico di verificare se l’anno fornito è tra quelli indicati
    nel set di dati e in caso negativo ritorna -1. In caso affermativo la funzione
    calcola, per l’anno fornito, quanti paesi hanno una spesa per abitante
    compresa nell’intervallo
    [valore medio +/- 2*deviazione standard]
    e ritorna il conteggio risultante;

    In particolare, mi trovo in difficoltà nel selezionare la colonna alla quale appartiene l'anno trovato, e quindi a calcolarne l'eventuale media e devazione standard.

    Qualcuno potrebbe darmi una mano?? Grazie in anticipo!



  • di Lucas87 data: 12/06/2015 16:07:18

    Ciao
    Dipende da come hai trovato l'anno.
    In generale il risultato si ottiene con
    variabile.column


  • Analisi dati
    di Stini (utente non iscritto) data: 13/06/2015 14:38:16

    Ciao, la variabile dev'essere inserita da parte dell'utente, attraverso la finestra della funzione o anche con un'inputbox (il professore non ha specificato); quindi se volessi calcolare la media della colonna a cui appartiene l'anno, dovrei inserire una dicirura del tipo "media(variabile.column)" oppure "media(y.column)"?



  • di Stini (utente non iscritto) data: 13/06/2015 15:10:59

    nello specifico, vi riporto la scrittura VBA sviluppata da me, che credo sia abbastanza lacunosa; dove credi potrei correggerla? Grazie ancora per il tempo e la pazienza!
     
    Function project(ByVal y As Date) As Integer
    
         Dim y As Date 'dichiaro y come variabile input
         y = InputBox("inserisci anno")
         
    If TrovaRiga("1:1", y) = "" Then
    
        Dim m As Double
        Dim v As Double
      
      m = media(y.Column)
      v = StDev.p(y.Column)
      
     project = conta.se("B1:K29", y > m - 2 * v And y < m + 2 * v)
     p = project
     
    Else
    
    p = "-1"
    p = project
    End If
    
    End Function



  • di Lucas87 data: 13/06/2015 19:48:21

    Il problema degli esercizi scolastici è che solitamente vengono richiesti in base alle spiegazioni date dal docente.
    Esistono diversi modi per fare la stessa cosa e se utilizzassi un sistema che non dovresti conoscere, sicuramente si noterebbe che sei stato aiutato.
    Quello che non capisco è il senso di creare una funzione che utilizza delle formule....tanto vale usare direttamente le formule.
    Io avrei usato il metodo Find per trovare l'anno, un If...end if per gestirne la presenza o meno, poi con variabile.column avrei identificato la colonna e alla fine avrei fatto i calcoli richiesti sulla colonna...Però come ti ho detto, dipende da quali sono le tue conoscenze.