Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum2 -- CercaGlobale -- Informativa su Cookie e Privacy

Questo Forum1 è in sola lettura -- Usa il Forum2


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Funzione in excel
#1
Salve,
vorrei la funzione in excel per
il seguente problema:
ho dei valori standard nella colonna A e dei valori realmente ottenuti nella colonna B
in sintesi vorrei ad esempio che se A1=4,6 e in B1 ottengo 4 mi restitutisca 2. Se A2=4,5 e in B2 ottengo 4 mi restituisca 1 come nell'esempio etc etc

                   A                           B                        C
            Valore di riferimento     Valore ottenuto       restituzione della funz.
1                   4,6                          4                          2           
2                   4,5                          4                          1
3                   4,1                          4                          1              
4                   4,1                          5                          2
5                   1,7                          1                          2
6                   1,5                          1                          1
7                   1,8                          2                          1
8                   10                           1                         10    
9                   10                           9                          2
10                 10                           7                           4
11                 8,5                          9                           2 
12                 8,5                          8                           1
13                 8,5                          7                           3                    
in pratica gli elementi sono 10.
in c1 voglio che mi restituisca 1 se b1 è tra i 10 elementi quello più vicino al valore di A1.
in C1 voglio che mi restituisca 2 se b1 è il secondo più vicino dei 10 elementi al valore di A1
in C1 voglio che mi restitutisca 3 se b3 è il terzo degli ementi (da 1 a 10) più vicino al valore di A1.
etc etc se il valore con la virgola è ad esempio 8,5 dovrà considerare più vicino 8, il 9 lo darà come secondo, 7 come terzo, 10 come 4 etc
Grazie
Buon Anno a Tutti
Cita messaggio
#2
Non credo che esista una funzione che fa quello che dici, al più puoi programmartela in Visual Basic for applications (incluso in Excel)
Il mio blog: http://zerozerocent.blogspot.it/
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
Cita messaggio
#3
(02-01-2014, 14:51 )BAT Ha scritto: Non credo che esista una funzione che fa quello che dici, al più puoi programmartela in Visual Basic for applications (incluso in Excel)
Ciao Bat, allora mi servirà il codice.... se puoi consigliami! si tratta di  dati di scommesse sportive.... se vinco ti penseròWink
Cita messaggio
#4
a parte che non ho il tempo di farlo, il problema non è definito correttamente;
dalla tabella che hai scritto ti assicuro che non si capisce niente;
per esempio in riga 4, colonna B c'è il 5;
il B4=5 e A1=4,6 hanno 0,4 di differenza, invece B2=4 e A1=4,6 hanno 0,6 quindi è più lontano

Fatti prima una tabella corretta e poi ragionaci su, ti dovrebbero bastare delle colonne in cui mettere le differenze tra valori (magari in modulo) e poi ordinarle su tutto il foglio.
Il mio blog: http://zerozerocent.blogspot.it/
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
Cita messaggio
#5
=SE(A1=4,6;SE(B1=4;2;" "))
Questo vale per la prima riga, le successive le implementerai cambiando i valori delle colonne a e b.
Giuseppe
Cita messaggio
#6
=SE(A1<4,7;4;" ")
La precedente va incollata in C1, questa in B1.
Giuseppe
Cita messaggio
#7
Entrambe le formule si possono riassumere in C1:
=SE(A1=4,6;SE(B1<4,7;2;" "))
Annidando ulteriori funzioni se utilizzando > < =  puoi analizzare fino a 25 variabili.
Giuseppe
Cita messaggio
#8
Ricapitoliamo:
       A                   B                                          C
1    4,6    SE(A1=4,6;4;" ")    SE(A1=4,6;SE(B1=4;2;" "))
2    4,5    SE(A2=4,5;4;" ")    SE(A2=4,5;SE(B2=4;1;" "))
3    4,1    SE(A3=4,1;4;" ")    SE(A3=4,1;SE(B3=4;1;" "))
4    4,1    SE(A4=4,1;5;" ")    SE(A4=4,1;SE(B4=5;2;" "))
5    1,7    SE(A5=1,7;1;" ")    SE(A5=1,7;SE(B5=1;2;" "))
6    1,5    SE(A6=1,5;1;" ")    SE(A6=1,5;SE(B6=1;1;" "))
7    1,8    SE(A7=1,8;2;" ")    SE(A7=1,8;SE(B7=2;1;" "))
8    10    SE(A8=10;1;" ")    SE(A8=10;SE(B8=1;10;" "))
9    10    SE(A9=10;9;" ")    SE(A9=10;SE(B9=9;2;" "))
10    10    SE(A10=10;7;" ")    SE(A10=10;SE(B10=7;4;" "))
11    8,5    SE(A11=8,5;9;" ")    SE(A11=8,5;SE(B11=9;2;" "))
12    8,5    SE(A12=8,5;8;" ")    SE(A12=8,5;SE(B12=8;1;" "))
13    8,5    SE(A13=8,5;7;" ")    SE(A13=8,5;SE(B13=7;3;" "))

Ovviamente devi mettere = davanti al se.
Giuseppe
Cita messaggio
#9
Grazie
Giuseppemos, gentilissimo e bravissimo Wink
Buona Serata
Cita messaggio
#10
Prego, è un piacere condividere istruzioni in excel, credimi fa molto più di quanto si possa immaginare, sopratutto utilizzando le macro, aprirò un topic in proposito.
Giuseppe
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)