Acties:
  • 0 Henk 'm!

  • Smithkj
  • Registratie: November 2013
  • Laatst online: 10-04 13:45
Beste Tweakers,

Ik wil in Excel iets voor elkaar krijgen, ik heb het gevoel dat ik dichtbij ben. Maar t lukt nog niet helemaal.

Hieronder een voorbeeld:

Afbeeldingslocatie: http://i62.tinypic.com/2n9bcjb.png

- per zaak kunnen er 1, 2 of 3 etc items zijn afgehandeld. Ik wil graag per zaak tellen hoeveel items er zijn afgehandeld.

hij moet dus volgens mij kijken naar de vorige en volgende cel: als die gelijk of niet gelijk zijn dan een bepaalde waarde toevoegen.

ik had al gebruikt:

'=ALS(A3=A2;1;2)'

dat werkt alleen net niet goed omdat je alleen waardes bij 'waar' en 'onwaar' opgeeft en dan kom je uit op 1 of 2. terwijl ik door moet kunnen tellen tot 900 in een gek geval.

Ik heb t idee dat ik dichtbij ben, maar nog net even iets mis.

Iemand een idee?

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • naitsoezn
  • Registratie: December 2002
  • Niet online

naitsoezn

Nait Soez'n!

Volgens mij moet je een heel eind komen met SUMIFS (iets als "sommen.als" ofzo in de Nederlandse versie)?

't Het nog nooit, nog nooit zo donker west, of 't wer altied wel weer licht


Acties:
  • 0 Henk 'm!

  • Logic Lion
  • Registratie: Maart 2005
  • Laatst online: 11:12
Probeer een iets in de richting van:

=ALS(A3=A2;C2+C3;C3) en dit plaats je dan in kolom D bijvoorbeeld

Als de onderste cel gelijk is aan de bovenste dan telt hij zijn aantal afgehandeld op bij die daarboven en anders zet hij alleen zijn waarde neer.

Dit werkt trouwens alleen als de "zaak"kolom gesorteerd is.

Edit: Volgens mij schatte ik je voorbeeld te ingewikkeld in. Als je alleen wilt weten hoe vaak bijvoorbeeld "A" in zaak staat dan kan dat makkelijk met aantal.als

[ Voor 20% gewijzigd door Logic Lion op 21-07-2015 13:48 ]


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

naitsoezn schreef op dinsdag 21 juli 2015 @ 13:33:
Volgens mij moet je een heel eind komen met SUMIFS (iets als "sommen.als" ofzo in de Nederlandse versie)?
Inderdaad kan dit met aantallen.als()

Edit: al is dat in het voorbeeld niet eens nodig, daar voldoet het om gewoon het aantal A in kolom A te tellen. Maar misschien is je sheet IRL complexer.

[ Voor 23% gewijzigd door F_J_K op 21-07-2015 13:42 ]

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


Acties:
  • 0 Henk 'm!

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 19-09 16:45

Skinny

DIRECT!

Ligt er ook een beetje aan hoe je de totalen daarna wilt gebruiken, heb je een simpele lijst van A t/m E (Zaak), dan kun je met SUMIF inderdaad de totalen opvragen. Maar ik gok dat je geen 'vast' lijstje van Zaken hebt.

Een Pivottable toevoegen en daarna verwijzen is natuurlijk ook nog een optie indien je wat flexibele wilt zijn, maar dit ligt (nogmaals) even aan wat je daarna met je data wilt gaan doen.

SIZE does matter.
"You're go at throttle up!"


Acties:
  • 0 Henk 'm!

  • TheDragon2002
  • Registratie: November 2007
  • Laatst online: 18-09 08:20
Ik heb een voorkeur voor de matrix funcie variant. Stel je plaatst in E2 de waarde waarvan je de totalen wil hebben dan zou je in F2 de volgende functie kunnen plaatsen "=SOM(ALS(A:A=E2,C:C,0))" NU NIET OP ENTER drukken maar op CTRL-SHIFT-ENTER (de formule komt in brackets te staan { formule } )

Verander je nu de waarde van E2 naar bv A, B, C, D, enz dan zal daarachter de totaal som komen te staan.

Of je gebruikt SUMIF inderdaad ;)

Acties:
  • 0 Henk 'm!

  • josoetgebrook
  • Registratie: Oktober 2001
  • Laatst online: 22-01-2024
=Aantal.ALS(A1:A10;"A")
=Aantal.ALS(A1:A10;"B")
=Aantal.ALS(A1:A10;"C")
=Aantal.ALS(A1:A10;"D")
=Aantal.ALS(A1:A10;"E")

Dan kun je de kolom met Aantal weg laten.

En als je bij Activiteit alleen de afgehandeld wil tellen, en niet bijvoorbeeld open, dan maak je ervan:

=Aantallen.als(a1:a10;"A";B1:B10;"afgehandeld")
=Aantallen.als(a1:a10;"B";B1:B10;"afgehandeld")
=Aantallen.als(a1:a10;"C";B1:B10;"afgehandeld")
=Aantallen.als(a1:a10;"D";B1:B10;"afgehandeld")
=Aantallen.als(a1:a10;"E";B1:B10;"afgehandeld")

[ Voor 92% gewijzigd door josoetgebrook op 21-07-2015 14:24 ]


Acties:
  • 0 Henk 'm!

  • muppet99
  • Registratie: Juli 2002
  • Laatst online: 21-09 16:17
=IF((SUM(C2-(COUNTIF(A:A,A2)))=0),"Afgehandeld","Open")

Kan een mooie starter zijn. Ik ben nog even aan het kijken of ik het nog iets mooier kan maken ;)

Wat hij dus doet is alle A'tjes van Kolom A optellen. Vervolgens kijkt hij of aantal wat in kolom c staat gelijk is aan alle A'tjes. Als dat waar is maakt hij er Afgehandeld van en anders Open.

[ Voor 38% gewijzigd door muppet99 op 21-07-2015 14:00 ]

Carpe Diem


Acties:
  • 0 Henk 'm!

  • SandaX
  • Registratie: November 2003
  • Laatst online: 09:10

SandaX

Nicht Ärgern nur wundern

Dooddoener: een draaitabel geen idee?

Acties:
  • 0 Henk 'm!

  • TheDragon2002
  • Registratie: November 2007
  • Laatst online: 18-09 08:20
als je data dynamisch is en je de resultaten nog verder wil gebruiken is een pivottable niet het meest optimale is mijn ervaring

Acties:
  • 0 Henk 'm!

  • Smithkj
  • Registratie: November 2013
  • Laatst online: 10-04 13:45
Dank voor alle reacties zo snel al!

Draaitabel is niet handig. Ik wil juist kijken naar een verband tussen de eerste afgehandelde en tweede afgehandelde zaak.
Maar eventueel ook een 10e. het lastige is dat niet alle zaken evenveel wijzigingen hebben. dus hij moet echt doortellen. Ik ga even een paar suggesties proberen!

Acties:
  • 0 Henk 'm!

  • muppet99
  • Registratie: Juli 2002
  • Laatst online: 21-09 16:17
=IF(MAX(IF(A:A=A2,C:C))=(MAX(IF(A:A=A2,IF(B:B="afgehandeld",C:C)))),"Afgehandeld","Zaak Open")

Vergeet geen ctrl+shift+enter te gevenals je de formule hebt geknipt en geplakt :). Maar wat er dan gebeurd, zodra jij een zaak van A of B of C in kolom B niet op afgehandeld zet, blijft de status staan op zaak open.

Let wel door de keuze die je gemaakt hebt, kan het soms lang duren voordat excel hem heeft doorgerekend. Maar ik denk dat het is waar je naar zoekt

Nu nog een stukje conditional formatting, zodat je bij dezelfde zaak niet twee keer hetzelfde aantal kan inkloppen. Dan is je excel weer helemaal klaar ;)

[ Voor 18% gewijzigd door muppet99 op 21-07-2015 15:47 ]

Carpe Diem


Acties:
  • 0 Henk 'm!

  • Smithkj
  • Registratie: November 2013
  • Laatst online: 10-04 13:45
Nogmaals dank voor jullie hulp. ik vrees alleen dat ik 't veel te complex heb uitgelegd en daarmee de formules ook ingewikkelder worden dan nodig... :$ Excuus.

Wat ik eigenlijk wil zien, is wat ik in kolom C heb gezet. Er zit maar één waarde in de lijst. Alleen is het wel een lijst van om en nabij 18.000 records. Wat ik wil bereiken is dat er per zaak wordt geteld hoeveel aanvragen afgehandeld zijn.

Dat is dus wat er in kolom C staat, dat is het resultaat wat ik graag wil, maar ik heb dat niet duidelijk genoeg gezegd.

Nog eenvoudiger: ik wil de eerste keer dat van A een aanvraag is afgehandeld een '1' erachter zien. bij de tweede keer dat er één is afgehandeld een '2' en bij de derde keer een 'drie'. enzovoorts. Maar bij de volgende zaak wil ik graag dat ie weer bij '1' begint.

Misschien het allerkortst: ik wil Excel laten bepalen de hoeveelste aanvraag het van die specifieke zaak is (oftewel een klant).

Nogmaals excuses, want mij voorbeeld plaatje heeft ingewikkelder gemaakt dan nodig.

Acties:
  • 0 Henk 'm!

  • Audiowaste
  • Registratie: Mei 2011
  • Laatst online: 21-09 14:56
Nevermind, deze werkte niet :)

[ Voor 79% gewijzigd door Audiowaste op 21-07-2015 20:13 ]


Acties:
  • 0 Henk 'm!

  • Arjan90
  • Registratie: September 2005
  • Laatst online: 21-09 20:41
De nieuwe uitleg is duidelijk, de oude was inderdaad wat wazig maar dat komt denk ik vooral omdat je je eigen oplossing er al in verwerkte.

Je moet hier eigenlijk gaan kijken naar een AANTALLEN.ALS formule, waarbij je van het begin van het bereik (A2) het regelnummer vastzet met een dollarteken (dus A$2), dan verschuift het rijnummer niet als je de formule doortrekt naar beneden.

Als je de AANTALLEN.ALS formule laat verwijzen naar het bereik A$2:A2 en je trekt de formule naar beneden, dan zul je in de 4de rij (bijv.) de formule A$2:A4 hebben staan. Dat is volgens mij precies wat je wil. Als criterium moet je dan A2 instellen (gelijk aan het einde van je bereik). Het tweede bereik kun je op dezelfde wijze bepalen (B$2:B2), maar daar is het criterium een vaste waarde, nl. "afgehandeld".

spoiler:
AANTALLEN.ALS(A$2:A2; A2; B$2:B2; "afgehandeld")

[ Voor 25% gewijzigd door Arjan90 op 21-07-2015 20:27 ]

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Of sorteer en kijk zet in kolom C met ALS() een 1 als voorgaande iets anders heeft in kolom A, of de waarde van de vorige regel + 1 als het wel dezelfde is. Dus precies wat je in de topicstart had maar dan geen 1 of twee, maar 1 of (vorige cel)+1

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


Acties:
  • 0 Henk 'm!

  • Cujo74
  • Registratie: November 2003
  • Laatst online: 19-09 16:05
Kun je dit niet oplossen met de subtotaal functie?

Sorteren op zaak, dan alles selecteren en subtotaal functie (werkbalk "gegevens") er op los laten dat bij iedere wijziging in "zaak" er een subtotaal wordt toegevoegd van het aantal "afgehandeld"

Acties:
  • 0 Henk 'm!

  • Smithkj
  • Registratie: November 2013
  • Laatst online: 10-04 13:45
Beste allemaal,

't is gelukt. inderdaad tot de .als formule. alleen ik had 'waar' en 'onwaar' omgedraaid.

=ALS(A2=A1;I1+1;1)

waarmee ik zeg: als de cel onder de vorige cel niet dezelfde waarde heeft als die daarvoor. dan is het '1'.

als hij wél dezelfde waarde heeft dan is het de waarde van de cel daarboven (1 dus) +1.

Dank voor jullie hulp en een paar kunststukjes van formules :)

Acties:
  • 0 Henk 'm!

  • Arjan90
  • Registratie: September 2005
  • Laatst online: 21-09 20:41
Fijn dat het gelukt is! Toch is bovenstaande natuurlijk eigenlijk niet de goede oplossing. Volgens mij gaat die namelijk fout als je a en b door elkaar haalt (dwz in kolom A staan a, b en c door elkaar in willekeurige volgorde). Je moet hiervoor dus je dataset eerst sorteren, m.i. wil je dat soort foutgevoelige stappen niet hebben.

Ik raad je aan nog eens naar mijn post te kijken, daarmee ondervang je het probleem.

[ Voor 10% gewijzigd door Arjan90 op 22-07-2015 09:54 ]

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."


Acties:
  • 0 Henk 'm!

  • muppet99
  • Registratie: Juli 2002
  • Laatst online: 21-09 16:17
Ik moet mij inderdaad aansluiten bij Arjan.Voor zover ik kan zien ben je anders niet volledig ingedekt.

Carpe Diem


Acties:
  • 0 Henk 'm!

  • Smithkj
  • Registratie: November 2013
  • Laatst online: 10-04 13:45
Ik zal hem er nog eens naast gaan bouwen. voordeel is dat ik de data set kan en dat ie gesorteerd is (en kan worden) zonder risico.

Met name door het feit dat er maar één 'status' in zit: 'afgehandeld'. als er andere statussen tussen zouden zitten dan wordt het complexer. Maar ik ga er nog even mee puzzelen!
Pagina: 1