Tutorial: Crashkurs Excel für Datenjournalismus

Posted by on Aug 9, 2012 in News | 5 Comments

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
19 Zeichen
(nur Dateiname)

Nimmt die letzten
4 Zeichen
(z.B. “.jpg”)

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)

5 Comments

  1. Schritt für Schritt in den Daten-Journalismus | Gekritzel-Blog
    2012-08-10

    [...] Der Excel-Crashkurs von OpenDataCity: eine detaillierte Anleitung für die ersten Schritte mit dem [...]

  2. Peter
    2012-08-26

    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?

  3. Pavel Maliki
    2013-01-30

    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.

  4. Udo
    2013-06-02

    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 ;)

  5. Alois
    2013-07-05

    Hallo,

    das kann ich nur bestätigen. Excel ist ein mächtiges Werkzeug und wir häufig unterschätzt.

    Gruß
    Alois