PDA

Visualizza versione completa : [Excel][XP] Ricerca dati automatica in Excel


willy.z
21-11-2006, 12.30.39
Ciao a tutti,
vi espongo brevemente il mio problema.

Io ho una tabellina excell formata da 4 colonne: la prima con i valori di un angolo da 0 a 50, le altre tre con il valore di 3 coefficienti che dipendono dall'angolo in maniera sperimentale.
Questi dati mi servono per il calcolo di una formula...ma mi servono esattamente quelli riferiti all'angolo richiesto.

Ad esempio:
per un angolo di 35 gradi ho:
- Nc = 46.12
- Nq = 33.30
- Ng = 48.03

e così via per gli altri angoli.

Io ho provato a fare un'interpolazione con la polinomiale di sesto grado, ma i valori corrispondenti ottenuti si avvicinano senza mai essere identici a quelli dati.

La domanda a questo punto è: esiste una funzione che mi permetta di associare l'angolo a uno dei tre coefficienti scelti (tornando all'esempio: se io digito in una cella 35 è possibile ottenere in quella vicino il valore 46.12, o 33.30, etc)?

grazie.

Lionsquid
21-11-2006, 13.03.28
se ho ben capito alla scrittura di un dato bisogna ricercarne un'altro associato al primo

io uso questa formula

=SE("contenuto cella del primo dato"<>"";CERCA.VERT("contenuto cella del primo dato";foglio2!$A$1:$F$100;"numero di colonna del coifficiente");"")

nel foglio2 metti la tabella di corrispondenza angolo>coifficenti

la tabella dovrà avere come colonna A numeri progressivi da 1 fino a dove ti serve (ANGOLI in cifra INTERO), in colonna B,C,D i coifficienti

nel foglio 1 metti la formula vove desidere appaia il coifficenti in funzione dell'angolo (contenuto cella del primo dato)

spero di essere stato chiaro..... al limite stasera ti allego una base su cui lavorare

Lionsquid
21-11-2006, 13.16.21
dimenticavo... se devi esprimere l'angolo in gradi centesimali il problema è di rapida soluzione... in sessagesimali bisogna attuare una trasformazione in +

aspetto dettagli

ciao

willy.z
21-11-2006, 21.28.32
Sei stato chiarissimo.

In definitiva sarà così:

=SE(contenuto della cella in cui inserisco il dato da cercare<>"";CERCA.VERT(contenuto della cella in cui inserisco il dato da cercare;seleziono tabella intera in cui sono archiviati i dati ;numero di colonna del coifficiente (è un numero progressivo es: 1, 2, 3,...));"")

Grazie mile, così ho finalmente risolto

ciao.

Lionsquid
22-11-2006, 13.17.49
precisazione.. il numero della colonna in realtà è assegnato automanticamente: A=1, B=2, C=3, etc ;)

piccola avvertenza, la funzione CERCA.VERT ha delle limitazioni o se preferisci... è un pochino schizzinosa...

la colonna principale deve contenere dati in maniera assolutamente contigua, se c'è un buco si FERMA la ricerca

poi, accade spesso che si definisce una tabella che nel tempo viene espansa.... col risultato che il dato non verrà mai trovato

queste considerazioni si basano sulla mia esperienza d'uso ;)

willy.z
22-11-2006, 15.11.53
Uhm...ma quindi una soluzione definitiva non esiste con le funzioni messe a disposizione da Excel?

Bisogna per forza (ovviamente se la complessità del caso lo richiede) programmarsi una funzioncina con l'editor basic?

Lionsquid
22-11-2006, 18.35.24
beh.. se si desidera qualcosa di assolutamente personalizzato sì

però... per lo scopo non è un problema usare il cerca.vert

la colonna, quale che sia la posizione della tabella la si può conoscere/calcolare

la prima colonna della tabella è semplice da impostare dato che si devono mettere valori progressivi contigui,... che partano da 0 o 999 poco importa ;)

il resto non richede particolari regole se non quelle sintattiche di excel ;)

se vuoi, dopocena, allego un vecchio XLS modificato all'essenziale per prendere spunto ;)

quanto le funzioni VBA di excel, lasciamo perdere... appartengono ad ere scomparse...non mi ricordo più nulla :D