Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[Excel 2010] Formule omzetrapportage vereenvoudigen

Pagina: 1
Acties:

Vraag


  • Gitarist
  • Registratie: September 2001
  • Niet online
Omzet
Dit is een sterk vereenvoudigde (en gefingeerde) lay-out van een dataexport uit ons omzetsysteem.

Ik wil handig inzichtelijk maken wat de januari-omzet was van Omzetgroep "Italiaans" door Verkoopgroep "Beverwijk".
Ik heb niet de mogelijkheid om deze kenmerken toe te voegen aan de omzetboeking, dus is het aan mij (met behulp van Tweakers :*) ) om hier iets slims voor te bedenken.

Nu los ik dat op met een nogal lange formule, waarin ik kijk naar alle argumenten.
Ik gebruik SOMMEN.ALS, waarin ik kijk naar de omzet van januari van Jan op het product Pizza. Vervolgens + dezelfde formule maar dan voor Pasta. En dan dat ook nóg eens voor Henk. Dat is dus een enorme formule die niet handig werkt.

Ik ben dus op zoek naar iets waarin ik de producten Pizza en Pasta al kan definiëren als "Italiaans" en Jan en Henk als "Beverwijk".
Mijn doel is om het uiteindelijk mogelijk maken om zonder dat ik formules aan hoef te passen een nieuwe verkoper kan toevoegen in Beverwijk of bijvoorbeeld een nieuw product aan Italiaans.

Ik heb uiteraard al gezocht op de functies die er zijn, maar heb nog niks gevonden dat goed werkt. Zo heb ik gekeken naar naamlijsten, maar als ik in SOMMEN.ALS dan naar dit naambereik verwijs, lijkt het alsof de omzet dan alleen wordt getoond als het aan al de in de lijst voorkomende voorwaarden voldoet en dat klopt natuurlijk niet. Het kan natuurlijk ook zijn dat ik iets in deze functie over het hoofd zie...

Wat is een handige oplossing voor mijn "probleem"? Of wie kan me een zetje in de juiste richting geven, op welke term moet ik zoeken?

Ik hoop dat ik m'n probleemstelling een beetje duidelijk heb kunnen maken.
Trouwens, als iemand een goede suggestie heeft voor een betere topictitel hoor ik dat ook graag.

Beste antwoord (via Gitarist op 09-11-2017 09:40)


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het mooiste zou imho zijn dat je regio en productkolommen in Excel toevoegt aan de export en die met ver.zoeken() aan de hand van het benoemd bereik vult. Een draaitabel doet de rest.

Wil je het met formules doen dan kan dat met een matrixformule bv:
code:
1
=SOM((NIET(ISNB(VERGELIJKEN(B2:B100;BEVERWIJK;0)))*(NIET(ISNB(VERGELIJKEN(C2:C100;ITALIAANS;0)))*(D2:D100))))


Hierbij is uiteraard BEVERWIJK het benoemd bereik met verkopers uit Beverwijk, ITALIAANS het benoemd bereik met Italiaanse producten. De formule bouwt drie matrixen op: komt verkoper voor in BEVERWIJK, komt product voor in ITALIAANS en het bedrag. Tot slot worden die drie matrixen met elkaar vermenigvuldigd en daar wordt de som van genomen. Sommen.als op de Excel 2007 manier dus.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Alle reacties


Acties:
  • Beste antwoord

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het mooiste zou imho zijn dat je regio en productkolommen in Excel toevoegt aan de export en die met ver.zoeken() aan de hand van het benoemd bereik vult. Een draaitabel doet de rest.

Wil je het met formules doen dan kan dat met een matrixformule bv:
code:
1
=SOM((NIET(ISNB(VERGELIJKEN(B2:B100;BEVERWIJK;0)))*(NIET(ISNB(VERGELIJKEN(C2:C100;ITALIAANS;0)))*(D2:D100))))


Hierbij is uiteraard BEVERWIJK het benoemd bereik met verkopers uit Beverwijk, ITALIAANS het benoemd bereik met Italiaanse producten. De formule bouwt drie matrixen op: komt verkoper voor in BEVERWIJK, komt product voor in ITALIAANS en het bedrag. Tot slot worden die drie matrixen met elkaar vermenigvuldigd en daar wordt de som van genomen. Sommen.als op de Excel 2007 manier dus.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Atanamir
  • Registratie: December 2014
  • Laatst online: 09-11 07:44
Draaitabel klinkt inderdaad als de beste oplossing om je data mooi samengevat weer te geven.

Voor formules zou je ook nog eens kunnen kijken naar SUMPRODUCT (engelse versie), werkt supermakkelijk met dit soort data.
https://www.ablebits.com/...unction-formula-examples/

  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
Ook ik zou voor een draaitabel gaan.

  • Icephase
  • Registratie: Mei 2008
  • Laatst online: 12:06

Icephase

Alle generalisaties zijn FOUT!

Draaitabel vereist dan wel dat alle data in 1 brontabel staat, dat is hier niet het geval. Dus wellicht is een aparte tabel met vert.zoeken en/of sommen.als wel het beste.

Sowieso moet je de ‘vertaling’ toe gaan voegen; wie zitten in welke regio en welke producten zitten in welke groep?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Of powerpivot. :) Dat kan werken met relationele rij of kolomlabels. Maar dan is denk ik het opnemen van twee extra kolommen eenvoudiger. Desnoods maak je een dynamische tabel die je brondata uitleest en verrijkt.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Roodey
  • Registratie: Februari 2005
  • Laatst online: 17-11 20:04
Iedereen geeft hetzelfde antwoord. Daar sluit ik me ook bij aan.

De datarijen uitbreiden met 2 kolommen om de omzetgroep en productgroep op te halen.
Ik zou daarvoor een 'koppeltabel' maken op een apart tabblad. Deze 'koppeltabel' opmaken als Excel tabel. Zodoende groeit het bereik automatisch mee in de datarijen.

Het eindresultaat kan makkelijker gepresenteerd worden met een draaitabel. Zelfs meerdere draaitabellen op dezelfde datarijen.

  • Gitarist
  • Registratie: September 2001
  • Niet online
Dank allen voor de suggesties!

Draaitabel heb ik geprobeerd, maar biedt niet de flexibiliteit die ik zoek, omdat je daarin (naar mijn mening) niet makkelijk genoeg variabelen kan groeperen. Eigenlijk de reden die @Icephase noemt.

@Roodey Wat jij zegt zou natuurlijk het mooiste zijn. Alleen gaat dat niet in mijn situatie. Wij hebben accountmanagers van verschillende afdelingen die hetzelfde kunnen verkopen. Bijvoorbeeld "Appels". Op het ene tabblad wil men de omzet inzichtelijk hebben van de Appelverkoop, terwijl op het andere tabblad weer de omzet inzichtelijk moet worden gemaakt van het team van de betreffende verkoper. En dan mogen de appelverkopen van de andere verkopers daar niet tussenstaan.

De suggestie van @Lustucru heeft me tot nu toe het verst gebracht.

  • Pindakaas
  • Registratie: December 2010
  • Laatst online: 11:41
Dan voeg je toch nog een derde kolom 'verkoopgroep' toe?

edit: Zoals hieronder aangegeven is het beste om je gegevens eerst goed te organiseren voordat je echt goed aan de slag gaat met draaitabellen.

Voorbeeldje wat ik in elkaar gedraait heb waarbij je alleen 2 kolommen toevoegt:
Afbeeldingslocatie: https://tweakers.net/ext/f/8w3Rcb2QjDyTmuEiPsp37RSm/full.jpg

[ Voor 73% gewijzigd door Pindakaas op 09-11-2017 10:15 ]

don't mind me


  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
Gitarist schreef op donderdag 9 november 2017 @ 09:50:
Dank allen voor de suggesties!

Draaitabel heb ik geprobeerd, maar biedt niet de flexibiliteit die ik zoek, omdat je daarin (naar mijn mening) niet makkelijk genoeg variabelen kan groeperen. Eigenlijk de reden die @Icephase noemt.
Draaitabellen zijn mega-flexibel, maar het vraagt wel een bepaalde denkwijze over hoe je met je brondata om wilt gaan.

Als je een draaitabel wilt gebruiken, moet je zorgen dat voor èlke rij in je brondata de velden die je in je draaitabel wilt gebruiken, worden ingevuld. Je moet dus bij elke rij opgeven in welke omzetgroep hij valt, en in welke verkoopgroep. Daarvoor zul je, in principe, extra kolommen moeten maken (die kan je vervolgens wel vullen dmv Excel-functies).
Jouw 'probleem' is dat je brondata al in een soort van overzichts-tabel staat, in plaats van in een ècht brondata-bestand. Zo staan je maanden in kolommen, terwijl je die eigenlijk het liefst in rijen wilt hebben...

Het kost soms wat tijd om je brondata op orde te brengen, maar als je eenmaal zo ver bent, dan bieden draaitabellen echt alle flexibiliteit en overzicht die je je maar kunt wensen.
Het fijne is dat je van draaitabellen ook meteen draaigrafieken kunt maken, zodat je omzetcijfers direct ook kunt presenteren.

Je brondata zou er bijvoorbeeld zo uit moeten zien:
brondata draaitabel

Een draaitabel die aan jouw wensen voldoet, komt er dan zo uit te zien:
draaitabel obv brondata

Voor snel filteren kun je slicers gebruiken in je draaitabel
draaitabel met slicers


je zou zelfs de slicers kunnen gebruiken om je brondata te groeperen naar velden die je eigenlijk niet hebt aangemaakt, in dit geval dus verkoopgroep (Jan en Henk) en productgroep (Pasta en Pizza). Dan hoef je de extra velden ook niet aan te maken...

slicers2

[ Voor 14% gewijzigd door breew op 09-11-2017 10:19 ]


  • Gitarist
  • Registratie: September 2001
  • Niet online
breew schreef op donderdag 9 november 2017 @ 10:08:
[...]

Draaitabellen zijn mega-flexibel, maar het vraagt wel een bepaalde denkwijze over hoe je met je brondata om wilt gaan.

Als je een draaitabel wilt gebruiken, moet je zorgen dat voor èlke rij in je brondata de velden die je in je draaitabel wilt gebruiken, worden ingevuld. [...]
Helaas gaat het hier al mis, ik heb maar zeer weinig zeggenschap over de brondata.
Mijn voorbeeld is een zeer sterk vereenvoudigde en gefingeerde weergave van hoe m'n brondata er uitzien, maar helaas zijn er ook vele velden leeg.

De brondata verkrijgen wij uit een voor onze branche specialistisch softwarepakket. Datzelfde pakket wordt ook door andere bedrijven uit onze groep gebruikt dus kan de opbouw van de brondata niet worden aangepast (anders wordt het voor iedereen aangepast). Hoe de data-export bij mij eruit ziet, daar kan wel het e.e.a. getweaked worden, al kunnen daar dan bijvoorbeeld weer geen subgroepen in verwerkt worden.

Dus, ik weet hoe ik m'n brondata zou willen hebben in een ideale wereld, maar helaas is de wereld in werkelijkheid niet zo ideaal. ;) Maar voor nu ben ik iig al weer een stuk geholpen dankzij de tips uit dit topic d:)b

  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
Gitarist schreef op donderdag 9 november 2017 @ 10:27:
[...]

Helaas gaat het hier al mis, ik heb maar zeer weinig zeggenschap over de brondata.
Mijn voorbeeld is een zeer sterk vereenvoudigde en gefingeerde weergave van hoe m'n brondata er uitzien, maar helaas zijn er ook vele velden leeg.

De brondata verkrijgen wij uit een voor onze branche specialistisch softwarepakket. Datzelfde pakket wordt ook door andere bedrijven uit onze groep gebruikt dus kan de opbouw van de brondata niet worden aangepast (anders wordt het voor iedereen aangepast). Hoe de data-export bij mij eruit ziet, daar kan wel het e.e.a. getweaked worden, al kunnen daar dan bijvoorbeeld weer geen subgroepen in verwerkt worden.

Dus, ik weet hoe ik m'n brondata zou willen hebben in een ideale wereld, maar helaas is de wereld in werkelijkheid niet zo ideaal. ;) Maar voor nu ben ik iig al weer een stuk geholpen dankzij de tips uit dit topic d:)b
Dan bouw je de brondata toch even om met een macrootje.. ik schrijf er wel even één voor je.. is niet heel ingewikkeld...

  • Pindakaas
  • Registratie: December 2010
  • Laatst online: 11:41
@Gitarist Dat de brondata altijd hetzelfde blijft kan ik me voorstellen, maar het extract kan je toch gewoon aanpassen? Kortom, maak een tabel uit de brondata waar je wel iets mee kan, eventueel d.m.v. een macro zoals @breew aangeeft. Is nu even een uurtje werk misschien maar scheelt je later bakken met tijd zo te horen.

don't mind me


  • Gitarist
  • Registratie: September 2001
  • Niet online
Macro's zijn voor mij nog een geheel onbekende wereld. Heb me tot nu toe altijd goed zonder weten te redden, maar ik ben heel benieuwd waar @breew mee komt. Ik laat me graag overtuigen ;)

  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
Gitarist schreef op donderdag 9 november 2017 @ 10:35:
Macro's zijn voor mij nog een geheel onbekende wereld. Heb me tot nu toe altijd goed zonder weten te redden, maar ik ben heel benieuwd waar @breew mee komt. Ik laat me graag overtuigen ;)
Deze macro

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Option Explicit

Sub omzettenData()

Dim ws As Worksheet
Dim wsBrondata As Worksheet
Dim wsDataVoorDraaitabel As Worksheet
Dim lonLaatsteRij As Long
Dim lonLaatsteRijDraaitabeldata As Long
Dim lonLaatsteKolom As Long
Dim rngVasteRijen As Range
Dim rngMaandrijen As Range
Dim rngMaandcijfers As Range
Dim rngMaandnaam As Range
Dim intAantalMaanden As Integer
Dim i As Integer

'zorg dat je in de tabel met de brondata staat (of geef deze 'hard' op).
Set wsBrondata = ActiveSheet
'maak een leeg werkblad "DataVoorDraaitabel", als deze al bestaat, verwijder hem dan eerst!
For Each ws In Worksheets
    If ws.Name = "DataVoorDraaitabel" Then
        Application.DisplayAlerts = False
        Sheets("DataVoorDraaitabel").Delete
        Application.DisplayAlerts = True
    End If
Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "DataVoorDraaitabel"

Set wsDataVoorDraaitabel = ActiveWorkbook.Sheets("DataVoorDraaitabel")

'zoek de onderste rij met data in wsBrondata
With wsBrondata
  lonLaatsteRij = .Cells(Rows.Count, "A").End(xlUp).Row
  lonLaatsteKolom = .Cells(1, Columns.Count).End(xlToLeft).Column
  Set rngVasteRijen = .Range(.Cells(2, 1), .Cells(lonLaatsteRij, 3))
End With

'bepaal het aantal maanden waarvoor je cijfermateriaal hebt
intAantalMaanden = lonLaatsteKolom - 4

'zet nu de data van de maanden onder elkaar
For i = 1 To intAantalMaanden
  'bepaal het bereik met de omzetcijfers per maand
  With wsBrondata
    .Activate
    Set rngMaandrijen = .Range(.Cells(2, 3 + i), .Cells(lonLaatsteRij, 3 + i))
    Set rngMaandnaam = .Cells(1, i + 3)
  End With
  'bepaal de onderste nog lege rij in het werkblad met data voor de draaitabel
  With wsDataVoorDraaitabel
    lonLaatsteRijDraaitabeldata = .Cells(Rows.Count, "A").End(xlUp).Row
  End With
  'bepaal in welke maand we zitten
  'kopieer de vaste rijen
  rngVasteRijen.Copy Destination:=wsDataVoorDraaitabel.Cells(lonLaatsteRijDraaitabeldata + 1, 1)
  'kopieer de maandnaam
  rngMaandnaam.Copy Destination:=wsDataVoorDraaitabel.Range(wsDataVoorDraaitabel.Cells(lonLaatsteRijDraaitabeldata + 1, 4), wsDataVoorDraaitabel.Cells(lonLaatsteRijDraaitabeldata + rngVasteRijen.Rows.Count, 4))
  'kopieer de maandcijfers
  rngMaandrijen.Copy Destination:=wsDataVoorDraaitabel.Cells(lonLaatsteRijDraaitabeldata + 1, 5)
Next i

End Sub


zet deze gegevens
voor macro

om naar deze
Afbeeldingslocatie: https://tweakers.net/ext/f/V3wVjQnkZYBhJsorH84Gx4JI/full.png

Deze code gaat natuurlijk nooit werken voor jouw productie-data, en daarnaast moeten er nog kolomkoppen worden meegegeven, maar het geeft wel een beeld wat je met een klein stukje code vrij eenvoudig kunt bereiken.
Met een beetje fantasie kun je daarna macro ook direct de draaitabel aan laten maken, etc...

[ Voor 8% gewijzigd door breew op 09-11-2017 11:14 . Reden: Ik was de maanden vergeten mee te nemen.. is nu gefixt! ]


  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
ik heb e.e.a. even wat gestroomlijnd, ook omdat ik zelf regelmatig dit soort dingen doe:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub WideNaarLong()

Dim Rng As Range, Cel As Range
Dim Dta As Integer, col As Integer, c As Integer, intLaatsteKolom1 As Integer, intLaatsteKolomRij As Integer
Dim ws As Worksheet
 
With ActiveSheet
  intLaatsteKolom1 = .Cells("1", Columns.Count).End(xlToLeft).Column
  Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
End With

ReDim Ray(1 To Rng.Count * intLaatsteKolom1, 1 To intLaatsteKolom1)

For Each Cel In Rng
  intLaatsteKolomRij = Cells(Cel.Row, Columns.Count).End(xlToLeft).Column
  For col = 4 To intLaatsteKolomRij - 1
    c = c + 1
      For Dta = 0 To 4
          Select Case Dta
              Case Is = 3
                Ray(c, Dta + 1) = Cells(1, col)
              Case Is = 4
                Ray(c, Dta + 1) = Cel.Offset(, col - 1)
              Case Else
                Ray(c, Dta + 1) = Cel.Offset(, Dta)
          End Select
      Next Dta
  Next col
Next Cel

For Each ws In Worksheets
  If ws.Name = "DataVoorDraaitabel" Then
    Application.DisplayAlerts = False
    Sheets("DataVoorDraaitabel").Delete
    Application.DisplayAlerts = True
  End If
Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "DataVoorDraaitabel"
Sheets("DataVoorDraaitabel").Range("A2").Resize(c, intLaatsteKolom1).Value = Ray

End Sub

[ Voor 206% gewijzigd door breew op 09-11-2017 14:24 ]


  • Gitarist
  • Registratie: September 2001
  • Niet online
Dit gaat op dit moment echt ver boven m'n pet. Ik vind dat ik redelijk behendig ben in Excel, maar heb macro's tot nu toe altijd links laten liggen. Is echt een compleet blinde vlek voor me. }:O
Misschien heb ik nooit geweten dat ik het nodig had en dat m'n leven een stuk makkelijker zou zijn geworden als ik macro's zou hebben gebruikt.

Ik moet me dus erg gaan inlezen om te kunnen begrijpen wat je allemaal hebt neergezet en het mij vervolgens eigen te maken. In ieder geval bedankt voor je uitvoerige reactie(s) (ook aan de andere posters in dit topic)!
Ik ga er zéker mee aan de slag, maar verwacht niet dat ik dit al morgen helemaal snap en in de vingers heb ;)

  • breew
  • Registratie: April 2014
  • Laatst online: 11:42
Gitarist schreef op donderdag 9 november 2017 @ 14:08:
Dit gaat op dit moment echt ver boven m'n pet. Ik vind dat ik redelijk behendig ben in Excel, maar heb macro's tot nu toe altijd links laten liggen. Is echt een compleet blinde vlek voor me. }:O
Misschien heb ik nooit geweten dat ik het nodig had en dat m'n leven een stuk makkelijker zou zijn geworden als ik macro's zou hebben gebruikt.

Ik moet me dus erg gaan inlezen om te kunnen begrijpen wat je allemaal hebt neergezet en het mij vervolgens eigen te maken. In ieder geval bedankt voor je uitvoerige reactie(s) (ook aan de andere posters in dit topic)!
Ik ga er zéker mee aan de slag, maar verwacht niet dat ik dit al morgen helemaal snap en in de vingers heb ;)
Dat snap ik. Het is een leerproces, wat je alleen leert door het zo nu en dan te doen... Ikzelf ben ook autodidact op dit gebied :)
Ik zou niemand verplichten om vba/macro's te leren, maar ik zie (ook bij mijn collega's) dat het vaak zoveel efficiënter kan allemaal. Mijn stelregel is dat wanneer je 3x achter elkaar dezelfde handeling uit moet voeren, het het waard is om te automatiseren }:O Of je dat nou met macro's, draaitabellen, excel-formules of een combinatie van alledrie doet... dat is aan jou.

Probeer bovenstaande code eens op een kopietje van je data (met alt-F11 in Excel open je de VBA-editor.. dan kun je de code plakken in VBAProject (Jouw Bestandsnaam) -> ThisWorkbook.
Macro uitvoeren door in de code te gaan staan, tussen 'Sub' en 'End Sub', en op F5 te drukken.
De code zou, in principe, ook moeten werken voor jouw productie-data, aangezien de meeste variabelen dynamisch worden gevuld.

Houd er rekening mee dat het uitvoeren van een macro niet ongedaan gemaakt kan worden!!!. Werk dus altijd in een kopie van je originele bestand, totdat je zeker weet dat het exact zo werkt als je wilt...

  • Pindakaas
  • Registratie: December 2010
  • Laatst online: 11:41
Gitarist schreef op donderdag 9 november 2017 @ 14:08:
Dit gaat op dit moment echt ver boven m'n pet. Ik vind dat ik redelijk behendig ben in Excel, maar heb macro's tot nu toe altijd links laten liggen. Is echt een compleet blinde vlek voor me. }:O
Misschien heb ik nooit geweten dat ik het nodig had en dat m'n leven een stuk makkelijker zou zijn geworden als ik macro's zou hebben gebruikt.

Ik moet me dus erg gaan inlezen om te kunnen begrijpen wat je allemaal hebt neergezet en het mij vervolgens eigen te maken. In ieder geval bedankt voor je uitvoerige reactie(s) (ook aan de andere posters in dit topic)!
Ik ga er zéker mee aan de slag, maar verwacht niet dat ik dit al morgen helemaal snap en in de vingers heb ;)
Ík heb zelf ook niet zoveel kaas gegeten van macro's :9 Maar om het probleem in je casus te vermakkelijken werkt een draaitabel al verrekte handig. Ga gewoon eens proberen of je een paar kolommen kan toevoegen en de juiste categorie daar in krijgt. Dat zou met een paar extra tabelletjes en VERT.ZOEKEN() al goed te doen moeten zijn. Daarna kan je vrij gemakkelijk een draaitabel maken.

Als dat allemaal is gelukt kan je gaan kijken hoe je de data beter kan organiseren (d.m.v. een macro)

don't mind me


  • Gitarist
  • Registratie: September 2001
  • Niet online
Het probleem is ook dat ik de Excel aan het bouwen ben, maar een collega hem gaat gebruiken.
Kort gezegd komt het erop neer dat de omzetrapportage de omzet van de afgelopen week toont, maandtotalen year to date en ook nog de totalen per product, productgroep en per verkoper.

Het huidige bestand voorziet hierin en mijn collega hoeft hiervoor maar twee exports te maken (kon helaas niet in één export). Maar er gaan een aantal omzetgroepen wijzigen + het management heeft nog een aantal wensen dus vandaar dat het huidige bestand op de schop moet.

Ook in de nieuwe situatie is het onze wens dat mijn collega maar één (of twee) exports hoeft te maken, dat kan dumpen in de excelfile, even checken of er geen verschillen zijn (ik heb allerlei controletotalen ingebouwd) en klaar.

Hem iedere week (want het gaat om een weekrapportage) tabellen te laten toevoegen is eigenlijk niet gewenst.
Een ander uitgangspunt is dat de excelfile moet zijn berekend op de toekomst. Als er een verkoper bijkomt, moet die eenvoudig toegevoegd kunnen worden aan de rapportage.

---

En dat brengt mij eigenlijk al weer op mijn initiële probleemstelling uit de startpost. De macro's zijn zéker interessant en daar ga ik ook echt naar kijken, maar ik heb zo een gevoel dat het makkelijker moet kunnen en ik gewoon een essentiële excelfunctie over het hoofd zie.

Ik zal mijn probleem op een andere manier uitleggen.

Om het voorbeeld simpel te houden, zal ik niet de hele formule die we gebruiken hier neerzetten, maar hou ik het bij de kern. Wij gebruiken een formule die de omzet totaliseert van een bepaalde productgroep, verkocht door een bepaalde groep verkopers.
Die formule luidt ongeveer zo: SOMMEN.ALS([een hele reeks voorwaarden] van [Verkoper1])+SOMMEN.ALS([een hele reeks voorwaarden] van [Verkoper2]) etc. en dat voor tientallen verkopers. Die formule staat nu in iedere maandkolom, waarbij iedere formule uiteraard verwijst naar de corresponderende maand in de export die we gebruiken.
Een enorme formule dus, erg foutgevoelig en niet handig als er een productgroep of verkoper wijzigt. Natuurlijk kom je met zoek/vervang een heel eind, maar het moet makkelijker kunnen hoop ik.

Mijn denkrichting is dat het mogelijk moet zijn dat ik de lijst met alle verkopers in een apart tabblad zet. Vervolgens maak ik van de hele groep verkopers één gedefinieerd "iets", die ik bijvoorbeeld VerkopersGroep1 noem, waarna ik de formule kan beperken tot:
SOMMEN.ALS([een hele reeks voorwaarden] van [VerkopersGroep1])
Datzelfde trucje hoop ik ook te kunnen toepassen bij producten (waarbij ik in het geval van het voorbeeld Pizza en Pasta definieer als [Italiaans]).

Ik heb met een naamlijst proberen te werken, maar als ik dat in de formule gooi, dan gaat hij kijken naar omzet die aan alle voorwaarden voldoet. Dus het resultaat is 0.

  • Pindakaas
  • Registratie: December 2010
  • Laatst online: 11:41
Gitarist schreef op donderdag 9 november 2017 @ 16:07:
Het probleem is ook dat ik de Excel aan het bouwen ben, maar een collega hem gaat gebruiken.
Kort gezegd komt het erop neer dat de omzetrapportage de omzet van de afgelopen week toont, maandtotalen year to date en ook nog de totalen per product, productgroep en per verkoper.

Het huidige bestand voorziet hierin en mijn collega hoeft hiervoor maar twee exports te maken (kon helaas niet in één export). Maar er gaan een aantal omzetgroepen wijzigen + het management heeft nog een aantal wensen dus vandaar dat het huidige bestand op de schop moet.

Ook in de nieuwe situatie is het onze wens dat mijn collega maar één (of twee) exports hoeft te maken, dat kan dumpen in de excelfile, even checken of er geen verschillen zijn (ik heb allerlei controletotalen ingebouwd) en klaar.

Hem iedere week (want het gaat om een weekrapportage) tabellen te laten toevoegen is eigenlijk niet gewenst.
Een ander uitgangspunt is dat de excelfile moet zijn berekend op de toekomst. Als er een verkoper bijkomt, moet die eenvoudig toegevoegd kunnen worden aan de rapportage.
Alsnog is een draaitabel de mooiste oplossing denk ik. Ook het beste aan te passen als er dingen wijzigen in de toekomst. Een nieuwe categorie toevoegen is ook een peulenschil. Ik hoor nog geen (goede) tegenargumenten waarom een draaitabel niet gewenst is :> .

Ik zou het als volgt doen. doe er mee wat je wilt.
1. Een tabel maken voor de verschillende productgroepen. (Bijvoorbeeld, bij een pizza hoort de productgroep italiaans)

2. Een tabel maken van de export die gedraait wordt. Alleen de relevante kolommen overnemen uit de export. (eventueel met een verwijzing of Vert.Zoeken oid)

3. In de tabel uit puntje 2 maak je een kolom die de productgroep bij het product zoekt d.m.v. vert.zoeken in tabel 1.

4. Een draaitabel maken van deze tabel.

------------------------

Om de sheet vervolgens elke week te updaten zet je een nieuwe export er in, moet je hoogstens een paar formules doortrekken en even of 'Refresh' drukken in de draaitabel. nog geen 5 minuten werk lijkt mij. 8)7

Je hoeft dus geen tabellen toe te voegen elke keer, deze worden slechts eenmalig gemaakt. Wanneer er een nieuwe productgroep bijkomt stel je dit in tabel 1 in en je refresht de draaitabel.

don't mind me

Pagina: 1