Anwesenheitsliste

Erstellen einer wöchentlichen Anwesenheitsliste

Die Aufgabe

Jede Woche soll eine Anwe­sen­heit­sliste aus­ge­druckt wer­den, in welch­er die Namen von Kursteil­nehmern bere­its erfasst sind. Es soll möglichst so sein, dass so wenig Eingaben und Änderun­gen erforder­lich sind.

Die fertige Lösung

Es führen viele Wege nach Rom. Und aus­nahm­sweise zeige ich Ihnen gle­ich zu Beginn ein­mal das Ziel. So kön­nen Sie sich gle­ich davon überzeu­gen, ob das in Etwa etwas sein kön­nte, was Ihnen weit­er hil­ft. Laden Sie diese Excel-Datei und befassen Sie sich gerne ein wenig damit. Sie ist vol­lkom­men ohne Makros / VBA, nur mit Formeln aufge­baut.

▲ nach oben …

Vorgehensweise

Die Mappe sollte eigentlich selb­sterk­lärend sein. Aber einige kleine Hin­weise sind doch ange­bracht, damit Sie vielle­icht das eine oder andere bess­er ver­ste­hen. – Eigentlich müssen Sie nach Fer­tig­stel­lung der Mappe jede Woche nur noch zwei Posi­tio­nen ändern und eine Posi­tion über­prüfen. Sie schauen nach, ob die Namen in der zweit­en Tabelle (Teil­nehmer) dem aktuellen Stand entsprechen und nehmen erforder­lichen­falls Kor­rek­turen vor. Danach geben Sie in C1 die Kalen­der­woche ein und in B20 Strg. (Punkt), um das aktuelle Datum als fes­ten Wert einzu­tra­gen. Das dür­fen Sie natür­lich gerne auch per Hand machen, aber bitte keine Funk­tion. Automa­tisch wird nun daraus der zu der Kalen­der­woche gehörende Mon­tag berech­net und die kalen­darischen Dat­en der Woche wer­den in B5:F5 automa­tisch einge­tra­gen.

Das war’s dann auch schon. Druck­en und fer­tig. – Näch­ste Woche das gle­iche Spiel.

Aber warum sollte das Datum nicht mit ein­er Funk­tion wie HEUTE() oder JETZT() eingegeben wer­den? Zwei Gründe sind dafür ver­ant­wortlich: Wenn Sie die Mappe jede Woche aus welchen Grün­den auch immer unter einem Namen mit dem Zusatz der Kalen­der­woche spe­ich­ern, dann wird dieses Datum auch immer ohne Ihr Zutun aktu­al­isiert.

Und zweit­ens, am Jahre­sende wird es „eng”. Begrün­dung: Die Funk­tion für die Berech­nung des Mon­tags der entsprechen­den Kalen­der­woche brauch ja auch eine Jahreszahl, klar … Und die wird aus B20 geholt. Also, wenn Sie am 30.12. schon die Tabelle für die erste Jan­u­ar­woche aus­druck­en, dann wer­den Sie darauf acht­en müssen, ob der erste Mon­tag im neuen Jahr noch zur let­zten KW des alten oder schon zur 1. KW des neuen Jahres gehört. Ist let­zteres der Fall, dann geben Sie als KW eine 1 ein und beim Datum in B20  ein­fach den 1.Januar des Fol­ge­jahres.

▲ nach oben …

Einzelheiten

Hier nun einige Details zu Formeln und auch zu den bei­den Tabel­len­blät­tern. Für ges­tandene Profis ist das alles selb­sterk­lärend, Sie find­en hier als geübter User vielle­icht doch noch den einen oder anderen Tipp.

Die Tabelle „Teilnehmer”

Da gibt es nun wirk­lich nicht viel zu sagen. Die einzige Ein­schränkung: Die Namen der Teil­nehmer begin­nen in A2. Prinzip­iell war’s das auch schon. Schön wäre, wenn keine Leerzelle dazwis­chen wäre, ist aber auch nicht so tragisch. Die Anzahl ist egal, die Rei­hen­folge auch.

Die TabelleListe

Hier gibt es einiges anzumerken. Ich beginne mit C1, dem Feld für die Kalen­der­woche. Es ist zwar sin­nvoll, dort nur die höch­ste Zahl der KWs im Jahr anzugeben, aber wenn Sie beispiel­sweise 75 eingeben wür­den, dann käme auch ein real­er Wert her­aus. Start ist immer die erste Kalen­der­woche des Jahres, welch­es in B20 ste­ht. Da wird dann in dem Fall 74*7 (Tage) addiert und Sie sind in der 75. Woche ab dem „Start­da­tum”.

Die For­matierung der Zellen A6:A18 (die Namen) ist so vorgenom­men, dass zwar Texte aber keine Zahlen angezeigt wer­den. Der Hin­ter­grund: Um in der Liste stets über eine aktuelle Namen­sauf­stel­lung zu ver­fü­gen, wer­den die (aktuell gehal­te­nen) Namen der Kursteil­nehmer aus dem Tabel­len­blatt Teil­nehmer automa­tisch über­nom­men. In genau der Rei­hen­folge, wie sie in der anderen Tabelle aufge­führt sind. Und ein leer­er Ein­trag bleibt auch leer.

Logisch? Nein, denn die Zelle ist hier nicht leer. Schauen Sie ein­mal in die Bear­beitungszeile von A18. Und? Ja, da ste­ht eine Formel drin. Und somit ist die Zelle nicht leer. Aber das kommt noch schön­er. Da ste­ht eine Null drin. Und obwohl Sie keine WENN()-Funk­tion sehen, wird die Null nicht angezeigt.

Es liegt am Zahlen­for­mat, welch­es ich dort angewen­det habe. Es ist ein benutzerdefiniertes For­mat und sieht so aus:
;;@ Zwei Semi­ko­la und ein at-sign (@, zu Deutsch: Klam­mer­affe). Und falls Sie immer noch nicht so recht daran glauben, dass da in Wirk­lichkeit doch eine Zahl, die Null drin ste­ht, eine kleine Exkur­sion in den Bere­ich der Fehler­suche.

  • Klick­en Sie auf A11
  • Markieren Sie in der Edi­tierzeile (derzeit­iger offizieller Name: Bear­beitungsleiste)
  • Drück­en Sie F9
  • Erken­nen Sie, dass auf diese Weise das Ergeb­nis der Formel auch hier angezeigt wird.
  • WICHTIG! Jet­zt Esc, um die eigentliche Formel wieder herzustellen.
  • Wieder­holen Sie das Ganze nun in ein­er Zelle, die derzeit noch leer ist. Alles klar?
  • Vergessen Sie nicht Esc!

Wenn Sie irgend­wann ein­mal mehr Namen brauchen als 12, dann wäre es der For­matierung wegen am besten, diese zwis­chen der Zeile 6 und Zeile 18 einzufü­gen. Dann bleibt auch das punk­tierte Raster kor­rekt erhal­ten.

Wollen Sie sich noch die Formel zur Über­nahme der Namen „antun”? Na gut, zumin­d­est ansatzweise will ich Ihnen das erk­lären. Die Formel lautet:

=INDEX(Teilnehmer!A:A;ZEILE()-4)

Mit Index() suchen Sie in einem bes­timmten, definierten Bere­ich einen Wert, der an ein­er definierten Posi­tion ste­ht. Der Wert wird dann zurück­gegeben. Hier suchen Sie in der Tabelle Teil­nehmer in der gesamten Spalte A an eine Posi­tion, welche durch die Zeilen­num­mer der aktuellen Zelle bes­timmt wird. Und von der Zeilen­num­mer wird noch 4 abge­zo­gen.

Das hört sich schon schwierig an,aber wenn Sie das an Hans in A6 nachvol­lziehen, dann klärt sich das vielle­icht etwas eher auf. Die Funk­tion ZEILE() gibt hier ja den Wert 6 zurück. Jet­zt ziehe ich 4 davon ab, und es bleibt der Wert 2. Jet­zt kommt wieder der INDEX() ins Spiel. In der Spalte A soll der Wert aus der (eben berech­neten) 2. Posi­tion ab Beginn wiedergegeben wer­den. Und da ste­ht der „Hans”.

▲ nach oben …

Und dann bleiben noch die bei­den Zelle B5 und C5. Ich beginne mit C5, weil das leichter ist. Dort ste­ht schlicht und ein­fach: =B5+1. Also ein Tag nach dem Datum in B5. Also der Dien­stag jen­er Woche. Diese Formel aus C5 ist ein­fach durch Ziehen bis F5 kopiert wor­den.

B5 ist eine ein­fach großar­tige Formel. Sie dient der Berech­nung des Mon­tags der entsprechen­den Kalen­der­woche und der Autor ist Franz Pölt, gefun­den und gese­hen in Excelformeln.de

▲ nach oben …

Dieser Beitrag wurde unter Downloads, Musterlösungen, Ohne Makro/VBA, Verschiedenes veröffentlicht. Setze ein Lesezeichen auf den Permalink.