funzione MOD



  • funzione MOD
    di rambo424 data: 04/03/2014 11:49:35

    Ciao ragazzi! ho un problema più che computazionale direi algebrico.
    ho bisogno di una funzione che mi permetta di valorizzare la variabile Y in base ai valori dalla variabile X, come riportato in seguito.
    Avevo pensato alla funzione MOD, ma non riesco a "indovinare" il divisore.. con un select case mi viene difficile perchè non posso settare i casi in cui la variabile è compresa in un intervallo di valori (e il case verifica solo una condizione).. mi restano gli if.. ma volevo trovare qualcosa più fine.. idee??
     
    X	 Y 
    0	 1,00 
    1	 1,00 
    2	 1,00 
    3	 1,00 
    4	 2,00 
    5	 2,00 
    6	 2,00 
    7	 2,00 
    8	 3,00 
    9	 3,00 
    10	 3,00 
    11	 3,00 
    12	 4,00 
    13	 4,00 
    14	 4,00 
    15	 4,00 
    



  • di Lucas87 data: 04/03/2014 12:48:40

    Credo di avere capito che:
    x<4 y=1
    x<8 y=2
    ...
    e così via. Quindi 4 valori per ogni gruppo.
    Puoi usare le formule o il VBA.
     
    Formula:
    =INT(A2/4)+1
    
    VBA:
    For i = 2 To Range("a" & Rows.Count).End(xlUp).Row
        Cells(i, 2) = Int(Cells(i, 1) / 4) + 1
    Next



  • di rambo424 data: 04/03/2014 13:01:45

    E' esattamente quello che mi serviva! non ci avevo pensato alla function INT!!
    Grazie mille Lucas!!!! :)



  • di Grograman data: 04/03/2014 13:23:23

    cit: "e il case verifica solo una condizione"

    Queste sono notizie false e tendenziose!
     
    Option Explicit
    
    Sub selectocaso()
    Dim x As Long, i As Long, k As Long
    For i = 2 To 17
      x = Cells(i, 1)
      Select Case x
        Case 0 To 3
          k = 1
        Case 4 To 7
          k = 2
        Case 8 To 11
          k = 3
        Case 12 To 15
          k = 4
      End Select
    Next i
    End Sub