Precedente :: Successivo |
Autore |
Messaggio |
ioSOLOio Amministratore
Registrato: 12/09/03 18:01 Messaggi: 16342 Residenza: in un sacco di...acqua
|
Inviato: 08 Set 2005 13:14 Oggetto: * 'funzione' e problema con excel |
|
|
.
Ho questo particolare problema...importante
Sul foglio1 di un file Excel ho una sorta di elenco tabellare come da figura seguente:
ora, passando ad esempio al foglio2 del medesimo file, avrei necessità che allo scrivere ad esempio in una cella il numero 4 mi compaia scritto nelle due celle adiacenti giovedi e aprile cioè
e così via per gli altri numeri..
mi pare si possa proprio fare, ma non riesco a ri-ottenerlo...
Potrebbero andare bene anche soluzioni un pochetto più restrittive, tipo ad esempio che il numero digitato sia nella medesima posizione di quello nel foglio di origine.
sapete darmi una mano ?
. |
|
Top |
|
|
holifay Dio maturo
Registrato: 08/03/05 09:48 Messaggi: 2912 Residenza: Milano
|
Inviato: 08 Set 2005 13:54 Oggetto: Re: 'funzione' e problema con excel |
|
|
ioSOLOio ha scritto: | sapete darmi una mano ? |
ma certamente: 8)
nella cella B12 metti il numero che vuoi cercare
nella cella C12 la formula è:
Citazione: | =DB.VALORI(B3:D7,C3,B11:B12) |
mentre nella D12 è ovviamentte:
Citazione: | =DB.VALORI(B3:D7,D3,B11:B12) |
L'intervallo criteri lo allarghi secondo necessità. Le intestazioni colonne (A;B;C) le devi tenere, altrimenti va modificata la formula mettendo il numero corrispondente alla colonna utilizzata.
Chiaro?
. |
|
Top |
|
|
ioSOLOio Amministratore
Registrato: 12/09/03 18:01 Messaggi: 16342 Residenza: in un sacco di...acqua
|
Inviato: 08 Set 2005 16:14 Oggetto: |
|
|
ok, si chiaro....
sono anche ovviamente riuscito a far si che funzioni su fogli diversi, avendo su foglio1 la tabella di partenza e su foglio2 la funzione impostata da te.
MA
1) nel caso che una delle tre colonne sia più breve delle altre, dovrebbe restituire una casella vuota e non un errore
se vado a cancellare i simboli dell'errore nella casella, mi azzera direttamente la formula ivi impostata
2) in questo modo abbiamo impostato una singola riga..dovendolo far funzionare per n righe sotto quella impostata, come si può implementare ? Anche per non avere ogni volta la intestazione colonna (una volta in cima può andare)..
...uff oggi più utonto che utente !
. |
|
Top |
|
|
holifay Dio maturo
Registrato: 08/03/05 09:48 Messaggi: 2912 Residenza: Milano
|
Inviato: 08 Set 2005 21:46 Oggetto: |
|
|
forse allora è più semplice così:
in B11 la formula la vedi, in C11 invece è:
Citazione: | =CERCA.VERT($A11;$A$1:$C$5;3;VERO) |
Per gli altri campi verticali basta che le copi trascinandole in giù |
|
Top |
|
|
ulisse Dio maturo
Registrato: 02/03/05 01:09 Messaggi: 1531 Residenza: Bagnone (MS)
|
Inviato: 09 Set 2005 12:51 Oggetto: |
|
|
Ma excel è il mio pane!
Mannaggia a me che non ho visto prima la richiesta.
Cmq vedo che Holy se l'è cavata egregiamente!
Non tutti conoscono la funzione CERCA.VERT !
Una precisazione, però.
La funzione Codice: | CERCA.VERT(CosaCercare;DoveCercare;CosaRestituire;ComeCercare) |
richiede quattro argomenti in input. Eccone i dettagli:
CosaCercare: riferimento al dato da usare come chiave di ricerca
DoveCercare: riferimento alla tabella in cui effettuare la ricerca (attenzione che il dato indicato da CosaCercare verrà cercato esclusivamente nella prima colonna della tabella)
CosaRestituire: è il numero della colonna che contiene i dati da restituire
ComeCercare: è l'argomento (booleano quindi si imposta a VERO o a FALSO) più delicato perchè determina il tipo di ricerca che verrà effettuata. Se lasciato vuoto o impostato a VERO non cerca il match esatto ma si limita a individuare (secondo l'ordinamento alfanumerico) il massimo dei minoranti (ovvero cerca il più grande tra tutti i dati inferiori al dato specificato da CosaCercare) viceversa se impostato a FALSO cerca la corrispondenza esatta tra CosaCercare e i dati contenuti nella prima colonna di DoveCercare.
Osservazione importante sull'argomento ComeCercare:
nonostante i programmatori di Excel abbiano ritenuto opportuno privilegiare la ricerca "debole" assegnando ad essa il valore di default tale modalità di ricerca è più complicata e se usata male può facilmente produrre dei risultati sbagliati. E' buona norma, quindi, usare sempre la funzione CERCA.VERT con la ricerca "forte" (ovvero match esatto ottenuto con l'ultimo parametro impostato come FALSO) e limitarsi ad usare la ricerca "debole" solo quando strettamente necessario.
L'errore più frequente nel quale si incappa contravvenendo a questa indicazione si manifesta quando la tabella in cui effettuare la ricerca non è ordinata in senso alfanumerico crescente rispetto alla prima colonna: in tale caso la ricerca debole dà i numeri mentre quella "forte" restituisce comunque il risultato corretto.
-------------------------------------------------
Altre osservazioni:
1) il gruppo di funzioni precedute dal prefisso DB. sono, a mio avviso, una forzatura per consentire l'uso (improprio) di Excel come database aggiungendo parecchie funzionalità del linguaggio SQL. Ne sconsiglio l'uso (se non a utenti molto esperti) per la complessità d'uso e la lentezza. In quasi tutte le applicazioni CERCA.VERT (e la cugina CERCA.ORIZZ) raggiunge egregiamente lo scopo.
2) se la tua necessità è quella di spezzare una data in modo che ogni cella della riga contenga un solo componente (una cella per il giorno del mese, una per il giorno della settimana e una per il mese dell'anno, etc etc) allora potrebbe non essere necessaria la struttura che hai pensato.
Infatti è sufficiente inserire la data di interesse nella prima colonna formattandola in modo che venga visualizzato solo il giorno del mese; nelle colonne successive inserisci il link alla prima colonna in modo da replicare la stessa data nelle celle a destra e poi formatti ogni cella in modo che venga visualizzata solo la parte di data che ti interessa.
Vantaggi:
* ogni cella contiene la data completa con la quale puoi fare qualunque tipo di operazione
* non è necessaria la tabella di supporto che quindi non va aggiornata ogni volta che aggiungi una nuova data
* è più veloce e alleggerisce il foglio di lavoro
3) in generale (e in particolare con la funzione CERCA.VERT) è buona norma non inserire nelle funzioni i riferimenti in formato RC ma sostituire ove possibile i riferimenti con le etichette. Ciò vuol dire che, se la tabella da passare come argomento DoveCercare è in $A1:$B10, non conviene scrivere Codice: | CERCA.VERT(CosaCercare;$A1:$B10;CosaRestituire;ComeCercare) | ma piuttosto conviene dare un nome (l'etichetta) all'area del foglio contenente la tabella e poi nella funzione fare riferimento alla tabella attraverso la sua etichetta.
Per dare un nome ad una cella o ad un'area del foglio si procede così:
a) selezionare l'area da etichettare
b) Inserisci>Nome>Definisci poi digiti nella casellina "nomi nella cartella di lavoro:" in cui il cursore è già posizionato all'apertura della finestra il nome che vuoi attribuire all'area da etichettare e infine clicchi su >Aggiungi> e su <OK>
Vantaggi dell'etichettatura:
* in fase di debug è molto più facile capire cosa fa una formula complessa
* nel caso si debba modificare la dimensione dell'area etichettata tale variazione si fa una sola volta alla definizione dell'etichetta e non in tutte le formule che riferiscono a quell'area |
|
Top |
|
|
ioSOLOio Amministratore
Registrato: 12/09/03 18:01 Messaggi: 16342 Residenza: in un sacco di...acqua
|
Inviato: 11 Set 2005 17:41 Oggetto: |
|
|
in ritardo, ma grazie mille a holifay per la veloce spiegazione grafica e ad Ulisse per il supplemento di spiegazione didattica !! |
|
Top |
|
|
vathek Dio maturo
Registrato: 06/09/05 15:09 Messaggi: 1559 Residenza: Roma
|
Inviato: 11 Set 2005 20:02 Oggetto: |
|
|
lo sapevo che questo era pane per i denti di Holi.... se ci fosse stato un TotoZeus su chi per primo avrebbe risposto a questo quesito mi sarei giocato tutto su di te!
Poi un giorno ti sottoporrò un problema di catalogazione... |
|
Top |
|
|
holifay Dio maturo
Registrato: 08/03/05 09:48 Messaggi: 2912 Residenza: Milano
|
Inviato: 11 Set 2005 22:28 Oggetto: |
|
|
Ulisse: io so usare la formula, ma rinuncio a capire perchè
Vathek ha scritto: | Poi un giorno ti sottoporrò un problema di catalogazione... |
OK |
|
Top |
|
|
|