Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Excel, aiuto per scrivere una formula
Nuovo argomento   Rispondi    Indice del forum -> Software - generale
Precedente :: Successivo  
Autore Messaggio
FreeSpirit
Dio maturo
Dio maturo


Registrato: 31/08/05 15:35
Messaggi: 1570
Residenza: Olimpo Informatico

MessaggioInviato: 17 Nov 2006 13:58    Oggetto: Excel, aiuto per scrivere una formula Rispondi citando

Vorrei sapere che formula scrivere in "B8" per far sì che scrivendo "pero" in "A8", in "B8" mi compaia la quantità associata a "pero" che è stata scritta l'ultima volta, e cioè 11. Ovviamente se scrivessi "melo", la formula deve restituirmi 6 e così via.



So di non essere stato troppo chiaro con la spiegazione, se aveste dubbi, chiedetemi pure delucidazioni.

Grazie a tutti
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 17:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 17 Nov 2006 16:01    Oggetto: Rispondi citando

una formula non l'ho trovata...
excel fa sempre una ricerca dall'alto verso il basso Mad

ho scritto questa macro:
Codice:

Sub findReverse()
 
  saddr = ActiveCell.Address
  sArg = ActiveCell.Text
  ifrom = Right(saddr, Len(saddr) - InStrRev(saddr, "$"))
  For i = ifrom - 1 To 1 Step -1
    If sArg = Cells(i, 1) Then
      Cells(ifrom, 2).Value = Cells(i, 2).Text
      Exit For
    End If
  Next

End Sub


La devi registrare poi gli assegni una combinazione di tasti
digiti nella colonna il nome dell'albero, premi la combinazione di tasti che hai scelto,
nella casella adiacente appare l'ultimo valore inserito per lo stesso albero

Razz

se ci fossero problemi.... parliamone Wink

PS la macro funziona per l'esempio postato, cioè:
che il nome dell'albero sia nella prima colonna e che il valore corrispondente sia in quella adiacente; altrimenti occorre modificare il valore degli indici
Dopo l'applicazione della macro i valori possono essere modificati
quindi se scrivi:
melo 25
cambi riga
scrivi melo, applichi la macro, ti appare 25
se modifichi in 35
poi ti posizioni sulla riga successiva
scrivi melo, applichi la macro, ti appare 35

edit:
purtroppo la macro funziona solo quando sei uscito dalla cella quindi: se modifichi la seconda e la terza riga della macro con
Codice:

  ifrom = Right(saddr, Len(saddr) - InStrRev(saddr, "$"))
  sArg = Cells(ifrom, 1).Value

puoi:
digitare il nome dell'albero,
posizionarti sulla colonna adiacente [con il tasto tab]
applicare la macro

tanto per allungare un po' il post, la seconda versione è:

Codice:

Sub findReverse()
 
  saddr = ActiveCell.Address
  ifrom = Right(saddr, Len(saddr) - InStrRev(saddr, "$"))
  sArg = Cells(ifrom, 1).Value
  For i = ifrom - 1 To 1 Step -1
    If sArg = Cells(i, 1) Then
      Cells(ifrom, 2).Value = Cells(i, 2).Text
      Exit For
    End If
  Next

End Sub

Top
Profilo Invia messaggio privato
FreeSpirit
Dio maturo
Dio maturo


Registrato: 31/08/05 15:35
Messaggi: 1570
Residenza: Olimpo Informatico

MessaggioInviato: 17 Nov 2006 18:41    Oggetto: Rispondi citando

Grazie

Sei stato chiarissimo e la macro funziona perfettamente, grazie 1000!

GrayWolf ha scritto:
una formula non l'ho trovata...
excel fa sempre una ricerca dall'alto verso il basso


Infatti, ho chiesto aiuto sperando che ci fosse qualche funzione a me sconosciuta che partisse dal basso... Sad
Cercavo una funzione per evitare di appesantire troppo il foglio con una macro ma visto che non è possibile va benissimo anche questa soluzione
Top
Profilo Invia messaggio privato
gqn77
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 06/07/05 00:35
Messaggi: 178

MessaggioInviato: 13 Gen 2007 18:21    Oggetto: Rispondi citando

FreeSpirit ha scritto:
Grazie

Sei stato chiarissimo e la macro funziona perfettamente, grazie 1000!

GrayWolf ha scritto:
una formula non l'ho trovata...
excel fa sempre una ricerca dall'alto verso il basso


Infatti, ho chiesto aiuto sperando che ci fosse qualche funzione a me sconosciuta che partisse dal basso... Sad
Cercavo una funzione per evitare di appesantire troppo il foglio con una macro ma visto che non è possibile va benissimo anche questa soluzione


Ho visto che il post è di novembre ... se ti serve la formula excel c'è.

Cerca.vert=(cella in cui inserirai la parola "es pero";Intervallo che racchiude tutta la tabella con a sinistra le piante e a destra i numeri;2 che vuol dire che ti interessa la seconda colonna. Nel tuo caso

cerca.vert=(C1;A2:B7;2)

Con questa se metti in c1 la parola pero il sistema ritorna nella cella con questa formula 12.
Top
Profilo Invia messaggio privato
GrayWolf
Dio maturo
Dio maturo


Registrato: 03/07/05 17:24
Messaggi: 2325
Residenza: ... come frontiera i confini del mondo...

MessaggioInviato: 14 Gen 2007 02:21    Oggetto: Rispondi citando

forse il mio excel [uso Office 2000] funziona male...

ho provato la formula con i valori indicati
se digito pero la risposta è 11 [coerente al problema: deve essere restituito il valore dell'ultima ricorrenza]
se digito melo la risposta è 45 Shocked
Top
Profilo Invia messaggio privato
gqn77
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 06/07/05 00:35
Messaggi: 178

MessaggioInviato: 14 Gen 2007 03:18    Oggetto: Rispondi

GrayWolf ha scritto:
forse il mio excel [uso Office 2000] funziona male...

ho provato la formula con i valori indicati
se digito pero la risposta è 11 [coerente al problema: deve essere restituito il valore dell'ultima ricorrenza]
se digito melo la risposta è 45 Shocked


Errore mio... ho interpretato male il quesito. La mia formula serve per restituire il valore della colonna di destra se si digita il valore della colonna di sinistra. Ma prevede che ci sia unicità di accoppiamenti. Si può anche fare la somma di tutto ciò che a destra corrisponde a un valore presente più volte a sinista. Ma non quello che chiedeva il quesito poichè non ritorna necessariamente l'ultimo valore inserito.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software - generale Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi