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
* 'funzione' e problema con excel
Nuovo argomento   Rispondi    Indice del forum -> Software - generale
Precedente :: Successivo  
Autore Messaggio
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 18:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 08 Set 2005 13:14    Oggetto: * 'funzione' e problema con excel Rispondi citando

.
Ho questo particolare problema...importante Crying or Very sad

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
Profilo Invia messaggio privato
holifay
Dio maturo
Dio maturo


Registrato: 08/03/05 09:48
Messaggi: 2912
Residenza: Milano

MessaggioInviato: 08 Set 2005 13:54    Oggetto: Re: 'funzione' e problema con excel Rispondi citando

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? Rolling Eyes

.
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 18:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 08 Set 2005 16:14    Oggetto: Rispondi citando

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 ! Brick wall


.
Top
Profilo Invia messaggio privato
holifay
Dio maturo
Dio maturo


Registrato: 08/03/05 09:48
Messaggi: 2912
Residenza: Milano

MessaggioInviato: 08 Set 2005 21:46    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
ulisse
Dio maturo
Dio maturo


Registrato: 02/03/05 01:09
Messaggi: 1531
Residenza: Bagnone (MS)

MessaggioInviato: 09 Set 2005 12:51    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato HomePage
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 18:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 11 Set 2005 17:41    Oggetto: Rispondi citando

in ritardo, ma grazie mille a holifay per la veloce spiegazione grafica e ad Ulisse per il supplemento di spiegazione didattica !! Applause
Top
Profilo Invia messaggio privato
vathek
Dio maturo
Dio maturo


Registrato: 06/09/05 15:09
Messaggi: 1559
Residenza: Roma

MessaggioInviato: 11 Set 2005 20:02    Oggetto: Rispondi citando

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! Razz

Poi un giorno ti sottoporrò un problema di catalogazione...
Top
Profilo Invia messaggio privato HomePage
holifay
Dio maturo
Dio maturo


Registrato: 08/03/05 09:48
Messaggi: 2912
Residenza: Milano

MessaggioInviato: 11 Set 2005 22:28    Oggetto: Rispondi

Ulisse: io so usare la formula, ma rinuncio a capire perchè Smile

Vathek ha scritto:
Poi un giorno ti sottoporrò un problema di catalogazione...


OK Wink
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software - generale Tutti i fusi orari sono GMT + 1 ora
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