Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!



Zurück   Paules-PC-Forum.de > Software > Office-Anwendungen

Office-Anwendungen Das Forum für alle Office-Anwendungen wie z.B. Open-Office,
Microsoft-Office (Word, Excel, Powerpoint, Access usw.) und Co.

Verlosung!


Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Noch eine...
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 10418, Antworten: 1611
Gehe zum ersten neuen Beitrag SetFont
Aufrufe: 95, Antworten: 5
Gehe zum ersten neuen Beitrag Notebook-Kauf
Aufrufe: 12, Antworten: 1
Gehe zum ersten neuen Beitrag Deckel vom Laptop defekt
Aufrufe: 107, Antworten: 5
desktop und taskleiste weg
Aufrufe: 2733, Antworten: 4
Empfehlung für...
Aufrufe: 187, Antworten: 11
PPF Blödstückchen Teil 3
Aufrufe: 17921, Antworten: 730
CIA-Website nach Angriff vom...
Aufrufe: 15, Antworten: 0
XP~XP Problem
Aufrufe: 23, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23.02.2010, 18:26   #1 (Direktlink)
Unregistriert
Gast
 
Beiträge: n/a
Pfeil Berechnung meiner Provision mit Excel

Hallo arbeite im Verkauf und will mit Excel meine Provision errrechnen

Bspiel

Montag hatte ich 2 Verkäufe
Dienstag hatte ich 2 Verkäufe
Mittwoch hatte ich 6 Verkäufe
Donnerstag hatte ich2 Verkäufe
Freitag hatte ich 5 Verkäufe

Ab 4 erhalte ich Provision X, alles was weniger wie 4 ist 0 Proovision
Ab 5 bekomme ich Provision y
Undwenn ich Wochenziel von 16 errreiche bekomme ich jeden bezahlt zur Proviosion x, ausser an den Tagen, wo ich 5 hatte bekomme ich die ersten 4 mit x und ab 5 mit y €.
Wie gebe ich das in die Formel. Was ist ein SVerweis? Geht das mit Summewenn oder mit Sverweis? Bitte um Hilfe!!!
  Mit Zitat antworten
Werbung
Alt 23.02.2010, 19:01   #2 (Direktlink)
Dauergast
 
Registriert seit: 28.11.2008
Beiträge: 1.197
Standard

schau dir die Formeln mit
"WENN" ;"UND"; "ODER" an
die kann man auch kombinieren
Jochen2011 ist offline   Mit Zitat antworten
Alt 26.02.2010, 17:23   #3 (Direktlink)
MoRoGeP-Träger 2010
 
Benutzerbild von ravenheart
 
Registriert seit: 16.09.2004
Ort: Norddeutschland
Alter: 49
Beiträge: 12.124
Standard

Den Satz:

Zitat:
Undwenn ich Wochenziel von 16 errreiche bekomme ich jeden bezahlt zur Proviosion x, ausser an den Tagen, wo ich 5 hatte bekomme ich die ersten 4 mit x und ab 5 mit y €.
Habe ich nun 3 x gelesen, aber er ist leider unverständlich!

Versuch's noch mal, und gib Dir bitte mehr Mühe! (Du willst ja auch eine präzise, vollständige und richtige Antwort - dann must Du auch Deine Frage genau so stellen!!)

Rabe
__________________
Computer setzen logisches Denken fort!
Unlogisches auch....
ravenheart ist offline   Mit Zitat antworten
Alt 07.03.2010, 09:15   #4 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 102
Standard

Hallo Community

Vielleicht das es so gemeint war

Wochenziel >15
prov 1 eur,ausser an den Tagen >4,die ersten 4 mit 1 eur ab 5 mit 2 eur

<4=0 prov 0 eur

=4 prov 1 eur

>4 prov 2 eur

Eine nicht uninteressante Fragestellung die es in sich hat

Liebe grüße euer Tanto

Geändert von Tanto (07.03.2010 um 09:21 Uhr)
Tanto ist offline   Mit Zitat antworten
Alt 09.03.2010, 06:51   #5 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 102
Standard

Hallo Community

Eine Makrolösung ist in Arbeit

Liebe Grüße Tanto
Tanto ist offline   Mit Zitat antworten
Werbung

Alt 09.03.2010, 10:52   #6 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 102
Standard

Hallo Community

Erster Versuch

Liebe Grüße Tanto

Code:
'Spalte A Datum
'Spalte B Anzahl
'Spalte E ab 2 Zeile abwärts die Monatsergebnisse
'Kalenderwochenfunction ist durch aktivierte Addinn Function ersetzbar
Code:
Sub ProvisionA()
    Range("E2:E13").Clear
    Dim IndexA As Integer, Zindex As Integer, WochenT As Integer, Wtage As Integer
    Dim Lzeile As Long, ZeilenAnz As Long
    Lzeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    ReDim Arrayab(Lzeile, 2) As Variant
    Dim DatSort(52, 7) As Integer
    Arrayab() = Range(Cells(1, 1), Cells(Lzeile, 2))
    For WochenT = 1 To 52
        For ZeilenAnz = 2 To Lzeile
            If EKalenderWoche(CStr(Arrayab(ZeilenAnz, 1))) = WochenT And Arrayab(ZeilenAnz, 1) <> "" Then
                Zindex = ZeilenAnz
                IndexA = IndexA + 1
                DatSort(WochenT, IndexA) = Arrayab(ZeilenAnz, 2)
                DatSort(WochenT, 0) = DatSort(WochenT, 0) + Arrayab(ZeilenAnz, 2)
            End If
            If ZeilenAnz = Lzeile And Zindex > 0 Then
                If DatSort(WochenT, 0) > 15 Then
                    For Wtage = 1 To 7
                        If DatSort(WochenT, Wtage) < 5 Then
                            Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) = Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) + DatSort(WochenT, Wtage)
                        End If
                        If DatSort(WochenT, Wtage) > 4 Then
                            Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) = Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) + 4
                            Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) = Cells(Month(CStr(Arrayab(Zindex, 1))) + 1, 5) + (DatSort(WochenT, Wtage) - 4) * 2
                        End If
                    Next Wtage
                End If
            End If
        Next ZeilenAnz
        IndexA = 0
    Next WochenT
End Sub
Code:
Function EKalenderWoche(Edatum As Date) As Integer
    EKalenderWoche = (Edatum - DateSerial(Year(Edatum + (8 - Weekday(d)) Mod 7 - 3), 1, 1) - 3 + (Weekday(DateSerial(Year(Edatum + (8 - Weekday(d)) Mod 7 - 3), 1, 1)) + 1) Mod 7) \ 7 + 1
End Function
Tanto ist offline   Mit Zitat antworten
Alt 10.03.2010, 07:18   #7 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 23.11.2008
Beiträge: 102
Standard

Hallo Community

Ein wenig optimiert,jetzt dürfte es nur noch Feinarbeit der Berechnung sein

Liebe Grüße euer Tanto

Die Provisionsangaben sind nun besser zu sehen

Vorrausgesetz das jedes Datum nur einmal vorkommt
Hier kommen zwei in ein verschachtelten For Next Schleifen zum Einsatz
Über ein Array werden die Kalenderwochen sortiert und erfasst
Die nun erfassten Wochendaten werden ausgehend von 7 Tagen Summiert
Die Function Month dient nach der Summierung der Einsortierung zu den Monaten
Ausgabe ist nun die Monatliche Provision von allen erfasten Jahresdaten
Bei den If Then abfragen sieht man den Berechnungsweg,wie >15,>4,<5
Wochentagbeginn wie Ende ist bei der Kalenderwochenfunction anzugeben
Neue Kalenderwochenfunction oder auch Addins sind duch Functionsaustausch leicht anpassbar

Code:
Sub ProvisionA()
    Dim ProvA As Long, ProvB As Long
    ProvA = 4
    ProvB = 5
    Range("E2:E13").Clear
    Dim IndexA As Integer, Zindex As Integer, WochenT As Integer, Wtage As Integer
    Dim Lzeile As Long, ZeilenAnz As Long
    Lzeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    ReDim Arrayab(Lzeile, 2) As Variant
    Dim Arraymon(1 To 12, 1 To 1) As Variant
    Dim DatSort(52, 7) As Integer
    Arrayab() = Range(Cells(1, 1), Cells(Lzeile, 2))
    For WochenT = 1 To 52
        For ZeilenAnz = 2 To Lzeile
            If EKalenderWoche(CStr(Arrayab(ZeilenAnz, 1))) = WochenT And Arrayab(ZeilenAnz, 1) <> "" Then
                Zindex = ZeilenAnz
                IndexA = IndexA + 1
                DatSort(WochenT, IndexA) = Arrayab(ZeilenAnz, 2)
                DatSort(WochenT, 0) = DatSort(WochenT, 0) + Arrayab(ZeilenAnz, 2)
            End If
            If ZeilenAnz = Lzeile And Zindex > 0 Then
                If DatSort(WochenT, 0) > 15 Then
                    For Wtage = 1 To 7
                        If DatSort(WochenT, Wtage) < 5 Then
                            Arraymon(Month(CStr(Arrayab(Zindex, 1))), 1) = Arraymon(Month(CStr(Arrayab(Zindex, 1))), 1) + ProvA * DatSort(WochenT, Wtage)
                        End If
                        If DatSort(WochenT, Wtage) > 4 Then
                            Arraymon(Month(CStr(Arrayab(Zindex, 1))), 1) = Arraymon(Month(CStr(Arrayab(Zindex, 1))), 1) + ProvB * DatSort(WochenT, Wtage) - 4
                        End If
                    Next Wtage
                End If
            End If
        Next ZeilenAnz
        Zindex = 0
        IndexA = 0
    Next WochenT
    Range("E2:E13").Resize(UBound(Arraymon())) = Arraymon()
End Sub
Code:
Function EKalenderWoche(Edatum As Date) As Integer
    EKalenderWoche = (Edatum - DateSerial(Year(Edatum + (8 - Weekday(d)) Mod 7 - 3), 1, 1) - 3 + (Weekday(DateSerial(Year(Edatum + (8 - Weekday(d)) Mod 7 - 3), 1, 1)) + 1) Mod 7) \ 7 + 1
End Function

Geändert von Tanto (13.03.2010 um 07:20 Uhr)
Tanto ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Software > Office-Anwendungen

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Workstation für 3D-Berechnung efendi Hardware - Kaufempfehlungen 4 28.01.2010 11:30
Excel zu dumm oder ich? (Stunden(lohn)berechnung) Youkai Office-Anwendungen 9 06.10.2007 14:48
speicherplatz berechnung Tim25 Allgemein 1 14.02.2007 19:27
Excel - Bedingte Berechnung / =wenn(und... Urs der Bär Office-Anwendungen 2 09.01.2007 11:24
Excel / Formel zur Berechnung der Geschwindigkeit Goebi Office-Anwendungen 1 04.08.2005 23:54



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2