|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
[Excel] aiuto formula
ciao a tutti!
avrei bisogno di un aiuto per una formula di excel. allora il punto è questo: dato un prezzo di un'articolo scontabile al massimo del 50% vorrei sapere tramite una formula appunto il prezzo minimo di vendita per tot omaggi. esempio l'articolo ha prezzo 10 e la confezione è composta da n. 12 pezzi io vorrei sapere il prezzo minimo di vendita di tale articolo nel caso in cui gli omaggi siano 1 pezzo oppure 2... e cosi via fino alla metà dei pezzi della confezione in questo caso 6.... tenendo conto del vincolo dello sconto max del 50% sul prezzo.... è fantascienza oppure si puo fare?
__________________
!!!...Grazie Mille...!!!
![]() ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
![]() Colonna A : prezzo totale articolo. Colonna B : N° pezzi articolo. Colonne C, D, E... ecc. : Prezzo articolo con 1, 2, 3 ... ecc. pezzi omaggio, prezzo che in ogni caso non può essere inferiore al 50 % del prezzo iniziale. Se è come ho scritto io, con una semplice formula non è possibile in quanto le celle da generare sono più di una e oltretutto di numero non determinato ( potresti avere un articolo con 30 pezzi... o più... ). Con VBA è facile. ![]() |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
si infatti con excel ho rinunciato anche perchè per quello che mi ricordo (poco) di progammazione fatta a scuola credo ci voglia un ciclo che esca quando la variabile di controllo soddisfi una determinata condizione... solo che metterlo in linguaggio mi risulta praticamene impossibile... visto che in vba non ho mai fatto nulla... ho fatto un pò di java ma nn ciò mai capito una cippa.....
comunque ti ringrazio per la disponibilità ma un mio caro amico che studia ingegneria si è offerto di darmi una mano.... grazie ancora
__________________
!!!...Grazie Mille...!!!
![]() ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Excel è il numero 1 nella soluzione di problemi come questo. E poi, era così semplice... : Codice:
Private Sub CommandButton1_Click() 'Colonna B : prezzo totale articolo. 'Colonna C : N° pezzi articolo. 'Colonne D, E, F,... ecc. : Prezzo articolo con 1, 2, 3 ... ecc. pezzi omaggio, 'prezzo che in ogni caso non può essere inferiore al 50 % del prezzo iniziale. Dim prezzoTot As Double prezzoTot = 0 Dim prezzoUnit As Double prezzoUnit = 0 Dim i As Long i = 0 Dim j As Long j = 0 For i = 3 To 65536 If Cells(i, 1).Value = "" Then Exit For End If prezzoTot = Cells(i, 2).Value prezzoUnit = prezzoTot / Cells(i, 3).Value For j = 4 To 256 If ((j - 3) * prezzoUnit) > (prezzoTot / 2) Then Exit For End If Cells(i, j).Value = prezzoTot - ((j - 3) * prezzoUnit) Next j Next i End Sub ![]() ![]() |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
io personalemnte si.. poi nn so se questo mio amico deciderà di proseguire con quel poco che gia ho buttato giu o prendere tutta un'altra strada... cmq ho dato una letta a ciò che mi hai indicato (mille grazie) lo provo..magari riesco a buttarlo giu in maniera corretta... speriamo
__________________
!!!...Grazie Mille...!!!
![]() ![]() |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
![]() Ovvio che poi anche il Foglio deve essere organizzato in un certo modo : ![]() Al pulsante "CALCOLA" associ il mio codice e il gioco è fatto. Occhio che se lo fai fare a uno studente, con le scuole che ci ritroviamo, magari te lo fa in C ( o in Pascal ) ! ![]() ![]() Perchè metterci un pomeriggio intero quando con Excel lo fai in 2 minuti ? E inoltre un foglio Excel è già pronto per la stampa/esportazione... ![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
A me sembra che si possa risolvere con Excel "normale", senza scomodare subroutine VBA. Sbaglio?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Se hai una soluzione alternativa, postare ! ![]() |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Dai, ci provo.
Ho anche insegnato all'ECDL... ma Excel non lo tocco davvero da 5 anni oramai, se non per la Business Intelligence. Mmmmh...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Dai che si fa
![]() Le celle gialle sono quelle di input Le celle arancio sono interne, calcolate (unitario e Minprezzo) Le celle rosa sono gli output (mannaggia a qualcosa, sono arancio pure loro. Sono le colonne Sconto da 0 a 8 pezzi) La formula delle due colonne arancio e' banale, si tratta solo di trovare il prezzo unitario (B/C) e il prezzo minimo (B/2) La formula della sezione sconto e' comunque semplice: Riporto qui quella scritta dentro la cella F3 Quote:
- Il prezzo unitario moltiplicato per le le unita' effettive (che sono le originali meno le scontate) - Il prezzo minimo Grazie ai riferimenti fissi $ la formula puo' essere scopiazzata su tutto il foglio, aggiungendo quindi righe e colonne, se necessario.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 09-04-2008 alle 10:24. |
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
ragazzi troppa grazia... stasera mi ci metto e vedo che tiro fuori... adesso mi sono intestardito lo voglio fare da solo.... anche se da fare da solo c'è rimasto ben poco... me lo aveta fatto tutto voi!!!! grazie mille!!!! vi tengo aggiornati!!!!
__________________
!!!...Grazie Mille...!!!
![]() ![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
ragazzi sto provando entrambi i metodi... in riferimento a quello di MarcoGG ho fatto tutto uguale all'esempio che mi hai mostrato ma nn va...
perdonate la mia incompetenza...
__________________
!!!...Grazie Mille...!!!
![]() ![]() Ultima modifica di kurikkino : 10-04-2008 alle 00:21. |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
![]() E questo ne è il risultato ( Click per ingrandire ) : ![]() Comunque, cosa intendi per "non va" ? Che errore ti ha dato ? Hai rispettato il layout del mio Foglio ? |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Ma la mia non va bene?
Se andasse preferirei non avere subroutine VBA, non si conviene?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Nel mio caso è l'esatto opposto. Chiaro che se l'utente non conosce VBA e non ha nessuna voglia di impararlo, userà Excel solo quel tanto ( poco ) che gli consentono formule e procedure prefabbricate... Io spero tanto che nel prossimo Office ( post-2007 ) decidano di pensionare VBA 6.3 e magari scelgano una bella integrazione con Framework .NET... ![]() |
|
![]() |
![]() |
![]() |
#17 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
ora vanno entrambi solo che nn avevo spiegato bene la mia esigenza nel primo post....
dunque: un articolo ha un prezzo_minimo di x il suo prezzo_di_listino è 2x (che poi per l'elaborazione non serve a nulla ma mi occorre che venga visualizzato). il numero di pezzi è n, il numero di omaggi massimo è n/2, il numero di pezzi venduti è pari al totale dei pezzi (n) meno gli omaggi. e fin qui.... il ricavo è la differenza tra il ((prezzo_di_vendita - prezzo_minimo)/2)*il numero dei pezzi venduti per ogni pezzo omaggiato io sostengo un costo pari alla metà del prezzo_minimo (questa variabile io l'ho chiamata rimessa). Quindi Rimessa=(prezzo_minimo/2)*num.omaggi in pratica credo si tratti di fare un ciclo con un altro ciclo dentro (ciclo nidificato???) il ciclo dentro implementa di un centesimo ad ogni giro la variabile vendita che assume come primo valore il prezzo_minimo e la fa uscire quando la variabile ricavo è maggiore di 1 centesimo rispetto della variabile rimessa. Quello più esterno si occupa del numero di omaggi quindi parte con 0 ed esce quando la variabile di controllo è pari al numero max di omaggi.... dunque i dati in input sarebbero prezzo_minimo, n°pezzi totale e n°omaggi dopo di che tutto potrebbe essere calcolato in automatico..... fatemi sapere... grazie grazie grazie e ancora grazie per la vostra attenzione.....
__________________
!!!...Grazie Mille...!!!
![]() ![]() Ultima modifica di kurikkino : 10-04-2008 alle 11:10. |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Diciamo pure che questa seconda richiesta non ha nulla a che vedere con la prima...
![]() Se puoi posta un Layout ( ossia il modello del Foglio così come lo vorresti tu ) in cui evidenzi i dati iniziali per ogni articolo, e le celle destinate a contenere i risultati dell'elaborazione, così evitiamo ulteriori "equivoci"... E magari cerca di essere un po' più chiaro sulle specifiche ( sarà che oggi sono un po' rinco, ma personalmente non ci ho capito una mazza ![]() |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Non vorrei essere antipatico, ma secondo me sarebbe meglio che imparassi a pescare...
Ti abbiamo fatto vedere 2 modi diversi, uno con un linguaggio di programmazione, l'altro usando direttamente le opportunita' offerte da un foglio di calcolo. Secondo me dovresti iniziare a pacioccare un po' con una delle 2 scelte, e quando incontri delle difficolta' possiamo aiutarti. Altrimenti si chiama consulenza fino al prodotto finito, e un forum gratuito non penso sia il posto giusto, soprattutto per una cosa che sembra davvero molto commerciale.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#20 |
Member
Iscritto dal: Sep 2007
Messaggi: 71
|
si infatti... lo sto buttando giu in excel mi dici gentilmente come si posta un'immagine come hai fatto tu..
__________________
!!!...Grazie Mille...!!!
![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:54.