Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Testauswertung: Text suchen und Punkte summieren

Testauswertung: Text suchen und Punkte summieren
16.12.2016 08:10:11
Ernst
Hi Experten
Ich mache mit meinen Schülern oft Online Informatik-Tests und möchte diese nach meinem System auswerten und in Noten umrechnen lassen.
Wie so ein Test für einen Unterstufenschüler aussieht, seht ihr in der Datei Student_1.doc
https://www.herber.de/bbs/user/110065.doc
Die Datei zeigt die Testfragen und wie der Schüler geantwortet hat. (Sie ist nur zum besseren Verständnis für euch - diese Datei wird nicht zur Auswertung benötigt!)
Bisher habe ich in der Arbeitsmappe Gesamtergebnis.xls
https://www.herber.de/bbs/user/110064.xlsx
die Auswertungen manuell gemacht (Punkte für jede Frage eingetippt - der Rest wird automatisch berechnet). Aber genau das berechnen der Punkte pro Frage pro Schüler nimmt viel Zeit in Anspruch und daher suche ich nach einer automatisierten Lösung.
Im Tabellenblatt sheet1 befindet sich die vom Onlinetest generierte und hierher kopierte Auswertung aller Schüler. Sheet1 hat immer die gleiche Struktur und ist die Basisdatei für die Punktevergabe.
Da stehen z.B. in der Spalte J die Antworten aller Schüler (jede Zeile ein Schüler) (rot: irgendwas falsch; grün alles richtig).
Nun das Problem:Die Antworten setzt sich nicht nur aus richtig/falsch Antworten, sondern sehr oft auch aus Multiple-Choice Antworten zusammen.
Beispiel: Frage lautet : Welche Programme gehören zum MS Office Paket? (Antwortmöglichkeiten: Word, Excel, Opera, PowerPoint, Editor)
Antwort Schüler 1 in: Word, Excel, Opera
Schüler 2: Word, Excel
Schüler 3: Opera
Nun soll für jede Frage mit Mehrfachantwort folgende Punktevergabe gemacht werden.
Richtig: +0,5
Falsch: -0,5
Nicht angekreuzt: 0
Das bedeutet also Schüler 1 hätte 0,5 Punkte, Schüler 2 hätte 1 Punkt und Schüler 3 hätte -0,5 Punkte.
Nach einem einzelnen Text in der Antwortzelle suchen und bepunkten wäre ja noch leicht - das hätte ich so gelöst:
Formel in SW!H6 würde zB lauten =WENN(ISTZAHL(FINDEN("Word";Sheet1!J8));0,5;"")
Nun soll Excel aber bei einer 5fach Antwort nach jeweils 5 Zeichenfolgen suchen und vergleichen, ob diese in der Antwort vorkommen, wenn ja, dann eine richtige Antwort mit +0,5 bewerten, eine falsche mit -0,5, wenn eine Antwort gar nicht angekreuzt ist 0 Punkte. Danach soll Excel das Ergebnis für diese Frage zusammenzählen.
Das würde extrem viel Zeit für Korrekturen sparen.
Die Tests (für alle Wissensgebiete) kann man sich überigens auf socrative.com selber zusammenstellen. Vielleicht kann diese Auswertung - wenn sie denn irgendwann mal funktioniert - auch verwenden :-)
Bittebitte helft mir!
Nebenbei: VBA kann ich überhaupt nicht :-(

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA
16.12.2016 09:14:58
Fennek
Hallo,
der erste Eindruck ist:
- eine klassische Aufgabenstellung für eine Automatisierung
(alle Word-Dateien in einen Ordner, Knopf drücken, fertig))
- ohne VBA könnte ich es nicht/sehr schlecht lösen (andere vermutlich)
- der Fragebogen muss für eine automatisierte Auswertung vorbereitet werden, also Steuerelemente "Radar-button" zum Antworten.
Insgesamt eine nette, machbare Aufgabe, die aber etwas mehr Einsatzzeit erfordert.
mfg
AW: VBA
16.12.2016 12:18:30
guenni
Mir fehlt für eine Ermittlung der Punktzahl in der Datei mindestens eine Liste der richtigen und falschen Antworten
AW: kleines Beispiel
16.12.2016 12:09:38
Fennek
Hallo,
zuerst: ich konnte hier keine *.docm - Datei hochladen und eine Konvertierung in *.doc war im Moment zu mühsam.
In einem kleinen Versuch habe ich ein Word-Doc mit einer Tabelle für jede Frage erstellt. Per Makro werden alle notwendigen Kontrollkästchen eingefügt und nach dem Ausfüllen ausgelesen. Die Übergabe an Excel ist dann das kleinste Problem.

Sub Control_setzen()
Dim TB As Table
For Each TB In ActiveDocument.Tables
For i = 1 To TB.Rows.Count
TB.Cell(i, 1).Range.ContentControls.Add wdContentControlCheckBox
Next i
Next TB
End Sub
Sub loesch_2()
Dim CC As ContentControl
Dim TB As Table
For Each TB In ActiveDocument.Tables
For i = 1 To TB.Rows.Count
TB.Cell(i, 1).Range.Delete
Next i
Next TB
End Sub
Sub Auslesen()
Dim TB As Table
For Each TB In ActiveDocument.Tables
For i = 1 To TB.Rows.Count
TB.Cell(i, 2).Range.Text = TB.Cell(i, 1).Range.ContentControls.Item(1).Checked
Next i
Next TB
End Sub
mfg
Anzeige
AW: kleines Beispiel
16.12.2016 13:30:19
Ernst
Danke für Eure Antworten.
Ich glaub da gibt es ein Mißverständnis. Ich habe keine Word Datei - die hab ich nur aus einer PFD generiert weil man hier keine PDFs hochladen kann.
Der Fragebogen ist Online und leider nicht änderbar, da es sich um eine fertige Lösung von socrative.com handelt. Ich kann da nur meine eigenen Fragen und Antworten online generieren und die Ergebnisse als PDF oder XLS ausgeben lassen. In der ausgegebenen Excel Datei ist dann "Sheet1", das ich in meine Datei reinkopiere.
Ich kann also nur mit dem Tabellenblatt "Sheet1" arbeiten.
AW: Testauswertung: Text suchen und Punkte summieren
16.12.2016 14:41:50
Fennek
Hallo,
anbie ein Code für den ersten Einstieg:

Sub T1()
R = Array("Word", "Excel", "Powerpoint", "Outlook")
F = Array("Opera", "Editor", "Indesign", "Photoshop", "Visual Basic")
For i = 8 To 8
For j = 0 To UBound(R)
If InStr(1, Cells(i, "J"), R(j)) > 0 Then P = P + 0.5
Next j
For j = 0 To UBound(F)
If InStr(1, Cells(i, "J"), F(j)) > 0 Then P = P - 0.5
Next j
Debug.Print P
Next i
End Sub
Für eine automatische Auswertung müßten die Arrays R und F (richtig/falsch) für jede Frage spezifiziert werden. Sofern du dich in VBA einarbeitest, wird das gehen.
Viel Spaß / Lernerfolg
mfg
Anzeige
AW: Testauswertung: Text suchen und Punkte summieren
16.12.2016 17:36:23
Ernst
Danke für deine Hilfe!!
Verstehe ich das richtig, dass für jeden Eintrag, der in der Zeile R-Array..... vorhanden ist, 0,5 dazugezählt werden, wenn es in der Antwort vorkommt? So hätte ich das nämlich gerne.
Könntest du eventuell so nett sein, und mir das nötige VBA Script für die eine Antwort von Sheet1!J8 für den ersten Schüler in meine Datei speichern, sodass das Ergebnis in SW!H6 steht? Wenn du mir die Datei dann wieder hochlädst, kann ich anhand dessen vielleicht auch ohne VBA Kenntnisse zum Ziel kommen.
Viiiielen Dank!!!!

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige