Tabellenkalkulation: Klassenarbeiten (fast) komplett in OpenOffice korrigieren

Nach­dem es sehr vie­le ver­schie­de­ne Ansät­ze dazu im Netz gibt, noch ein­mal mein Senf dazu. Ich kom­me auf die­se Art und Wei­se sehr schnell durch mei­ne Che­mie­ar­bei­ten und auf­wän­di­ge Nach­kor­rek­tu­ren durch for­ma­le Feh­ler ent­fal­len dadurch fast voll­stän­dig, da die Tabel­len­kal­ku­la­ti­on die Erb­sen zählt.  Mir ist es immer sehr wich­tig, weit­ge­hend dyna­misch kor­ri­gie­ren zu kön­nen, d.h. ich möch­te mir auch Wege offen­hal­ten, beson­de­re Lösungs­an­sät­ze auch im Rah­men mei­nes Erwar­tungs­ho­ri­zonts zu wür­di­gen. Außer­dem möch­te ich auf Schluss ein­fach nur noch dru­cken und unter­schrei­ben. Mein Tabel­len­blatt weist fol­gen­de Struk­tur auf:

Wei­ter­le­sen

Tabellenkalkulation: Aus Prozentwerten direkt Noten berechnen

Dabei hilft die Funk­ti­on SVERWEIS(). Dazu braucht es erst­mal eine Matrix (also einen Teil einer Tabel­le in einer belie­bi­gen Tabel­len­kal­ku­la­ti­on), die wie folgt aus­se­hen könnte:

A B C
1 Pro­zent­wert Note nume­risch Note ver­bal
2 0 6 unge­nü­gend
3 20 5 man­gel­haft
4 50 4 aus­rei­chend
5 64 3 befrie­di­gend
6 77 2 gut
7 90 1 sehr gut

Über die Zuord­nung von Pro­zent­be­rei­chen zu Noten spre­chen wir jetzt nicht – das ist von Fach zu Fach / Stu­fe zu Stu­fe  eh indi­vi­du­ell unter­schied­lich. Wich­tig ist, dass die Noten auf­stei­gend ange­ord­net sind. Fer­ner sei ange­nom­men, dass das Feld D42 (Per Anhal­ter durch die Gala­xis) den Pro­zent­wert der vom Schü­ler erreich­ten Punkt­zahl ent­hält.  Die Syn­tax von SVERWEIS() sieht erst­mal so aus:

SVERWEIS(Such­kri­te­ri­um; Matrix; Index; Sor­tier­rei­hen­fol­ge)

Unser Such­kri­te­ri­um ist der Pro­zent­wert der erreich­ten Punkt­zahl, also D42. Die Funk­ti­on sucht nun inner­halb eines Daten­be­reichs (einer Matrix), nach einem Wert, der mit unse­rem Such­kri­te­ri­um in der glei­chen Zei­le (Index) steht.  Die Matrix ist hier der Bereich A2 bis C7, oder bes­ser gesperrt $A$2 bis $C$7, da die Funk­ti­on ja an ver­schie­de­nen Stel­len der Tabel­le zum Ein­satz kommt und hin­ein­ko­piert wer­den wird – es gibt ja nicht nur eine Schü­ler­ar­beit zu beno­ten. Index gibt die Spal­te an, in der der Wert steht, der der Pro­zent­zahl zuge­ord­net wer­den soll. Die Sor­tier­rei­hen­fol­ge  1 bzw. wahr gibt an, dass die Wer­te auf­stei­gend sor­tiert sind.

Will ich den Pro­zent­wert in eine Note umrech­nen, gilt für unser Beispiel:

SVERWEIS(D42;$A$2:$C$7; 2; 1)

Über­setzt:

Suche im Daten­be­reich A2 bis C7 in der zwei­ten Spal­te (Index) nach einem Wert („mache einen Ver­weis“), der zum Wert von D42 passt und schrei­be ihn in Zel­le. Er passt so lan­ge, wie er den nächst­fol­gen­den Wert nicht über­schrei­tet (auf­stei­gen­de Sor­tie­rung).

Will ich den Pro­zent­wert in eine ver­ba­le Note „umrech­nen“, gilt für unser Bei­spiel entsprechend:

SVERWEIS(D42;$A$2:$C$7; 3; 1)

Nicht dass das nötig wäre: Man kann so nach­träg­lich in der Matrix Pro­zent­gren­zen ändern und im gan­zen Tabel­len­blatt pas­sen sich dann die Noten von Geis­ter­hand an.

Wie so ein Tabel­len­blatt bei mir aus­sieht (das bekom­men die SuS als unter­schrie­be­nen Aus­druck), zei­ge ich noch­mal bei Gele­gen­heit. Auf die­se Wei­se kann ich mich nicht mehr ver­zäh­len und bei den Noten ver­tun – prak­tisch und zeit­spa­rend, denn die Tabel­len­kal­ku­la­ti­on arbei­tet für mich und ich muss  nur den jewei­li­gen Ein­zel­aspekt im Auge haben. Ich fin­de es fas­zi­nie­rend, dass ab einer gewis­sen Punkt­zahl ein­fach ein Wort „umspringt“ – das hat etwas von Levels in einem Jump&Run-Spiel und mit­fie­bern tue ich dabei auch gele­gent­lich. Man muss übri­gens kei­ne Pro­zent­wer­te neh­men – das klappt auch bei Punk­te­gren­zen und natür­lich im Punk­te­sys­tem der Ober­stu­fe bei ent­spre­chen­der Erwei­te­rung der Matrix.

Und ja – ich ste­he auf far­bi­ge Kreide…

Benutzerdaten für Moodle mit einer Tabellenkalkulation erzeugen

Mood­le bie­tet die Mög­lich­keit des CSV-Uploads, um Daten­be­stän­de zu pfle­gen. Wenn man in der – nach mei­ner Ansicht – bedau­erns­wer­ten Lage ist, kei­ne schon vor­han­de­ne exter­ne Authen­ti­fi­zie­rungs­mög­lich­keit nut­zen zu kön­nen, kann das ein eini­ger­ma­ßen kom­for­ta­bler Weg sein, um User­da­ten zu ver­wal­ten. Mood­le bie­tet eini­ge nütz­li­che Funk­tio­nen, um Nut­zer­na­men aus Tabel­len­da­ten zu erzeu­gen – viel­sei­ti­ger ist aber der Weg über die Tabellenkalkulation.

Jede Tabel­len­kal­ku­la­ti­on besitzt For­meln für Text – wenn man sich nur die­se anzei­gen lässt, wird man sehr schnell fündig.

  • KLEIN() wan­delt einen Text in Klein­buch­sta­ben um
  • LINKS() lie­fert den lin­ken Teil einer Zei­chen­ket­te zurück, durch zusätz­li­ches Argu­ment kann ich sagen, wie lang der Teil sein soll, stan­dard­mä­ßig gilt die Län­ge 1.
  • VERKETTEN() ver­knüpft zwei Zeichenketten
A B C
1 Riecken Maik

Um den Benut­zer­na­men „mriecken“ zu gene­rie­ren, gebe ich in der Zel­le A1 fol­gen­de For­mel ein:

=KLEIN(VERKETTEN(LINKS(C1);B1))

Gehen wir das mal von innen nach außen durch:

=LINKS(C1) gibt den Buch­sta­ben „M“ zurück
=VERKETTEN((LINKS(C1);B1) gibt die Zei­chen­ket­te „MRiecken“ zurück
=KLEIN(VERKETTEN(LINKS(C1);B1)) macht die­se Zei­chen­ket­te klein

Noch ein Beispiel:
=KLEIN(VERKETTEN(LINKS(C1;2);B1)) gibt dann z.B. „mariecken“ zurück

Es gibt auch die Funktionen
=RECHTS() – gleich wie LINKS() nur schnip­pelt die eben rechts
=TEIL() – schnei­det in der Mit­te aus
=GROSS() gibt es auch…

Das geht auch für Pass­wör­ter, die man dann gleich per Seri­en­brief mit­tei­len kann. Gefunden/geklaut/neu zusam­men­ge­fasst habe ich das (von) hier. Dafür nimmt man ein eige­nes Tabel­len­blatt und erstellt fol­gen­den Inhalt:

  • Zel­le A1 bis A9: Zah­len 1 bis 9
  • Zel­le A10 bis A35: Klein­buch­st­ab­den a bis z 
  • Zel­le A36 bis A61: Groß­buch­sta­ben A bis Z 

Dann in eine lee­re Zel­le fol­gen­de Formel:

=INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))

für sechs­stel­li­ge Pass­wör­ter. Für mehr Stel­len, muss man ein­fach noch zusätz­li­che „&INDIREKT(„A“&ZUFALLSBEREICH(1;61)“ am Ende ein­fü­gen. Die­se For­mel kopiert man im sepa­ra­ten Tabel­len­blatt ein­fach her­un­ter und fügt dann über „Inhal­te ein­fü­gen“ die erstell­ten Pass­wor­te in die Tabel­le im Pass­wort­feld ein, die die Nut­zer­da­ten ent­hält. Man kann das nicht direkt im glei­chen Tabel­len­blatt machen, da die For­mel spä­tes­tens bei einem neu­en Auf­ruf der Datei neue Pass­wör­ter erzeugt…

Für die ganz Beque­men gibt es hier zwei Down­loads für ein Mus­ter­ta­bel­len­blatt zur Gene­rie­rung von Pass­wor­ten. Dabei habe ich  bereits Zei­chen eli­mi­niert, die der Nut­zer ger­ne ver­wech­selt, etwa den Buch­sta­ben „O“ und die Null oder den Buch­sta­ben „l“ (ger­ne mit der Eins ver­wech­selt). Die Tabel­le bie­tet in der ers­ten Spal­te den Pool an Zufallzei­chen, in der zwei­ten ein sechs­stel­li­ges und in der drit­ten ein acht­stel­li­ges Zufalls­pass­wort an. Sie lässt sich leicht an die eige­nen Bedürf­nis­se anpassen.

Zusam­men mit den ande­ren Mög­lich­kei­ten, die durch den CSV-Import in Mood­le gege­ben sind, las­sen sich damit span­nen­de Din­ge anstellen.

Neue Formelfreunde (Calc||Excel)

Ich mag manch­mal nicht ger­ne mit der Maus arbei­ten –  stel­len­wei­se unge­nau und ineff­zi­ent. Eine schö­ne Bat­ch­rou­ti­ne mit hohem nice im Hin­ter­grund tut All­tags­din­ge wie Bild­kon­ver­tie­run­gen o.ä. meist viel bes­ser als Klickibunti.Es gibt aber natür­lich auch Aus­nah­men: Zu Fens­ter­zei­ten war das MS Access (Klein­weich kann auch anders), heu­te ist sind es Brow­ser, Mail­cli­ents, neu­er­dings Tweet­deck und natür­lich zuneh­mend ger­ne OpenOffice.

In Open­Of­fice habe ich in den letz­ten Tagen zwei neue Freun­de ken­nen und schät­zen gelernt: Es han­delt sich um die Funk­tio­nen ZÄHLENWENN() und SUMMENPRODUKT(). Fol­gen­de Auf­ga­ben­stel­lung galt es mit nach­fol­gen­der Tabel­len­struk­tur im Rah­men unse­rer Eva­lua­ti­ons­aus­wer­tung zu bewältigen:


A B C D E
1 Daten­satz-Id Merk­mal 1 Merk­mal 2 Fra­ge 1 Fra­ge 2
2 1 w 5 1 2
3 2 w 7 4 3
4 3 m 8 3 4
5 4 w 5 2 2
6 5 m 11 1 4
7 6 m 13 4 3
8 7 w 10 3 3
9 8 m 6 2 2
10 9 w 5 2 1
11

Es soll­te nun z.B. ermit­telt wer­den, wie oft das Merk­mal 1 über­haupt vor­kommt. Das geht sehr hübsch mit der Funktion

ZÄHLENWENN(Bereich; Kri­te­ri­en)

Als Bereich kommt z.B. Zel­le B1 bis Zel­le B10 in Betracht. Es soll geprüft wer­den, wie oft das Merk­mal „w“ (weib­lich) vor­kommt. Dann lau­tet die Syn­tax, bzw. der not­wen­di­ge Zellinhalt:

=ZÄHLENWENN(B1:B10; „=w“)

Bei Open­Of­fice Calc darf übri­gens zwi­schen den Anfüh­rungs­zei­chen bei Kri­te­ri­en auch ein regu­lä­rer Aus­druck ste­hen – sehr mäch­tig und praktisch.

Nur unwe­sent­lich schwie­ri­ger ist fol­gen­de Auf­ga­be: Wie vie­le Jun­gen haben bei Fra­ge 1 mit „1“ geant­wor­tet? Das geht mit der Funktion

SUMMENPRODUKT(MATRIX1;MATRIX2;…)

Sieht von der Syn­tax erst­mal abschre­ckend aus, ist aber eigent­lich recht ein­fach. Für unse­re Auf­ga­be lau­tet der kor­rek­te Zellinhalt:

=SUMMENPRODUKT((B1:B10=„m“)*(D1:D10=„1“))

Das Spiel­chen lässt sich belie­big erwei­tern, z.B. so:

=SUMMENPRODUKT((B1:B10=„m“)*(C1:C10=„5“)*(D1:D10=„2“))

Damit wer­den alle Daten­sät­ze gezählt, für die gilt männ­lich („m“), Klas­sen­stu­fe 5 („5“) und bei Fra­ge 1 die zwei­te Ant­wort­mög­lich­keit gewählt. Natür­lich klappt das auch über meh­re­re Tabel­len­blät­ter hin­weg. Bei vier Kri­te­ri­en wird es aber unüber­sicht­lich, ins­be­son­de­re wenn man noch auf rela­ti­ve Ver­hält­nis­se (Pro­zent­an­ga­ben) nor­miert. Toll, so eine Tabellenkalkulation…