Condividi:        

Calcolo tariffa autotrasportatore

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Calcolo tariffa autotrasportatore

Postdi Natyy » 26/06/15 22:54

Buonasera a tutti,
Vorrei creare un foglio excel che mi permetta di calcolare velocemente il costo di una spedizione con un trasportatore X.
Pensavo poi di creare un foglio per trasportatore in modo che inserendo i kg mi risulti nell'immediato il costo.
Il problema che io riscontro é però che i trasportatori mi calcolano la tariffa considerando un range, ad esempio
Da 100 a 400 kg spendo 10 euro ogni 100 kg
Da 401 a 600 kg spendo 9 euro ogni 100 kg
E cosi via...
quindi nell'ipotesi che io dovessi spedire 500 kg pago 45 euro

Qualcuno sa darmi qualche dritta?
Grazie 1000
Natyy
Newbie
 
Post: 4
Iscritto il: 26/06/15 22:23

Sponsor
 

Re: Calcolo tariffa autotrasportatore

Postdi Flash30005 » 27/06/15 00:51

Ciao Natyy e benvenuto nel Forum

credo che dovrai crearti una tabella per definire il range
(vedi immagine)

Immagine

Poi con una macro o funzione potrai risalire agevolmente al valore che ti occorre


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo tariffa autotrasportatore

Postdi Anthony47 » 01/07/15 00:56

Volendo essere piu' generosi, ti crei nel foglio la tabella con i costi; ad esempio
Immagine
image hosting
Poi premi Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia questo codice e incollalo nel frame di dx:
Codice: Seleziona tutto
Function TransCost(ByRef myPeso As Single, ByRef myMap As Range) As Variant
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104927
Dim myC As Single, myDone As Boolean, I As Long
'
For I = 1 To myMap.Rows.Count
    If myPeso > myMap.Cells(I, 2) Then
        myC = myC + (myMap.Cells(I, 2) - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
    Else
        myC = myC + (myPeso - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
        myDone = True: Exit For
    End If
Next I
If myDone Then TransCost = myC Else TransCost = CVErr(2015)
End Function

Poi torni su Excel e usi la formula
Codice: Seleziona tutto
=TransCost(IlPeso;LaTabella)

"LaTabella" punta all' intervallo in cui e' impostata la tabella dei costi, ad esclusione dell'intestazione; puo' comprendere righe vuote in coda (ad esempio se pensi di dover articolare diversamente la tabella). Per scelta, la seconda riga ha come peso iniziale lo stesso valore del peso finale della prima riga, e ha il significato di "oltre questo peso".

Esempio, se il peso e' in A2 e la tabella come mostrato prima, la formula potrebbe essere
Codice: Seleziona tutto
=TransCost(A2;M2:O8)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo tariffa autotrasportatore

Postdi Natyy » 02/07/15 21:31

Ciao Anthony! Che formula magica è mai questa?? Grazie!domani proverò a seguire le tue istruzioni!
Le mie tabelle però calcolano le tariffe di 100 kg in 100 kg...se x esempio:
Da kg A kg. Euro/100kg
0 200 10
200 500 9
500. 700 8,5
700 1000 8

E io dovessi spedire 230 kg dovrei calcolare 9euro x 3 in quanto essendo il peso >200kg lo considero cm fossero 300, é possibile far riconoscere questo al sistema?
In piu ogni provincia ha un suo tariffario, ma x quello vedrò di farmi un foglio a provincia variando i prezzi.

Grazie mille
Buona serata
Natyy
Newbie
 
Post: 4
Iscritto il: 26/06/15 22:23

Re: Calcolo tariffa autotrasportatore

Postdi Anthony47 » 02/07/15 23:30

Allora dobbiamo modificare leggermente il codice, che diventa
Codice: Seleziona tutto
Function TransCostB(ByRef myPeso As Single, ByRef myMap As Range, Optional ByVal myBlock As Long = 1) As Variant
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104927
Dim myC As Single, myDone As Boolean, I As Long
'
For I = 1 To myMap.Rows.Count
    If myPeso > myMap.Cells(I, 2) Then
        myC = myC + (myMap.Cells(I, 2) - myMap.Cells(I, 1)) * myMap.Cells(I, 3)
    Else
        myC = myC + Application.WorksheetFunction.Ceiling(myPeso - myMap.Cells(I, 1), myBlock) * myMap.Cells(I, 3)
        myDone = True: Exit For
    End If
Next I
If myDone Then TransCostB = myC Else TransCost = CVErr(2015)
End Function
Come formula userai =TransCostB(IlPeso;LaTabella;aBlocchiDi)
Ad esempio
Codice: Seleziona tutto
=TransCostB(A2;M2:O8;100)

Il parametro aBlocchiDi puo' essere omesso, nel qual caso sara' considerato pari a 1.

Per la gestione della Provincia, va bene mettere in un foglio specifico la sua tabella, cosi' la formula puo' diventare, ad esempio
Codice: Seleziona tutto
=TransCostB(A2;Milano!A2:C100;100)

(ovviamente deve esserci un foglio nominato Milano, con la tabella prezzi in A2:C100)

Se invece gli scaglioni fossero sempre gli stessi si potrebbe fare un tabellone dove ogni Provincia ha una sua colonna di costo unitario.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo tariffa autotrasportatore

Postdi Natyy » 05/07/15 20:09

Ciao
Alt f11 nn funziona sul mio pc....sará forse xche ho la versione 2010 di excel?
Natyy
Newbie
 
Post: 4
Iscritto il: 26/06/15 22:23

Re: Calcolo tariffa autotrasportatore

Postdi Flash30005 » 06/07/15 16:47

ALT+F11 (l'F11 primi tasti numerati in alto della tastiera)
funziona su tutte le versioni di Excel

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Calcolo tariffa autotrasportatore

Postdi Anthony47 » 09/07/15 01:42

Devi premere il tasto Alt, poi il tasto F11; quindi rilasci F11, poi rilasci Alt

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calcolo tariffa autotrasportatore

Postdi Natyy » 02/09/15 19:48

Anthony, ho provato ad utilizzare il codiche che mi hai dato ma non calcola esattamente la tariffa, la sbaglia di grosso, forse qualcosa é sbagliato
Natyy
Newbie
 
Post: 4
Iscritto il: 26/06/15 22:23

Re: Calcolo tariffa autotrasportatore

Postdi Anthony47 » 02/09/15 20:37

ho provato ad utilizzare il codice che mi hai dato ma non calcola esattamente la tariffa, la sbaglia di grosso, forse qualcosa é sbagliato
Per rispondere in modo attendibile avrei bisogno di vedere come hai realizzato il suggerimento che avevo dato e come l'hai sfruttato, cioe' un file dimostrativo con anche un paio di calcoli fatti, con l'annotazione di quale risultato hai ottenuto e quale invece ti attendevi.
Per come allegare un file guarda qui: viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Calcolo tariffa autotrasportatore":


Chi c’è in linea

Visitano il forum: Nessuno e 131 ospiti