La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno a tutti,
stavo cercando di fare un semplice configuratore per PC. Il file allegato così comè funziona, solo che il foglio listino si modifica ogni giorno, con componnti che possono essere aggiunti o cancellati. Pertanto i riferimenti che ho inserito in tabella preventivo in colonna B e F non sarebbero più validi. Esiste un modo via funzioni o formule (non VBA in quanto devo farlo funzionare su excel online), per risolvere il problema? Grazie a chi vorrà aiutarmi
ciao
ti servono colonne d'appoggio o una convalida totale (che non è consigliata)
se ti vanno bene le colonne d'appoggio conferma che te lo sistemo
Si vanno bene le colonne di appoggio. Grazie
ciao ti metto il file
vedi le formule nei fogli FILTRI e PREVENTIVO
e nella CONVALIDA
PREVENTIVO
A3
=SE.ERRORE(INDICE(Listino!$G$2:$G$2000;CONFRONTA(0;INDICE(CONTA.SE($A$2:$A2;Listino!$G$2:$G$2000&""););0));"")
F3
=SE.ERRORE(INDICE(Listino!$D$1:D$2000;CONFRONTA($C3;Listino!$B$1:$B$2000;0));"")
FILTRO
B1 da tirare a destra
=SE.ERRORE(INDICE(Listino!$G$2:$G$2000;CONFRONTA(0;INDICE(CONTA.SE($A$1:A1;Listino!$G$2:$G$2000&""););0));"")
B2 da tirare a destra e in basso
=SE.ERRORE(INDICE(Listino!$B$2:$B$2000;AGGREGA(15;6;RIF.RIGA($1:$2000)/(Listino!$G$2:$G$2000=B$1);RIF.RIGA($A1)));"")
CONVALIDA
=SCARTO(filtri!$A$2;;CONFRONTA($A3;filtri!$B$1:$J$1;0);MATR.SOMMA.PRODOTTO(--(INDIRETTO("filtri!"&INDIRIZZO(2;CONFRONTA($A3;filtri!$A$1:$J$1;0))&":"&INDIRIZZO(50;CONFRONTA($A3;filtri!$A$1:$J$1;0)))<>"")))
Gianfranco ti ringrazio dell'aiuto. Funziona tutto egregiamente
ciao,
altra soluzione
1) attivare il calcolo iterativo: file - opzioni - formule - "attiva calcolo iterativo"
2) in F3 e trascini in basso (da confermare con ctrl shift enter in caso la formula dia errore) =SE(C3="";"";SE.ERRORE(INDICE(Listino!$D$2:D$500;CONFRONTA(C3;Listino!$B$2:B$500;0));F3))
PS: domanda, ma se hai un articolo in "preventivo" e questo viene cancellato in "listino", cosa ti aspetti? che il prezzo presente in "preventivo" rimanga comunque (soluzione del post sopra) o che altro?
Una volta fatto il preventivo questo viene archiviato stampato e dato al cliente con una validità temporale. se nel frattempo qulche articolo cambia di prezzo (che può essere minore o superiore) fa parte della politica commerciale di ogni azienda, mentre se un articolo viene cancellato dal listino si approvvigiona da un altro fornitore
Faccio un esempio per chiarire, in "Listino" viene cancellato l'articolo "Intel Box Core i5 Processor i5-12600KF 3,70Ghz 20M Alder Lake-S" che era presente in "preventivo". Quali delle due situazioni indicate in figura ti serve?
1) in "preventivo" rimane l'articolo col vecchio prezzo, anche se cancellato da listino (figura in alto)
2) in "preventivo"viene cancellata la riga dell'articolo eliminato dal listino (figura in basso, la riga nera indica che è rimasta una riga vuota dove c'era l'articolo eliminato)
Una volta fatto il preventivo, vanno aggiunti i dati del cliente, stampato e archiviato. Ultima operazione va resettato e pronto per un nuovo preventivo, cose da fare senza ricorrere al VBA in quanto lo devo usare su Excel online.
non hai risposto alle domende .....
Forse non si capiva. Non serve nessuna delle 2 opzioni, in quanto quel foglio ha lo scopo di fare un preventivo, darlo al cliente, resettare tutto per prepararlo ad un nuovo preventivo.
Buona giornata