Funzione SE molto lunga



  • Funzione SE molto lunga
    di condor_uk (utente non iscritto) data: 18/06/2015 11:38:22

    Un saluto a tutti gli amici del forum, questo è il mio primo messaggio e mi auguro che mi riterrete degno membro della community. Vi espongo brevemente il mio problema, ho un foglio excel con dei dati numerici nelle celle da (A1 a indefinito) dovrei fare in modo di valorizzare le celle contenute nella colonna (B) a partire dalla cella (B1) in funzione di quello che è scritto nelle celle da (A1 a indefinito). Esempio pratico: se nella cella (A1) è scritto 15025 scrivi nella cella (B1) 10. se nella cella (A1) è scritto 15026 scrivi nella cella (B1) 20 - SE nella cella (A2) è scritto 15025 scrivi nella cella (B2) 10 - SE nella cella (A2) è scritto 15026 scrivi nella cella (B2) 20 ecc ecc

    Mi dareste una mano ?



  • di totygno71 data: 18/06/2015 11:46:31

    Hai pensato a udf?



  • di Luca73 data: 18/06/2015 11:49:57

    Quanti sono i possibili valori in colonna A?
    Quanto sono i possibili valori in colonna B?

    Per ogni valore in colonna A corrisponde sempre lo stesso valore in colonna B?

    quale è o quali sono le regole che riempiono B in funzione di A?







  • di ninai (utente non iscritto) data: 18/06/2015 12:40:13

    ciao

    l'esempio da te fatto non credo sia sufficiente, come segnalato da Luca. Diversamente, vorrebbe dire che per ogni valore in A maggiore di 15024, in B vorresti =(A-15024)*10



  • di condor_uk (utente non iscritto) data: 19/06/2015 11:12:44

    Ciao ragazzi, scusate la poca chiarezza espositiva. Sono riuscito a "risolvere" il problema in maniera molto maccaronica, anche se la funzione va bene solo su excel 2007 e non so proprio come adattarla al 2003. Mi sarebbe piaciuta implementarla in una macro, questa la funzione ...

    Naturalmente inserendola nella cella A1 e trascinandola nelle celle sottostanti la formula si adatta diventando:

    =SE(A2=5163;"1";SE(A2=5234;"1";SE(A2=15194;"1";SE(A2=15189;"1"; ecc ecc
     
    =SE(A1=5163;"1";SE(A1=5234;"1";SE(A1=15194;"1";SE(A1=15189;"1";SE(A1=15191;"1";SE(A1=15189;"1";SE(A1=15191;"1";SE(A1=15192;"1";SE(A1=15193;"1";SE(A1=15198;"1";SE(A1=15197;"1";SE(A1=15196;"1";SE(A1=15190;"1";SE(A1=15199;"1";SE(A1=15201;"2";SE(A1=15213;"2";SE(A1=15200;"2";SE(A1=15221;"2";SE(A1=9272;"2";SE(A1=15180;"2";SE(A1=15195;"2";SE(A1=15165;"2";SE(A1=15163;"2";SE(A1=9146;"2";SE(A1=338;"2";SE(A1=15164;"2";SE(A1=336;"2";SE(A1=9274;"2";SE(A1=5184;"2";SE(A1=9088;"2";SE(A1=892;"2";SE(A1=892;"2";SE(A1=15215;"2";SE(A1=10052;"2";SE(A1=10051;"2";SE(A1=15174;"2";SE(A1=9378;"5";"0")))))))))))))))))))))))))))))))))))))



  • di Luca73 data: 19/06/2015 11:36:57

    Ciao io ti propongo due soluzioni
    1) usare la funzione O all'interno del SE
    =se(O (A1=5234;A1=15194;A1=15189;....);1;SE(O(....);2;SE(A1=9378;"5";"0")))
    2) usare una tabella di appoggio e la funzione cerca vert
    la tabella deve contenere tutti i valori e i relatifvi risultati.
    Vedi File allegato.






  • di condor_uk (utente non iscritto) data: 19/06/2015 14:52:20

    Ragazzi senza il vostro supporto non ce l'avrei fatta. Ho utilizzato la funzione (O) all'interno del SE, funzione che non conoscevo e che mi ha dato la possibilità di ridurre la lunghezza della funzione

    Grazie