Microsoft Excel ist eigentlich nur ein Tabellenkalkulationsprogramm und genau so wird es meist auch nur verwendet.
Excel ist aber in Wirklichkeit ein sehr, sehr mächtiges Werkzeug. Jede Datenjournalistin und jeder Datenjournalist sollte sich mit Excel wirklich sehr gut auskennen. Zum einen gibt es dafür viele Kurse und Anleitungen im Internet, aber es ist mindestens genau so wichtig, sich gegenseitig über die Schulter zu schauen und neue Tricks zu zeigen. Selbst ich lerne nach 15 Jahren immer wieder neue Tricks in Excel kennen, die mir jemand zeigt oder auf die man zufällig stößt.
Die wichtigsten Dinge, was man in Excel kennen sollte, sind:
- die Excel-Funktionen
- nutzbare Datenquellen
- Ausgabemöglichkeiten
Excel-Funktionen
Die Hilfe in Excel enthält eine Liste alle Excel-Funktionen gruppiert nach Themengebiete. Das sollte wenigstens mal durchgeblättert werden, um sich einen groben Überblick zu verschaffen.
Die wichtigsten, die man auf jeden Fall kennen sollte, sind:
LÄNGE(Text)
gibt die Länge des Textes zurück, also die Anzahl der Zeichen.
LÄNGE(“Dingsbums “) = 9
LINKS(Text; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen von link zurück, also z.B. die ersten 5 Zeichen.
LINKS(“Dingsbums”; 5) = “Dings”
RECHTS(Text; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen von rechts zurück, also z.B. die letzten 4.
RECHTS(“Dingsbums”; 4) = “bums”
TEIL(Text; erstes Zeichen; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen aus der Mitte zurück, also z.B. 2 Zeichen ab dem 3.
TEIL(“Dingsbums”; 2; 3) = “ing”
FINDEN(Suchtext; Text)
sucht nach einem Text in einem anderen und gibt die Position zurück:
FINDEN(“bum”; “Dingsbums”) = 6
WECHSELN(Text; alter Text; neuer Text)
ersetzt innerhalb eines Textes alle Vorkommen von „alter Text“ durch „neuer Text“
WECHSELN(“Dingsbums”; “s”; “el”) = “Dingelbumel”
Beispiel: Man hat die folgende Spalte
12345Berlin 22767Hamburg 10587Berlin 30519Hannover
Mit der Funktion =LINKS(A1; 5) erhält man dann
12345 22767 10587 30519
Bzw. mit der Funktion =TEIL(A1; 6; 1000) erhält man dann
Berlin Hamburg Berlin Hannover
Anmerkung: Der letzte Parameter von TEIL gibt an, wie viele Zeichen zurückgegeben werden sollen. Falls die Zahl größer ist, als der Text lang ist, werden so viele Zeichen zurückgegeben, wie möglich. Das bedeutet, wenn der letzte Parameter eine sehr große Zahl ist, also z.B. 1000, dann wird einfach nur der Rest des Textes zurückgegeben. Also TEIL(A1; 6; 1000) gibt den restlichen Text ab dem 6. Zeichen zurück.
Nutzbare Datenquellen
Üblicher Weise nutzt man in Excel nur Tabellen. Tatsächlich kann fast jedes strukturierte Textformat in Excel genutzt und verarbeitet werden. Eine oft übersehene Datenquelle ist z.B. die Kommandozeile.
In der Kommandozeile kann man sich beispielsweise alle Dateien in einem Verzeichnis ausgeben und in eine Datei schreiben lassen
Unter Mac/Linux: ls -1 > list.txt Unter Windows/DOS: dir /b > list.txt
Diese beiden Befehle erzeugen jeweils eine Textdatei mit einer Liste aller Dateien im aktuellen Verzeichnis. Z.B. ein Auszug aus der Liste aller Fotos, die ich mit meinem Handy geschossen habe:
2012-04-14 00.33.59.jpg 2012-04-14 00.34.03.jpg 2012-04-14 01.29.45.jpg 2012-04-17 01.07.10.png 2012-06-03 05.51.20.png
Diese kann dann in Excel geöffnet werden, so dass man unter Excel die Dateinamen weiterverarbeiten kann.
Diese Dateiliste könnte man beispielsweise mit Excel weiterverarbeiten, so dass man in einer zweiten Spalte neue Dateinamen konstruiert. In diesem Fall habe ich mit den oben erwähnten Excel-Funktionen mal die Punkte in den Uhrzeiten durch Minuszeichen ersetzt:
2012-04-14 00-33-59.jpg 2012-04-14 00-34-03.jpg 2012-04-14 01-29-45.jpg 2012-04-17 01-07-10.png 2012-06-03 05-51-20.png
Die Formel dazu lautet:
= |
WECHSELN( |
LINKS(A1;19) |
;".";"-") |
& |
RECHTS(A1;4) |
|
Nimmt die ersten |
Nimmt die letzten |
||||
|
Ersetzt alle Vorkommen von “.” mit “-” |
|||||
|
Der Operator “&” Setzt den neuen Dateinamen mit der Dateiendung zusammen. |
|||||
Ausgabemöglichkeit: Konsole
Nun haben wir eine Tabelle mit zwei Spalten:
Alter Dateiname Neuer Dateiname 2012-04-14 00.33.59.jpg 2012-04-14 00-33-59.jpg 2012-04-14 00.34.03.jpg 2012-04-14 00-34-03.jpg 2012-04-14 01.29.45.jpg 2012-04-14 01-29-45.jpg 2012-04-17 01.07.10.png 2012-04-17 01-07-10.png 2012-06-03 05.51.20.png 2012-06-03 05-51-20.png
Aus dieser Tabelle kann man wieder Kommandozeilen-Befehle erzeugen!
Z.B. die Umbenennung von Dateien macht man in der Kommandozeile mit:
Unter Mac/Linux: mv "alter Name" "neuer Name" Unter Windows/DOS: ren "alter Name" "neuer Name"
Die Funktion, um daraus Windows/DOS-Befehle zum Umbenennen der Dateien zu erzeugen, könnte z.B. so aussehen:
= |
"ren """ |
& |
A2 |
& |
""" """ |
& |
B2 |
& |
"""" |
|
ren “ |
Alter Dateiname |
” “ |
Neuer Dateiname |
“ |
Die Spalte mit den DOS-Befehlen sieht dann so aus:
ren "2012-04-14 00.33.59.jpg" "2012-04-14 00-33-59.jpg" ren "2012-04-14 00.34.03.jpg" "2012-04-14 00-34-03.jpg" ren "2012-04-14 01.29.45.jpg" "2012-04-14 01-29-45.jpg" ren "2012-04-17 01.07.10.png" "2012-04-17 01-07-10.png" ren "2012-06-03 05.51.20.png" "2012-06-03 05-51-20.png"
Und jetzt kommt der Clou! Man kann die ganze Spalte kopieren und direkt in die Windows-DOS-Konsole einfügen – einfach copy&paste. Damit werden alle Befehle ausgeführt und somit die Dateien umbenannt.
Das besondere daran: Es funktioniert mit beliebig vielen Dateien!
Es müssen 10.000 Dateien umbenannt und z.B. Punkte durch Minuszeichen ersetzt werden? Mit Excel und der Kommandozeilen machen Sie das in 5 Minuten!
Ausgabemöglichkeit: HTML
Mit der Formel:
="<img src="""&B2&""">"
kann man aus den Dateinamen HTML-Code erzeugen. Die Spalten könnten dann z.B. so aussehen:
Dateiname HTML 2012-04-14 00-33-59.jpg <img src="2012-04-14 00-33-59.jpg"> 2012-04-14 00-34-03.jpg <img src="2012-04-14 00-34-03.jpg"> 2012-04-14 01-29-45.jpg <img src="2012-04-14 01-29-45.jpg"> 2012-04-17 01-07-10.png <img src="2012-04-17 01-07-10.png"> 2012-06-03 05-51-20.png <img src="2012-06-03 05-51-20.png">
Legt man nun in einem Texteditor eine HTML-Datei an und kopiert den erzeugten HTML-Code an die richtige Stelle, hat man eine Webseite erzeugt, die alle Dateien in einer Art Fotoalbum darstellt.
Ausgabemöglichkeit: SVG
SVG steht für Scalable Vector Graphics und ist ein Vektor-Grafik-Format, das man leicht beispielsweise mit aktuellen Browsern öffnen kann.
Zwei solcher SVG-Grafiken sind:


(Beide Grafiken stammen aus dem Projekt für die taz: “Facebook vs Europe“.)
Das besondere an diesen beiden SVG-Grafiken: Sie wurden mit Excel erstellt!
Ich will jetzt nicht zu tief in SVG einsteigen. Dafür kann man auch den guten Wikipedia-Artikel lesen: http://de.wikipedia.org/wiki/Scalable_Vector_Graphics
Aber ich will kurz den Schritt zeigen, wie man aus Excel-Daten die einzelnen Grafik-Elemente erzeugt.
In SVG definiert man Kreise mit:
<circle cx='16.3515795' cy='48.2191556' r='0.02'/>
Wie man sieht, sind hier die x- und y-Koordinate des Mittelpunktes (cx, cy) angegeben, so wie der Radius des Kreises. Man kann gerne noch Füllfarbe, Kreisdicke, Transparenz etc. angeben. Die eigentlichen Werte wurden mit Excel berechnet und in der letzten Spalte daraus der entsprechende circle-Tag generiert.
Ganz ähnlich kann man so auch Rechtecke zeichnen, für die man vorher die Parameter berechnet:
<rect x='16' y='11.61' width='1' height='-11.61' />
Hat man die SVG-Elemente in Excel berechnet, kann man sie in eine SVG-Datei an die richtige Stelle kopieren und fertig ist die Grafik.
Dieser Text von Michael Kreil steht unter einer Creative Commons-Lizenz (CC BY 3.0 Michael Kreil)
[Siehe auch: Unser Tutorial zu Regulären Ausdrücken, RegEX)







Peter 26 Aug ’12
Cooles Tutorial!
Dummerweise läuft Excel nicht auf meinen Rechner, dazu fehlt eine Lizenz der größten Trojaners der Welt…
Das geht doch sicher auch mit Gnumeric, oder?
Pavel Maliki 30 Jan ’13
Bist du sicher, das die Variante der deutschen Funktionsnamen eine gute Wahl ist? Die englischen Namen funktionieren doch auch immer, und sind mit anderen Spracheinstellungen bzw. über Versionen stabil.
Udo 2 Jun ’13
Die ganzen Ms-Exel Formeln funktionieren übrigens auch in Libre Office.
Könnte man auch einet Seite die sich “opendata…” nennt ja auch erwähnen