• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datums optellen

Status
Niet open voor verdere reacties.

King Graham

Gebruiker
Lid geworden
15 jan 2005
Berichten
12
Hallo,

Ik ben op zoek naar een oplossing voor excel.

Blad1. Dit blad bestaat uit een kolom DATUM waar de gebruiker (een secretaresse :))) ) datums kan invullen. Deze datums zijn van het type dd/mm/yyyy.


Daarbuiten is er ook nog een kolom BEDRAG. Waar dizelfde secretaresse een bedrag kan invullen van het type: getal, decimalen 2.

Bijvoorbeeld:

05/07/2005 | 15,30
12/07/2005 | 34,80
12/07/2005 | 8,50
12/07/2005 | 12,90
20/07/2005 | 5,00
20/07/2005 | 7,50
24/07/2005 | 100,60

Wat ik wil bereiken is het volgende.

Excel moet een SOM maken van de bedragen per DATUM (dus per dag) en deze SOMs weergeven op blad 2.


in het formaat:

05/07/2005 | 15,30
12/07/2005 | 56,20
20/07/2005 | 12,50
24/07/2005 | 100,60


Kan excel dit doen?
Edit/Delete Message
 
Laatst bewerkt:
Why do you post your question in English? This is a Dutch Board and your previous posts were also Dutch :confused: :rolleyes:.
 
Geplaatst door XP_PC
Why do you post your question in English? This is a Dutch Board and your previous posts were also Dutch :confused: :rolleyes:.

omdat ik deze vraag op een engels forum had gepost.

en omdat ik het anders moest vertalen. En ik ervan uitga dat de meeste mensen die met excel bezig zijn wel een woordje engels kunnen. Als je leiver hebt dat ik het vertaal doe ik het hoor. leek me eerlijk gezegd nutteloos. Daar degene die deze oplossing weet (en dus een excel kenner is) niet de gemiddelde gebruiker is.
 
Neuh, van mij hoef je het niet te vertalen maar het viel zo op ;).

Ik heb helaas geen oplossing voor je dus zal me er niet mee bemoeien :).
 
Er zijn meerdere wegen die naar rome leiden. De eerste oplossing is een oplossing die je gewoon binnen excel kan doen (dus zonder macro code).
Als je gebruik maakt van bijvoorbeeld office 2003 dan kan je autofilters aanmaken. Dit doe je door de cellen te selecteren en daarna te kiezen voor de optie Lijst maken, die je via een klik met de rechter muistoets zal zien.

Wanneer je nu een datum selecteert vanuit de filters kan je onderin de subtotalen rij zetten op som om zo van je geselecteerde datum de waarde te zien.


Een andere oplossing is via een macro. Ik heb deze code voor je gemaakt.

Code:
Sub MaakTotalen()
  'Hier zal ik de kolommen a en b sorteren zodat bijelkaar horende
  'datums altijd bij elkaar staan
  Columns("A:B").Select
  Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  'hier sla ik de datum in op
  Dim datum As Date
  'dit is de som van de getallen bij een bepaalde datum
  Dim som As Double
  'in i slaan we op bij de hoeveelste datum we zijn
  Dim i As Integer
  i = 1
  datum = ActiveCell.Value
  'Ik schrijf in de d kolom de datum weg zodat ik daar achter de som kan schrijven
  Range("D1").Value = datum
  
  Range("A1").Select
  While ActiveCell.Value <> ""
    som = 0
    While datum = ActiveCell.Value
      'de waarde van de B kolom optellen bij wat we al hadden
      som = som + ActiveCell.Offset(0, 1).Value
      'hier ga je 1 cel naar beneden zodat je de volgende waarde gaat bekijken
      ActiveCell.Offset(1, 0).Select
    Wend
    'hier schrijf je de som netjes weg
    Range("E" & i).Value = som
    'en je zet alles klaar voor de volgende datum
    datum = ActiveCell.Value
    i = i + 1
    Range("D" & i).Value = datum
  Wend
End Sub

Kijk maar onder mijn post hoe je het toe moet voegen.
 
Geplaatst door Vecom
Zoiets?

ja dat werkt.

maar kun je even de formule
=SOM.ALS(Blad1!A:A;A3;Blad1!B:B)

uitleggen, zodat ik er ook aan uit kan?

en hoe kan je deze formule aan gans de kolom op blad2 toevoegen zonder dat je weet hoeveel rijen (zelfde datums) deze kolom nodig zal hebben
 
De oplossing van Vecom is mooier dan mijn eerste oplossing in elk geval. Ook raad ik de normale excel functies aan boven macro's omdat de meeste mensen niet snappen wat er precies in een macro gebeurt en er ook geen kleine veranderingen in kunnen aanbrengen en in normale excel formules wel.

Enige nadeel is dat je wel alle data af moet gaan.
 
Geplaatst door snabbi
Enige nadeel is dat je wel alle data af moet gaan. [/B]

ik wil een werkblad maken dat compleet functioneel is. ik moet dit kunnen geven aan de secretaresse en ze moet GEEN kennis hebben van excel om de waarden te krijgen die ik wil. Dus ik (of zij) wens niet 1 maal per week bijvoorbeeld de data te moeten selecteren.
 
Geplaatst door King Graham


ja dat werkt.

maar kun je even de formule
=SOM.ALS(Blad1!A:A;A3;Blad1!B:B)

uitleggen, zodat ik er ook aan uit kan?

en hoe kan je deze formule aan gans de kolom op blad2 toevoegen zonder dat je weet hoeveel rijen (zelfde datums) deze kolom nodig zal hebben

=SOM.ALS(Blad1!A:A;A3;Blad1!B:B)
Als je bovenin op de Fx knop drukt (in oudere versies de = knop) krijg je uitleg bij de formule.

Som als sommeert de getallen indien ze aan een bepaalde voorwaarde voldoen. De voorwaarde is dat op blad1 de A kolom waarde gelijk is aan de waarde die je op de huidige sheet (blad2) hebt in de cel A3. De waarde die hij moet sommeren is dan te vinden in de B kolom.

Zoals ik ook al zei, helaas weet niet niet of je alle datums mee neemt. Dat weet je bij mijn macro wel altijd, maar ik denk dat je beter bij de functie kan blijven omdat een macro gewoon ingewikkelder is.
 
Geplaatst door King Graham


ja dat werkt.

maar kun je even de formule
=SOM.ALS(Blad1!A:A;A3;Blad1!B:B)

uitleggen, zodat ik er ook aan uit kan?



Tel de waarden in kolom B van blad1 op, ALS de waarde in kolom A van blad1 overeenkomt met de waarde in de 'voorliggende' cel ......

Deze datums in kolom A en B van Blad2 kan je snel kopiëren door de bovenste twee te selecteren en het 'vulgreepje' rechtsonder de selectie te gebruiken om de inhoud 'naar beneden' te slepen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan