formula per indice
Hai un problema con Excel? 
formula per indice
di re.king (utente non iscritto) data: 13/09/2012 11:46:35
Carissimi,
aiutatemi nel creare una formula alle condizioni di cui in basso:
- il raggiungimento del paletto (cash) di 74000€ mi fa assegnare un indice 100;
- il superamento del cash dei 74000€ deve comportare una crescita dell'indice di pari passo con il cash eccedente i 74000 (es cash raccolto 85000 - paletto 74000 ottengo un indice di 114.86);
- un cash inferiore a 74000 ma superiore a zero deve restituire un valore pari all'incidenza del cash raccolto (es cash raccolto 30000 - paletto 74000 ottengo un indice di 40.54)
- infine un cash inferiore a zero deve restituire un valore pari a zero
Attendo mille grazie
di Vecchio Frac data: 13/09/2012 11:57:49
La vedo dura con una semplice formula (destreggiarsi tra =SE e =SCEGLI o magari anche =INDICE può portare a costruire formule molto complicate).
Ti conviene di gran lunga creare una UDT, una funzione tua da inserire (As Public) in un modulo e da richiamarsi direttamente nel foglio come fosse una funzione di Excel, tipo =MIAFUNZIONE().
Hai già tracciato lo sviluppo logico della funzione.
Ti basta solo tradurla in VBA con una serie di If o Select Case.
Non ci sono particolari difficoltà quindi ti invito a provare e a buttar giù un codice, e a mostrarcelo, poi lo aggiusteremo insieme.
di re.king (utente non iscritto) data: 13/09/2012 12:09:00
...magari lo sapessi fare....mi potresti gentilmente aiutare?
di HarryBosch data: 13/09/2012 12:55:44
però credo che come "indice" King si riferisse al rapporto fra il numero inserito e il numero che fa da "paletto", in questo caso 74.000).
Costruire una funzione apposita sarebbe probabilmente la via più appropriata, ma questa la lascio a Vecchio Frac.
Intanto io scrivo una formulina del tipo:
=SE(A1<0;0;SE(A1=74000;100;A1/74000%))
@re.king
questa corrisponde ai dati che hai riportato nella spiegazione: che il numero inserito sia minore o maggiore di 74.000 il rapporto è sempre tra il numero inserito e 74.000 (vedi 114.86 e 40.54)
se invece i due rapporti devono essere diversi, a seconda che il numero inserito sia minore o maggiore di 74000, allora bisogna modificare la formula, ma allora dovresti spiegare meglio la relazione fra i due. O almeno riporta il risultato che ti attenderesti, se diverso da quello precedentemente segnalato.
di Vecchio Frac data: 13/09/2012 13:04:23
@Vanni
Parlavo di "formula complicata" perché trattasi di nidificare almeno un paio di =SE come hai già ben impostato: a distanza di mesi a rileggere formule annidate il minimo che ti viene è il mal di testa...
E poi io sono un fan di VBA ^_^
di HarryBosch data: 13/09/2012 13:13:28
@Vecchio Frac
da quando ho scoperto i "poteri" del vba anch'io non metto più mani sulle formule nude e crude... e tra l'altro vien molto più facile costruire le funzioni più complesse..
Però ho pensato che se il nostro amico ha bisogno di un aiutino per impostare una formula SE allora forse era meglio procedere per gradi
di canapone (utente non iscritto) data: 14/09/2012 07:37:02
Ciao Antonio,
potresti provare
=(A1>0)*A1/740
Saluti
di canapone (utente non iscritto) data: 14/09/2012 07:39:16
Ciao,
potresti provare
=(A1>0)*A1/740
Saluti
di Vecchio Frac data: 14/09/2012 08:36:44
Grazie canapone,
semplice, conciso, efficace e soprattutto giusto :)
(però non aver fretta di premere Invio due volte, anche a me è capitato che non accadesse apparentemente nulla anche per un paio di minuti, in realtà la risposta parte correttamente e viene ricevuta dal sistema)
Vuoi Approfondire?