Welche Alternativen es zu den Datenbankfunktionen gibt

Die Datenbankfunktionen sind wenig spektakulär und scheinen hinter den Formel-Bestsellern wie SVERWEIS, SUMMENPRODUKT, INDEX u.a. zurückzustehen. Dem ist keineswegs so. Der große Vorteil der Datenbankfunktionen liegt in der guten Performance. Die Funktionen rechnen schnell, sie können mit ganzen Spalten, mit ganzen Tabellenblättern umgehen.
Mein Beitrag will kurz zeigen, wie die Funktionen arbeiten. Hauptsächlich will ich aber aufzeigen, wie die Datenbankfunktionen durch andere Funktionen, die dem Nutzer geläufiger sind, ersetzt werden können. Ich mache diese Spielchen gern und hoffe, dass auch Du Gefallen daran findest.

Die Datenbankfunktionen von Excel zähle ich zu den versteckten Funktionen. Was heißt das? Sie können nicht über das Menü Formeln / Untermenüs Finanzmathematik bis Informationen aufgerufen werden, sie gehören zu keiner er dort vorgegebenen Kategorien.
Aber sie sind dennoch verfügbar über das Menü Formeln / Funktion einfügen. Wähle dort die Kategorie „Alle“ und scrolle bis zu den Anfangsbuchstaben „DB“, dort findest Du alle 12 Funktionen.

Beispieldaten

Für den Beitrag habe ich ein Beispiel aus der Excel-Hilfe genommen und leicht abgewandelt. Damit lässt sich die Arbeitsweise der Funktionen gut darstellen.

Datenbank1

Der Bereich A8:E14 zeigt einen Auszug mit sechs Datensätzen aus einer Datenbank, die tausende von Zeilen umfassen könnte.
In A4:F6 sind die Kriterien dargestellt, nach denen die Datenbank durchsucht werden soll.

1. Funktion DBANZAHL

Gesucht wird nach den Datensätzen, die Angaben zu Apfelbäumen mit einer Höhe zwischen 3,00 und 15,00 m enthalten, gezählt wird, wie viele dieser Datensätze im Feld „Alter“ eine Zahl enthalten.

Mit der Funktion errechnet sich ein Wert von 2. Schaust Du Dir die Tabelle an, bei so wenigen Einträgen geht das noch, erkennst Du die Datensätze in den Zeilen 12 und 14 als zutreffend, also zwei Datensätze.

Alternativ verwendest Du z.B. die Funktion ZÄHLENWENNS und errechnest auch die Zahl 2.

Datenbank2

2. Funktion DBANZAHL2

Diese Funktion soll nach den Datensätzen, die Angaben zu Apfelbäumen mit einer Höhe zwischen 3,00 und 15,00 m enthalten, suchen und zählen, bei wie vielen dieser Datensätze das Feld „Gewinn“ nicht leer ist.

Da die Datenbank nur eine kleine Anzahl von Datensätzen hat, siehst Du die Antwort zwar auch ohne zu rechnen, Du füllst dennoch die Formel und errechnest 1.

Als Alternative verwendest Du die Funktion SUMMENPRODUKT, mit der Du die vier Kriterien gut abbilden kannst; Apfel / >3 / <15 / <>““.

Datenbank3

Du siehst, dass hier ein Datensatz weniger gezählt wird, da ein weiteres Kriterium hinzu gekommen ist. Beim Datensatz in Zeile 14 trifft zu, dass das Feld „Gewinn“ leer ist, er wird daher nicht mitgezählt.

3. Funktion DBMAX

Mit dieser Funktion soll der höchste Gewinn, der mit Apfel- und Birnbäumen erzielt wurde, festgestellt werden.
Die Funktion DBMAX ermittelt den Wert 105 aus Zeile 9. Der Wert 105 ist ein zweites Ma in der Datenbank vorhanden, gehört aber zu Kirsche. „Kirsche“ ist aber kein Suchkriterium.

Datenbank4

Alternativ kannst Du mit der Kombination der Funktionen WENN, ODER und MAX rechnen, musst die Eingabe aber als Matrixfunktion beenden (Strg + Shift + Enter).
DBMAX ist, so wirst Du es wohl auch empfinden, schon von der Eingabe her einfacher, die Alternative daher nicht unbedingt besser.

4. Funktion DBMIN

Im Beispiel soll der geringste Gewinn, der mit den Apfelbäumen, die höher als drei Meter sind, erzielt wurde, gesucht werden.

Dazu müssen drei Kriterien berücksichtigt werden:
– Apfel
– > 3 m
– kleinster Gewinn

Apfel und > 3 m erfasst Du, indem Du die Suchkriterien mit A4:B5 festlegst. Den Gewinn suchst Du, indem Du als Datenbankfeld „Gewinn“ suchst. Den kleinsten Gewinn schließlich forderst Du mit der Funktion selbst, nämlich DBMIN an.

Datenbank5

Als zweite Möglichkeit rechnest Du hier mit der Kombination aus WENN, ODER und MIN.

Anzumerken sei noch, dass in E14 nichts steht, eigentlich das der kleinste Wert sein müsste. Nichts ist keine Zahl. Das Minimum aber wird aus Zahlenwerten bestimmt.

5. Funktion DBSUMME

Zu dieser Funktion willst Du zwei verschiedene Abfragen starten.
Zuerst willst Du wissen, wie hoch der Gesamtgewinn, der mit den Apfelbäumen erzielt wurde, ist.
Als Ersatzfunktion wählst Du diesmal SUMMEWENN. Beide Funktionen liefern das Ergebnis 180. Dazu werden die Datensätze in den Zeilen 9 und 12 angezogen. Der Datensatz in Zeile 14 enthält keinen Gewinn.

Datenbank6

Mit der zweiten Abfrage willst Du klären, wie hoch der Gesamtgewinn, der mit den Apfelbäumen erzielt wurde, deren Höhe zwischen 3,00 und 15,00 m liegt, war.

Als Alternativfunktion kommt SUMMEWENNS zum Einsatz, SUMMEWENN reicht nicht, da damit nur eine Bedingung gesetzt werden kann.

Die Auswertung ergibt, dass nur der Datensatz in Zeile 12 alle Bedingungen erfüllt, das Ergebnis ist 75.

Datenbank7

6. DBPRODUKT

DBPRODUKT errechnet das Produkt der Rendite, die mit den Apfelbäumen über 3,00 m erzielt wurden.

Zum Verständnis: Die Funktion multipliziert alle Renditewerte der Datensätze, die in Spalte A „Apfel“ zu stehen haben. Im Beispiel wird also D9*D12*D14 mit dem Ergebnis 840 gerechnet.

Welchen Sinn das Ergebnis (in diesem Beispiel) hat, erschließt sich leider nicht. Es mag allerdings Datenbanken geben, bei den DBPRODUKT ein schlüssiges Ergebnis liefert. Gehe einfach davon aus, dass die Funktion Sinn machen kann, wäre sie sonst erdacht worden?

Verwende alternativ eine Kombination aus den Funktionen PRODUKT und WENN. Das Konstrukt musst Du dann aber wieder als Matrixfunktion mit Strg + Shift + Enter abschließen.

Datenbank8

7. DBMITTELWERT

Es soll im Beispiel der Mittelwert der Rendite der Apfelbäume mit einer Höhe über 3,00 m errechnet werden. Richtigerweise greift die Funktion auf die Renditewerte der Datensätze in den Zeilen 9, 12 und 14 zu. Der Mittelwert ist 10.
Als Alternativfunktion kann hier eine Kombination aus MITTELWERT und WENN genutzt werden, die Formel muss allerdings auch wieder als Matrixformel mit Strg + Shift + Enter abgeschlossen werden. Erwartungsgemäß ist das Ergebnis 10.

Datenbank9

In einer zweiten Abfrage willst Du den Mittelwert des Alters aller Bäume in der Datenbank als Ergebnis erhalten.
Hierzu zeige ich Dir zwei Varianten der Funktion DBMITTELWERT. In der ersten Variante wird das Datenfeld mit „3“ bezeichnet, denn die Spalte „Alter“ ist das dritte Datenfeld in der Datenbank. Die zweite Variante benutzt das Wort „Alter“ als Bezeichnung. Beide Varianten liefern das Ergebnis 13.
Alternativ verwendest Du die klassische Mittelwertformel von Excel: =MITTELWERT(C9:C14) und erhältst auch 13 als Ergebnis.

Datenbank10

8. Funktion DBSTDABW

Jetzt klingt es kompliziert. Du hast die Aufgabe, die geschätzte Standardabweichung des Gewinns der Apfel- und Birnbäume abzufragen, wenn die in der Datenbank enthaltenen Daten nur eine Stichprobe des Gesamtbestands der Obstplantage darstellen. Das ist Statistik, was Dich hoffentlich nicht abschreckt.

Mit der DB-Funktion gibt es kein Problem, es stört nicht, dass in E14 kein Wert steht.

Mit der Alternativformel aber schon. Du hast eine Kombination aus STABW und WENN gewählt und das Ganze noch als Matrixformel verpackt. Definierst Du nun Datenbank, Datenbankfeld und Suchkriterium jeweils bis zur Zeile 14, erhältst Du als Ergebnis 41,445, DBSTDABW hat aber 14,689 ausgerechnet.

Die Ursache liegt im fehlenden Eintrag in E14. STABW wertet ein „nichts“ als 0 und rechnet damit, DBSTDABW tut dies nicht.

Trage zur Probe mal in E14 eine 0 ein, als Ergebnis liefert DBSTDABW jetzt auch 41,445.

Zur Abhilfe musst Du die Bereiche Datenbank, Datenbankfeld und Suchkriterium jeweils bis zur Zeile 13 definieren. Nun erhältst Du als Ergebnis auch 14,689.

Datenbank11

9. Funktion DBSTDABWN

Die vorangegangene Funktion DBSTDABW ging von einer Stichprobe aus. Diese Funktion ermittelt die Standardabweichung des Gewinns der Apfel- und Birnbäume, wenn die in der Datenbank enthaltenen Daten den Gesamtbestand der Obstplantage darstellen.

Das Problem bei der Alternativformel ist hier gleichgeartet, die Auswahl kann nur bis Zeile 13 erfolgen, da E14 keinen Wert enthält.

Datenbank12

10. Funktion DBVARIANZ

Mit dieser Funktion willst Du die geschätzte Varianz des Gewinns der Apfel- und Birnbäume errechnen, wenn die in der Datenbank enthaltenen Daten nur eine Stichprobe des Gesamtbestands der Obstplantage darstellen. Der Fall liegt also so wie bei DBSTDABW.

Die Alternativfunktion darf auch bei der VARIANZ nur die Bereiche bis Zeile 13 berücksichtigen.

Datenbank13

11. Funktion DBVARIANZEN

Die Funktion DBVARIANZ ging wiederum nur von einer Stichprobe aus. Hier wird die Varianz des Gewinns der Apfel- und Birnbäume errechnet, wenn die in der Datenbank enthaltenen Daten den Gesamtbestand der Obstplantage darstellen.

Die alternative Funktion VARIANZEN funktioniert wieder nur, wenn die Auswahlen bis Zeile 13 getroffen werden.

Datenbank14

12. Funktion DBAUSZUG

Diese Funktion gibt einen einzelnen Wert aus einer Liste bzw. Datenbank zurück, der den von Ihnen angegebenen Bedingungen entspricht.

Gesucht wird im Beispiel ein Datensatz, der einen Gewinn ausweist. Da aber mehr als ein Datensatz diese Bedingung erfüllt, gibt sie den Fehlerwert #ZAHL! zurück.

Lösche einmal die Inhalte der Zellen E10:E13, dann bleibt nur E9 übrig. E9 enthält den Wert 105 und genau das ist dann das Ergebnis der Berechnung mit DBAUSZUG.

Eine genau entsprechende Alternativfunktion habe ich nicht gefunden. Gesucht wird ein Wert, der der Bedingung entspricht, also einen Gewinn ausweist. Das habe ich mit der Formel

{=WENN(E9:E14<>““;ZEILE(E9:E14))}

erreicht. Zeile 9 weist einen Gewinn aus.

Eine weitere Formel ist anwendbar. Sie zeigt die Zeile an, in der in der Gewinnspalte der erste Wert <>““ (ungleich nichts) steht, also ein Gewinn.

{=MIN(WENN(E9:E14<>““;ZEILE(E9:E14)))}

Datenbank16

Zusammenfassung

Hat es sich nun gelohnt, den Versuch zu starten, die Datenbankfunktionen durch andere Excel-Funktionen oder eine Funktionskombination zu ersetzen?

Du wirst mir sicher zustimmen, es hat sich nicht gelohnt, weil

– ich zum Teil umständliche Konstruktionen anwenden musste, um aufs Wunschergebnis zu kommen
– ich zum Teil Matrixformeln erstellen musste
– ich zum Teil die Bereiche für Datenbank, Datenfeld und Suchkriterium einschränken musste, da Werte fehlten
Nicht getestet habe ich, wie sich die Alternativfunktionen bei sehr umfänglichen Datenbanken (2000 und mehr Datensätze) verhalten.

Die DB-Funktionen zeichnen sich schon dadurch aus, dass die Argumente in allen Funktionen gleichartig sind: Datenbank, Datenfeld, Suchkriterium

Daher schließe ich mit der Empfehlung ab, die Datenbankfunktionen zu nutzen, wann immer es sich anbietet.

Und hier noch die Beispieldatei zum Downloaden:  DB-Funktionen ersetzen

Advertisements

2 Kommentare zu „Welche Alternativen es zu den Datenbankfunktionen gibt“

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s