Ricerca valore approssimativo in tabella ed associane una casella risultante

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
alemada95
00lunedì 22 maggio 2017 12:52
Buongiorno a tutti,

dopo svariati giorni di ricerche su internet mi arrendo e chiedo un vostro aiuto (anche perché non essendo un asso in Excel non potr3ei fare altrimenti).

Il mio grosso dilemma:

ho creato una tabella su Excel con tutte le voci del caso e le formule (base) per poter completare la tabella, a questo punto però mi sono accorto che per completarla richiede ancora tanto lavoro di consultazione di varie tabelle e questa parte la vorrei impostare in maniera che si completi in automatico a seconda dei risultati che vengono impostati o calcolati precedentemente.

Provo a spiegare la situazione del file:

nel foglio chiamato "Tabella di calcolo" ho la mia tabella con le relative formule dove per ora i dati non calcolati dalla formula sono immessi manualmente tramite la consulta di tabelle.
Le stesse tabelle (riportate manualmente) che si trovano rispettivamente nel foglio "Tabella dimensionamento" e "Tabella KR" ora vorrei fare in maniera che immettendo una formula di calcolo base all'interno della tabella ne risulti un numero e fino a qui nulla di particolare avendolo già fatto..., quindi prendendo come riferimento questo numero risultante e fare in maniera che in un altra casella venga immessa una formula che vada a confrontare il mio numero risultante con la tabella inerente dato che il numero non sarà uguale a quello della tabella deve prendere il numero successivo in ordine di grandezza, a questo punto avendo trovato il numero da prendere in considerazione ci sarà un numero di riferimento inerente al range nel quale si trova il numero preso in considerazione prima.

spero di essere stato abbastanza chiaro, e ne sono certo che una volta visto sul file tutto risulti più chiaro.
Resto nella speranza che qualcuno mi possa aiutare, grazie in anticipo [SM=x423017]
alfrimpa
00lunedì 22 maggio 2017 13:31
Alessio allega un file di esempio che riporti la situazione che hai descritto, spiegazione e risultato desiderato inserito a mano.
alemada95
00lunedì 22 maggio 2017 13:42
File allegato
file allegato, le celle evidenziate sono quelle che dovrebbero riportare il dato in automatico sulla base della scelta automatica.
La ringrazio per la sua disponibilità.
alfrimpa
00lunedì 22 maggio 2017 15:33
Alessio mi dispiace ma pure con il file non ho capito proprio nulla.
hastagmorale
00lunedì 22 maggio 2017 15:51
non credo
alfrimpa
00lunedì 22 maggio 2017 16:10
Cosa non credi?
alemada95
00lunedì 22 maggio 2017 16:19
Provo a spiegare meglio forse con il file davanti ci capiamo meglio.

Come vede appena aperto il file compare la tabella dove è stata completata con i vari dati, i campi in questione sono solamente quelli con il riempimento dei vari colori, che ho colorato con colori simili per far capire dove lo stesso dato si trova nelle tabelle.

nella colonna 2 (vedi numero in alto nella tabella)troviamo il 258 il lavoro che dovrei fare io a questo punto sarebbe quello di andare a ricercare manualmente il numero 258 all'interno della "tabella dimensionamento" (secondo foglio di lavoro) siccome il 258 non lo si trova prendo quello successivo in questo caso il 261.1 (come scritto sul foglio bisogna guardare solamente le colonne con m° in alto e non le altre con v oppure p.din).
Una volta che si fa capire al programma che il nostro numero si trova nella colonna del 22 questo numero va riportato nella tabella nella colonna 4

ALLEGO FILE AGGIORNATO CON I COMMENTI PER OGNI PUNTO
dodo47
00lunedì 22 maggio 2017 20:55
Ciao
è molto complesso rralizzare con formule quello che chiedi anche in dipendenza della struttura dei dati.
La via migliore sarebbe l'utilizzo di un codice Vb.

1) devi togliere le celle unite nelle righe 3 e 4 di Tabella dimensionamento. Se non vuoi vedere le ripetizioni dei numeri dai colore bianco agli estremi lasciando per ogni gruppo il centrale.

2) le formule, oltre che complesse, sono matriciali.

in riga 13 della Tabella di calcolo ne ho inserite qualcuna, in particolare quella di col. A trova il numero più vicino.
Il resto lo vedi.

Per quanto riguarda le formule mancanti in col. N ed O ci penso, ho qualche difficoltà, ma la base è quella delle altre.
Quindi se c'è qualcuno di buona volontà....

Fai qualche prova.

saluti

Nota: la ricerca del numero viene effettuata sull'intera tabella, quindi se c'è la possibilità che altre colonne a parte le col. da te indicata (m°) possano contenere numero "vicini", questa soluzione non va bene.

cromagno
00martedì 23 maggio 2017 00:18
Re:
dodo47, 22/05/2017 20.55:


Per quanto riguarda le formule mancanti in col. N ed O ci penso, ho qualche difficoltà, ma la base è quella delle altre.
Quindi se c'è qualcuno di buona volontà....



Ciao a tutti,

@dodo47
prendendo il tuo file come riferimento...

nella cella N13 (da copiare poi nella O13 ed eventualmente in basso), la formula matriciale:
=INDICE('Tabella dimensionamento'!$C$6:$Z$12;CONFRONTA('Tabella di calcolo'!$L13;'Tabella dimensionamento'!$B$6:$B$12;0);CONFRONTA('Tabella di calcolo'!$E13;'Tabella dimensionamento'!$C$3:$Z$3;0)+RIF.COLONNA(A$1))

Ciao
Tore
dodo47
00martedì 23 maggio 2017 08:32
Ciao Tore
non dubitavo....e ieri sera ci avevo pensato. Confronta coordinate 55 e 22 e prendi il 2° o il 3°.....ok

grazie.

Visto che ci sei, riusciresti a modificare la formula in col. A:
=MIN(SE(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13)=MIN(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13));'Tabella dimensionamento'!$B$6:$Z$12))
affinché la ricerca venga effettuata solo nelle colonne intestate "m°" ??
Vorrei evitare una tabella d'appoggio.


Nel frattempo allego file completato e corretto (nel primo c'erano dei riferimenti relativi che dovevano essere assoluti).

Ma ripeto quanto detto in precedenza:

Nota: la ricerca del numero viene effettuata sull'intera tabella, quindi se c'è la possibilità che altre colonne a parte le col. da te indicata (m°) possano contenere numero "vicini", questa soluzione non va bene.

Infatti se la portata fosse per esempio 25, i dati reperiti sarebbero errati in quanto prenderebbe i valori legati alla cella K12 di Tabella dimensionamento.

@Alemada a tal proposito nella tabella Kr manca il diametro 25 e non so se altri.

Vediamo se si riesce a correggere.
alemada95
00martedì 23 maggio 2017 10:19
BUONGIORNO

ringrazio moltissimo per l'aiuto che mi state dando perché io ho passato 2 giorni a girare internet e non ci ero arrivato nemmeno lontanamente alle formule che mi avete applicato alla tabella, e con le mie competenze penso che nemmeno se me l'avreste spiegato ci sarei arrivato...
per quanto riguarda la tabella ora è stata copiata sotto quella precedente ed impostata in maniera diversa, mentre per il 25 che mi dicevi è giusto che non ci sia nella tabella KR trattandosi della misura interna del relativo 28 nella tabella compaiono solamente i numeri nella riga 3 (quella sopra)

ho fatto delle annotazioni all'interno del file di alcune cose che ancora non funzionano correttamente e delle note per semplificare il lavoro

RINGRAZIANDOVI MOLTISSIMO TORE E DODO47

saluti

Alessio
dodo47
00martedì 23 maggio 2017 18:06
Ciao

non ho capito la faccenda della col. 9; nella tua richiesta dici cercarlo "utilizzando il valore della colonna 10" nella fattispecie 260,31. Dove??

A parte questo, mi era sfuggito il fatto del valore maggiore di; dovrei averla sistemata.

Fai bene i tuoi controlli.

Revisione tabella:

Nel foglio Tabella dimensionamento, ho lasciato la tua tabella originaria ma da AF a AN ho riportato quanto necessario. Sono celle con puntatori alla tabella originale, quindi se vari la tab. originale, non devi fare nulla in quanto quella di appoggio si aggiorna automaticamente.

saluti

cromagno
00martedì 23 maggio 2017 19:34
Re:
dodo47, 23/05/2017 08.32:


Visto che ci sei, riusciresti a modificare la formula in col. A:
=MIN(SE(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13)=MIN(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13));'Tabella dimensionamento'!$B$6:$Z$12))
affinché la ricerca venga effettuata solo nelle colonne intestate "m°" ??
Vorrei evitare una tabella d'appoggio.




Ciao Domenico,
rispondo solo alla tua domanda perchè ora non ho tempo di controllare il nuovo file allegato da @alemada95.

In cella A13 potresti usare questa (sempre matriciale):
=MIN(SE.ERRORE('Tabella dimensionamento'!$C$6:$Z$12/(SE('Tabella dimensionamento'!$C$5:$Z$5="m°";ASS('Tabella dimensionamento'!$C$6:$Z$12-C13);"")=MIN(SE('Tabella dimensionamento'!$C$5:$Z$5="m°";ASS('Tabella dimensionamento'!$C$6:$Z$12-C13);"")));""))

non ho fatto molte prove ma dovrebbe funzionare...

Ciao
Tore
dodo47
00martedì 23 maggio 2017 19:44
Ciao
grazie Tore...sempre un mago in queste cose.

Il metodo lo potrà utilizzare alemada se vuole eliminando quindi la tabella di appoggio che avevo proposto. Ovviamente cambiando la formula in quanto l'originale non è più:

=MIN(SE(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13)=MIN(ASS('Tabella dimensionamento'!$B$6:$Z$12-C13));'Tabella dimensionamento'!$B$6:$Z$12))

ma:

=SE.ERRORE(PICCOLO(SE('Tabella dimensionamento'!$AG$6:$AN$12>=C13;'Tabella dimensionamento'!$AG$6:$AN$12);1);MAX('Tabella dimensionamento'!$AG$6:$AN$12))

in quanto mi era sfuggito che voleva il numero immediatamente più alto.


Per quanto mi riguarda la metto nei miei "appunti segreti..!! eh..eh

saluti


dodo47
00mercoledì 24 maggio 2017 16:25
Ciao

allego l'elaborato che, con l'aiuto di Tore (cari saluti) utilizza la tabella originale, evitando la tabella d'appoggio precedentemente inserita.

Le formule sono tutte in forma di matrice.

Spero che, a parte per l'interessato, possa essere una base di come sfruttare in modo ponderoso, le potenzialità di excel con le formule.

saluti

NOTA: in F13 mancano i riferimenti assoluti del cerca.vert, modificare con:
=SE.ERRORE(CERCA.VERT(E13;'Tabella KR'!$B$6:$F$15;3;FALSO);"nd")
e trascinare


alemada95
00venerdì 26 maggio 2017 17:47
GRAZIE !!!
Eccomi scusate per la mia assenza nei giorni passati ma sono stato presissimo con la scuola.

Oggi ho ancora lavorato su questa tabella finendo di sistemare le ultime cose come da ultimo messaggio di dodo, sembrava impossibile ma ci siamo riusciti [SM=x423030]

Un ringraziamento speciale a dodo47 e Tore per la loro disponibilità e grande aiuto che mi hanno saputo dare

AUGURO A TUTTI UN BUON FINE SETTIMANA

PS. A RISENTIRCI CON PROSSIMO DILEMMA....CHI LO SA.. [SM=x423038]
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 10:37.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com