[Excel] in Draaitabel % weergeven

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Renzzie
  • Registratie: November 2010
  • Laatst online: 10-10 11:43
Zie voorbeeld: https://ufile.io/s0kd7

Heb een urendump (sterk vereenvoudigd weergegeven hier). Via een formule is er weergegeven of bepaalde uren direct of indirect zijn. Heb dus in een week verschillende directe en/of indirecte uren. In een draaitabel wil ik nu weergeven wat het % directe uren in die week is geweest van die persoon. Ik krijg dit echter met geen mogelijkheid voor elkaar.

Totale bron incl. filter op 'direct'
Afbeeldingslocatie: https://tweakers.net/ext/f/8xCTdq2MfCmC6eWMQDOguRnR/full.png

totaal geschreven uren per persoon per week
Afbeeldingslocatie: https://tweakers.net/ext/f/shpxIngq4ybsTjTUvR13maW3/full.png

In het voorbeeld wil ik 4.38/37=11,8% zien voor week 2
en voor week 3: 14.09/37.46=37,5%

Ik loop nu te stuntelen omdat ik maar 1 bron qua uren heb (worked_hours) die zowel direct als indirect kunnen zijn. Moet ik nog extra velden aanmaken in mijn bron of is dit te doen door iets handigs te doen in de draaitabel?

Alvast bedankt!

[ Voor 21% gewijzigd door Renzzie op 19-02-2019 07:59 . Reden: toevoegen plaatjes ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • DHH
  • Registratie: Augustus 2014
  • Laatst online: 07-09-2024

DHH

ESET doet bij mij erg moeilijk bij deze host. Kan je een screenshot van je draaitabel en de bron uploaden?

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Ik zou denken aan sommen.als(juiste naam en juiste type) delen door sommen.als(juiste naam).

Maar inderdaad, geef gewoon even de structuur tekstueel. Ook handig voor de mensen die over een jaar dezelfde vraag hebben, als het plaatje al lang weg is.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • The_Vice
  • Registratie: Augustus 2002
  • Laatst online: 23:59
Je kan naar de cell waarde van 4.38 verwijzen in een hulpcell en dan aanpassen naar een flexibele variant
verwijzing.
De hulpcell is in principe "Waarde / Totaal" als volgt:
code:
1
2
=GETPIVOTDATA("HOURS_WORKED";$G$3;"Naam persoon";"Jan Janssen";"weeknummer";2)/
GETPIVOTDATA("HOURS_WORKED";$G$3)

wordt:
code:
1
2
=GETPIVOTDATA("HOURS_WORKED";$G$3;"Naam persoon";$G5;"weeknummer";H$4)/
GETPIVOTDATA("HOURS_WORKED";$G$3)

waarin Jan Jansen (de naam) wordt aangepast naar $G5 kolom met namen vastzetten en
waar weeknummer 2 wordt aangepast naar H$4 rij met weken vastzetten

Let er wel op dat als je extra velden gaat toevoegen (bijv een maand en weeknummer) de pivottabel er weer anders uitziet en dus ook een aanpassing in de opzoek formule vereist.

Ook zet ik zelf meestal een opzoekformule aan de linkerkant van een pivottabel, of weer op een apart sheet. Dan overschrijft de pivottabel je formules niet als er meer weken bijkomen.

Getpivotdata is een wat kromme formule, maar je kan er best leuk data mee naar boven hengelen.
Doe mij maar SQL voor dit soort dingen (zeker als het groter wordt) maar om te beginnen absoluut niet verkeerd.
Beter dan som.als geklungel. Puur omdat een pivot tabel automatisch uitbreid met nieuwe namen en weken.

Acties:
  • 0 Henk 'm!

  • Renzzie
  • Registratie: November 2010
  • Laatst online: 10-10 11:43
@DHH , @F_J_K plaatjes toegevoegd. Had dit inderdaad wel eerder kunnen doen. Had er even geen rekening mee gehouden dat online opslag slechts tijdelijk is/soms slecht benaderbaar is.

@The_Vice Dank voor het meedenken. Je oplossing werkt, maar is niet helemaal ideaal. Er komen immers iedere week nieuw geschreven uren bij en dus ook nieuwe weken. Als ik de formule goed begrijp zou ik ook voor iedere week een formule moeten toevoegen. Wordt dus al snel een gigantisch blad. Zou juist mooi zijn als wat 'schoner' kan.

Edit: Het lijkt toch niet helemaal te werken. Als ik de eerste formule aanpas voor week 3 komt er als waarde 0.381429345 uit. Terwijl het 14.09/37.46=0.380810811 zou moeten zijn.

code:
1
2
=GETPIVOTDATA("HOURS_WORKED";$S$3;"Naam persoon";"Jan Janssen";"weeknummer";3)/
GETPIVOTDATA("HOURS_WORKED";$S$3)

Hetzelfde als ik de flexibele formule doortrek en aanpas naar week 3:
code:
1
2
=GETPIVOTDATA("HOURS_WORKED";$S$3;"Naam persoon";$S5;"weeknummer";U$4)/
GETPIVOTDATA("HOURS_WORKED";$S$3)

(ik heb de DT wat naar rechts verplaatst, vandaar de andere rijen)

Acties:
  • +1 Henk 'm!

  • Renzzie
  • Registratie: November 2010
  • Laatst online: 10-10 11:43
Uiteindelijk zelf tot een oplossing gekomen. Grappig dat je soms te moeilijk blijft denken terwijl de oplossing bijzonder simpel is.

Heb een extra kolom toegevoegd met een IF functie:
code:
1
=IF([@[Direct / Indirect]]="Direct";[@[HOURS_WORKED]];0)

Oftewel, hier krijg ik het totaal van de directe uren, als het indirecte uren zijn wordt er 0 weergegeven.

Vervolgens in de DT een calculated field toegevoegd dat deze nieuwe kolom door de totalen deelt en ik was er.
code:
1
=IFERROR(direct2/HOURS_WORKED;0)


Dank voor het meedenken!
Pagina: 1