Supportnet / Forum / Tabellenkalkulation
Addition der Einträge einer best. Kalenderwoche in Excel
Frage
Hi,
ich arbeite erst seit kurzem mit Excel und habe folgendes Problem:
Ich soll einen Code in Excel schreiben, der alle Einträge einer bestimmten Spalte X der Aktuellen Kaleder woche berechnet.
D.h. Ich habe eine Excel-Tabelle mit erste Spalte Datum und zweiter Spalte Arbeitsstunden. Nun soll ich einen Code schreiben der nur die Daten der aktueleln Kalenderwoche nimmt und dann die Arbeitsstunden die in dieser Kalenderwoche abgeleistet worden sind addiert. Um diese dann in eine andere Tabelle einzufügen.
Danke
Gruß
M
Antwort 1 von Trudi
Hallo M
nun schreib ich die antwort schon zum 3. mal ... hoffen wir das es diesmal nicht in den weiten des netzes verschwindet!
Als am einfachsten ist es wenn d eine Hilfspalte einfügst:
damit steht in spalte a dein datum
in Spalte B kannst du di KW berechnen :
=KALENDERWOCHE(A1;2)
hierbei steht die 2 dafür das deien KW mit montag beginnt
wenn dich die spalte stört blende sie einfach aus
und in Spalte c hast du deine Arbeitsstunden
die arbeitszeit der aktuellen KW kannst du dann wie folgt berechnen
=SUMMEWENN(B1:B49;KALENDERWOCHE(HEUTE();2);C1:C42)
ersetzt du
KALENDERWOCHE(HEUTE();2) gegen einen Zellbezug, kannst du in die entsprechende Zelle die KW rein schreibben von der du die Arbeitszeit haben möchtest
ersetzt du nur
(HEUTE();2)
funktioniert es mit jedem Datum der KW
so ich hoffe ich konnte dir helfen.
VG
Trudi
PS Feetback wäre schön
nun schreib ich die antwort schon zum 3. mal ... hoffen wir das es diesmal nicht in den weiten des netzes verschwindet!
Als am einfachsten ist es wenn d eine Hilfspalte einfügst:
damit steht in spalte a dein datum
in Spalte B kannst du di KW berechnen :
=KALENDERWOCHE(A1;2)
hierbei steht die 2 dafür das deien KW mit montag beginnt
wenn dich die spalte stört blende sie einfach aus
und in Spalte c hast du deine Arbeitsstunden
die arbeitszeit der aktuellen KW kannst du dann wie folgt berechnen
=SUMMEWENN(B1:B49;KALENDERWOCHE(HEUTE();2);C1:C42)
ersetzt du
KALENDERWOCHE(HEUTE();2) gegen einen Zellbezug, kannst du in die entsprechende Zelle die KW rein schreibben von der du die Arbeitszeit haben möchtest
ersetzt du nur
(HEUTE();2)
funktioniert es mit jedem Datum der KW
so ich hoffe ich konnte dir helfen.
VG
Trudi
PS Feetback wäre schön
Antwort 2 von Quad69
Hi,
danke für die schnelle Antwort. Also im einfachen Fall funktioniert das. Aber wie mache ich das wenn ich ca. 500 Zeieln in meiner Tabelle habe? Ich kann doch nicht in jeder Zeile =KALENDERWOCHE(AX;2) schreiben wobei x für die jeweilige Zeile steht. gibt es da sowas wie ne Schleife die jede Zeile durchläuft und dann für die entsprechende Zeile das richtige X einträgt. Kann man sowas mit Makros auch machen?
Danke
danke für die schnelle Antwort. Also im einfachen Fall funktioniert das. Aber wie mache ich das wenn ich ca. 500 Zeieln in meiner Tabelle habe? Ich kann doch nicht in jeder Zeile =KALENDERWOCHE(AX;2) schreiben wobei x für die jeweilige Zeile steht. gibt es da sowas wie ne Schleife die jede Zeile durchläuft und dann für die entsprechende Zeile das richtige X einträgt. Kann man sowas mit Makros auch machen?
Danke
Antwort 3 von Trudi
ömm das must du auch nicht
schreib es in die erste Zeile und dann markier die Zelle.
rechts unten in der ecke ist die umrandung etwas dicker.
hier mit der maus draufklicken
festhalten und runterziehen
der Zellbezug ändert sich automatisch
du mist nur für dei zweite formel den Zell- bereich entsprechend erweitern.
aber die Formel brauchst du ja auch nur einmal
übringens hat Microsoft auf seiner HP einige onlin Schulungen die für die Grundlagen ganz nett sind
schau einfach mal da:
http://office.microsoft.com/de-de/training/default.aspx
VG
und viel spass noch.....
schreib es in die erste Zeile und dann markier die Zelle.
rechts unten in der ecke ist die umrandung etwas dicker.
hier mit der maus draufklicken
festhalten und runterziehen
der Zellbezug ändert sich automatisch
du mist nur für dei zweite formel den Zell- bereich entsprechend erweitern.
aber die Formel brauchst du ja auch nur einmal
übringens hat Microsoft auf seiner HP einige onlin Schulungen die für die Grundlagen ganz nett sind
schau einfach mal da:
http://office.microsoft.com/de-de/training/default.aspx
VG
und viel spass noch.....
Antwort 4 von Quad69
Danke
und wie muss ich das HEUTE() bei KALENDERWOCHE(HEUTE();2) verändern wenn ich z.B. auf Kalenderwoche 23 zugreifen will.
Danke
P.S. Deine Hilfe hat mir sehr weiter geholfen Danke
und wie muss ich das HEUTE() bei KALENDERWOCHE(HEUTE();2) verändern wenn ich z.B. auf Kalenderwoche 23 zugreifen will.
Danke
P.S. Deine Hilfe hat mir sehr weiter geholfen Danke
Antwort 5 von Trudi
MOin
also Heutet () gibt das daktuelle datum aus.
Mit KALENDERWOCHE(HEUTE();2) erhälst du also die aktuelle KW
wenn du kw 23 haben willst bzw das öfter mal ändern willst wäre es sinnvoll das ganze über einen Zellbezug zu machen.
diene Formel müsste dann also beispielsweise lauten:
=SUMMEWENN(B1:B49;D5;C1:C42)
wobei du dann in D5 die jeweilige KW eingeben kannst aus der du die ergebnisse haben willst.
wenn du =SUMMEWENN(B1:B49;KALENDERWOCHE(D5;2);C1:C42)
als formel nimst kannst du ein Datum aus der Woche nehmen von der du das ergebniss wills. AUch hier Datum wird in Zelle D5 eingetragen.
Ach ja: Ich hab diese Formel jetzt nicht getestet... aber sie müßten stimmen... wenn nicht sag bescheid dann schu ich nich mal drüber.
VG
Trudi
also Heutet () gibt das daktuelle datum aus.
Mit KALENDERWOCHE(HEUTE();2) erhälst du also die aktuelle KW
wenn du kw 23 haben willst bzw das öfter mal ändern willst wäre es sinnvoll das ganze über einen Zellbezug zu machen.
diene Formel müsste dann also beispielsweise lauten:
=SUMMEWENN(B1:B49;D5;C1:C42)
wobei du dann in D5 die jeweilige KW eingeben kannst aus der du die ergebnisse haben willst.
wenn du =SUMMEWENN(B1:B49;KALENDERWOCHE(D5;2);C1:C42)
als formel nimst kannst du ein Datum aus der Woche nehmen von der du das ergebniss wills. AUch hier Datum wird in Zelle D5 eingetragen.
Ach ja: Ich hab diese Formel jetzt nicht getestet... aber sie müßten stimmen... wenn nicht sag bescheid dann schu ich nich mal drüber.
VG
Trudi
Antwort 6 von Quad69
HI, klappt bei mir so nicht aber vielleicht hab ich das auch falsch formuliert. Versuchen wirs anders:
Angenommen ich hab ne Tabelle:
A. Spalte Datum
B.Spalte die passende KW dazu
C. Spalte Zahlenwerte
Nun will ich in einer anderen Tabelle mit 1. Spalte KW1 2. Spalte KW2 usw die entsprechende Summe aller Zahlenwerte aus Tabelle 1 drin haben die zur jeweiligen KW passen.
Ich dachte da müsste ich in Tabelle 2 KW1 Spalte: =SUMMEWENN('Tabelle1'!B:B;KALENDERWOCHE(xy;2);'Tabelle1'!C:C) schreiben wobei das xy sgt, das dort die Werte die mit KW 1 versehen sind rein kommen.
Hoffe das ist jetzt nicht alles verwirrend.
Danke
Angenommen ich hab ne Tabelle:
A. Spalte Datum
B.Spalte die passende KW dazu
C. Spalte Zahlenwerte
Nun will ich in einer anderen Tabelle mit 1. Spalte KW1 2. Spalte KW2 usw die entsprechende Summe aller Zahlenwerte aus Tabelle 1 drin haben die zur jeweiligen KW passen.
Ich dachte da müsste ich in Tabelle 2 KW1 Spalte: =SUMMEWENN('Tabelle1'!B:B;KALENDERWOCHE(xy;2);'Tabelle1'!C:C) schreiben wobei das xy sgt, das dort die Werte die mit KW 1 versehen sind rein kommen.
Hoffe das ist jetzt nicht alles verwirrend.
Danke
Antwort 7 von Trudi
HUhu
na ja fast gut
aber du versuchst gerade die KW doppelt zu ermitteln.
der Ausdruck KALENDERWOCHE(xy;2) gibt dir die KW von xy (einem Datum) wieder.
da ich annehme das du da aber 1, 2 usw rein schreiben wilst, weil du die daten zu KW 1, 2 usw brauchst must due den ausdruck komplett streichen und nur die nummer der KW dort eintragen.
ich würde diese Tabelle aber an deiner stelle dann auch etwas anders gestallten:
ich würde in Tabelle 2 spalte A untereinander die KW's schreiben (also 1 bis 51 (nur die zahlen)
und in spalte b die berechnung untereinander durchführen.
die Formel muss dann lauten:
=SUMMEWENN(Tabelle1!$B$1:$B$30000;A2;Tabelle1!$C$1:$C$30000)
Aber wie rum du es gestalltest ist eigentlich egal
wichtig sind die $ in der Formel... wenn du die nicht rein schreibst verschiebt sich bei der AUtoausfüllung dein suchbereich. das wäre NICHT gut
PS Kommst du zufällig aus dem Grossraum BS Hannover?
na ja fast gut
aber du versuchst gerade die KW doppelt zu ermitteln.
der Ausdruck KALENDERWOCHE(xy;2) gibt dir die KW von xy (einem Datum) wieder.
da ich annehme das du da aber 1, 2 usw rein schreiben wilst, weil du die daten zu KW 1, 2 usw brauchst must due den ausdruck komplett streichen und nur die nummer der KW dort eintragen.
ich würde diese Tabelle aber an deiner stelle dann auch etwas anders gestallten:
ich würde in Tabelle 2 spalte A untereinander die KW's schreiben (also 1 bis 51 (nur die zahlen)
und in spalte b die berechnung untereinander durchführen.
die Formel muss dann lauten:
=SUMMEWENN(Tabelle1!$B$1:$B$30000;A2;Tabelle1!$C$1:$C$30000)
Aber wie rum du es gestalltest ist eigentlich egal
wichtig sind die $ in der Formel... wenn du die nicht rein schreibst verschiebt sich bei der AUtoausfüllung dein suchbereich. das wäre NICHT gut
PS Kommst du zufällig aus dem Grossraum BS Hannover?
Antwort 8 von Quad69
Sorry dass ich schon wieder störe aber ich glaub ich hab das schon wieder blöd formuliert bzw falsch:
Also ich möchte in einer best. Zelle einer Spalte mit best Kalenderwoche z.B.KW23 die Summe aller Zahlen die in dieser KW (also KW23) in einer anderen Tabelle mit Datum eingetragen wurden haben.
Ach und nochwas kann ich auf die Zahl die in der letzten nichtleeren Zelle steht zugreifen und die von einer anderen abziehen? Bei fester Anzahl von Spalten wäre das ja kein Problem aber da sich die letzte Palte ja immer ändert und zwar jede Woche da ja jede Woche eine neue Spalte für die jeweilige KW hinzukommt.?
PS ich komme nicht aus dem Großraum Hannover wieso?
Also ich möchte in einer best. Zelle einer Spalte mit best Kalenderwoche z.B.KW23 die Summe aller Zahlen die in dieser KW (also KW23) in einer anderen Tabelle mit Datum eingetragen wurden haben.
Ach und nochwas kann ich auf die Zahl die in der letzten nichtleeren Zelle steht zugreifen und die von einer anderen abziehen? Bei fester Anzahl von Spalten wäre das ja kein Problem aber da sich die letzte Palte ja immer ändert und zwar jede Woche da ja jede Woche eine neue Spalte für die jeweilige KW hinzukommt.?
PS ich komme nicht aus dem Großraum Hannover wieso?
Antwort 9 von Trudi
Hallo also nun wird es wirklich schwer...
also ohne die Datei kann ich dir mit dem KW Problem nun nicht mehr weiterhelfen.... und eigentlich müstest du auch mitlerweile alles haben was du brauchst....
nun ist es wohl an dir dich schlau zu lesen.
Dien zweites Problem läst sich entweder so lösen das du die Daten eines Jahres zu beginn des jahres anlegs... oder mit einem Macro....
anders wüst ich da keine lösung.
Na ja wenn du aus der gegend wärst würd ich dir mal einen Excel Grundlagenkurs verpassen... aber vielleicht versuchst du es wirklich mal bei MS oder bei einer örtlichen VHS
also ohne die Datei kann ich dir mit dem KW Problem nun nicht mehr weiterhelfen.... und eigentlich müstest du auch mitlerweile alles haben was du brauchst....
nun ist es wohl an dir dich schlau zu lesen.
Dien zweites Problem läst sich entweder so lösen das du die Daten eines Jahres zu beginn des jahres anlegs... oder mit einem Macro....
anders wüst ich da keine lösung.
Na ja wenn du aus der gegend wärst würd ich dir mal einen Excel Grundlagenkurs verpassen... aber vielleicht versuchst du es wirklich mal bei MS oder bei einer örtlichen VHS
Antwort 10 von Quad69
HI,
vielen Dank für deine Bemühungen. Ich habs jetzt war eigentlich gar nicht schwer (mit deiner Hilfe) Hab blos selber so ein paar blöde Denkfehler drin gehabt. Nochmals vielen Dank.
Nochmal zum zweiten Problem:
wie würde denn das entsprechende Makro ausschaun?
Danke
vielen Dank für deine Bemühungen. Ich habs jetzt war eigentlich gar nicht schwer (mit deiner Hilfe) Hab blos selber so ein paar blöde Denkfehler drin gehabt. Nochmals vielen Dank.
Nochmal zum zweiten Problem:
wie würde denn das entsprechende Makro ausschaun?
Danke
Antwort 11 von Trudi
Du für das Macro müst ich auch selber im Netzt suchen...
der code müste ungefair so lauten:
Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Select
damit suchst du die letzte verwendete Zelle einer Spalte.
Aber beschwören das ok ist kann ich nicht.
Aber ich denke auch das du von Macroprogramierung erst mal die Finger lassen solltest....
Das ganze ist doch etwas komplex und sollange dir die Grundlagen in Excel fehlen wird Macroprogramierung gar nicht klappen.
der code müste ungefair so lauten:
Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Select
damit suchst du die letzte verwendete Zelle einer Spalte.
Aber beschwören das ok ist kann ich nicht.
Aber ich denke auch das du von Macroprogramierung erst mal die Finger lassen solltest....
Das ganze ist doch etwas komplex und sollange dir die Grundlagen in Excel fehlen wird Macroprogramierung gar nicht klappen.