Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Editieren

(./) OOo2.0

Mit den Funktionen DBMIN(), DBMAX(), DBMITTELWERT(), DBAUSZUG() greift man gezielt auf einzelne Spaltenwerte zu.


1. Grenzwerte finden, Bezüge herstellen

DBMIN(), DBMAX() und DBMITTELWERT() tun das, was man vom Namen her erwarten darf: sie nennen den kleinsten, grössten oder durchschnittlichen Wert einer Spalte.

Der Funktionsname DBAUSZUG() lässt vielleicht vermuten, dass man damit einen Filter setzen kann, der dann evtl. mehrere Datensätze als Ergebnis liefert. Das ist so nicht richtig. Eine DB-Funktion ist keine Matrix-Funktion, sie liefert immer nur genau einen Wert in genau eine Ergebniszelle.
Der Zweck von DBAUSZUG() ist der: es wird ein Datensatz gesucht, der den Bedingungen des Filterkriterienbereichs entspricht. Zurückgegeben wird der Inhalt einer wählbaren Spalte des gefundenen Datensatzes. Und genau hier liegt das Dilemma dieser Funktion: wenn mehrere Datensätze den Suchkriterien entsprechen, kann kein eindeutiger Bezug hergestellt werden. Angenommen, man sucht in einer Adresstabelle nach einem Geburtsdatum und möchte den zugehörigen Personennamen anzeigen. Wenn nun mehrere Personen am gleichen Tag Geburtstag haben, läuft das auf eine Fehlermeldung hinaus.

DBAUSZUG() kennt zwei Fehlersituationen und liefert dafür unterschiedliche Rückgabewerte: Wenn der Suchwert nicht gefunden wird, wird als Ergebnis #WERT angezeigt, das entspricht dem Fehlercode 519. Gibt es zu den Suchkriterien mehrere Ergebnisse, so lautet der Rückgabewert Err.502. Bei Bedarf kann man den genauen Fehlercode mit der Funktion FEHLERTYP() abfragen und in eine WENN()-Formel einbauen.

Warum hier die Funktionen DBMIN(), DBMAX(), DBAUSZUG() im gleichen Kapitel zusammengefasst sind, hat einen einfachen Grund: es geht darum, zu zeigen, wie man zuerst das Minimum oder Maximum einer Spalte ermittelt (im Beispiel ist das die Preisspalte) und dann zu dem gefundenen Minimum/Maximum den Inhalt einer anderen Zelle (im Beispiel den Artikeltext) liefert. Das macht so nur Sinn, wenn jeder Preis nur einmal vorkommt (siehe vorigen Absatz). Wenn diese Voraussetzung nicht gegeben ist, muss man wohl eher auf Filter zurückgreifen. Für den speziellen Fall, dass es genügt, bei mehreren Fund-Datensätzen den Artikeltext des ersten gefundenen Artikels zu nennen, wird weiter unten ein Lösungsansatz genannt.

1.1. Den grössten, kleinsten und mittleren Wert einer Spalte ermitteln

A

B

C

D

1

Marke

Modell

Zollmass

Preis

2

Sony

Sony SDM-S95AR, Monitor 19", Schwarz

19

479.00

3

Sony

Sony SDM-S95AR, Monitor 19", Silber

19

528.00

4

Samtron

Samtron 94V, 19 Zoll, silber

19

380.00

5

BenQ

BenQ FP93GX, 19 Zoll Monitor, 2ms

19

556.00

6

BenQ

BenQ FP91G+, 19 Zoll, 8ms

19

397.00

7

Eizo

Eizo S1910-AS, 19 Zoll LCD, Grau

19

790.00

8

Viewsonic

Viewsonic VX924, 19" LCD, 3ms, Testsieger!

19

539.00

9

HP

HP L1940 19 Zoll LCD, Carbon Silber, Pivot, DVI

19

630.00

10

HP

HP L1955 19 Zoll LCD, Silber, Pivot, DVI

19

575.00

11

12

Was kostet das teuerste Gerät von Sony?

13

Marke

Modell

Zollmass

Preis

14

Sony

15

528.00

=DBMAX($A$1:$D$10;"Preis";A13:D14)

16

17

Was kostet das billigste 19"-Gerät?

18

Marke

Modell

Zollmass

Preis

19

19

20

380.00

=DBMIN($A$1:$D$10;"Preis";A18:D19)

21

Welches sind die Durchschnittspreise der verschiedenen Marken?

22

Marke

Marke

Marke

23

Sony

BenQ

HP

24

503.50

476.50

602.50

25

=DBMITTELWERT($A$1:$D$10; "Preis";A23:A24)

=DBMITTELWERT($A$1:$D$10; "Preis";B23:B24)

=DBMITTELWERT($A$1:$D$10; "Preis";C23:C24)

1.2. Zum kleinsten Wert einer Spalte den zugehörigen Namen ausgeben

Im folgenden Beispiel wird mit zwei Kriterienbereichen gearbeitet. Der Bereich A13:A14 dient der Funktion DBMIN() in Zelle B14 dazu, den günstigsten Preis zu finden. B14 ist aber gleichzeitig das Kriterium für die Funktion DBAUSZUG() in Zelle A15.

A

B

C

D

1

Marke

Modell

Zollmass

Preis

2

Sony

Sony SDM-S95AR, Monitor 19", Schwarz

19

479.00

3

Sony

Sony SDM-S95AR, Monitor 19", Silber

19

528.00

4

Samtron

Samtron 94V, 19 Zoll, silber

19

380.00

5

BenQ

BenQ FP93GX, 19 Zoll Monitor, 2ms

19

556.00

6

BenQ

BenQ FP91G+, 19 Zoll, 8ms

19

397.00

7

Eizo

Eizo S1910-AS, 19 Zoll LCD, Grau

19

790.00

8

Viewsonic

Viewsonic VX924, 19" LCD, 3ms, Testsieger!

19

539.00

9

HP

HP L1940 19 Zoll LCD, Carbon Silber, Pivot, DVI

19

630.00

10

HP

HP L1955 19 Zoll LCD, Silber, Pivot, DVI

19

575.00

11

12

Welches ist das günstigste Modell?

13

Zollmass

Preis

14

19

380.00

=DBMIN($A$1:$D$10;"Preis";A13:A14)

15

Samtron 94V, 19 Zoll, silber

=DBAUSZUG($A$1:$D$10;"Modell";B13:B14)

1.2.1. DBAUSZUG bei nicht eindeutigen Kriterien

Wie weiter oben beschrieben, liefert DBAUSZUG() nur dann ein Ergebnis, wenn die Suchkriterien genau einen Datensatz identifizieren. Wenn mehrere Datensätze zu den Suchkriterien passen, es aber genügt, den ersten oder letzten dieser Datensätze zu bestimmen, kann man sich mit einem kleinen Trick behelfen.

Im folgenden Beispiel gibt es zwei Artikel mit gleichem Preis. In die Datentabelle wurde eine Hilfsspalte eingefügt mit folgender Formel:
=D2+ZEILE()/1000
Damit wird der Preis um eine Nachkommastelle erweitert, die ihn wieder eindeutig macht. DBMAX() bezieht sich nun nicht auf die Spalte Preis, sondern auf Preis2 und liefert der Funktion DBAUSZUG() damit wieder einen eindeutigen Wert.

A

B

C

D

E

1

Marke

Modell

Zollmass

Preis

Preis2

2

Sony

Sony SDM-S95AR, Monitor 19", Schwarz

19

479.00

479.002

3

Sony

Sony SDM-S95AR, Monitor 19", Silber

19

528.00

528,003

4

Samtron

Samtron 94V, 19 Zoll, silber

19

380.00

380.004

5

BenQ

BenQ FP93GX, 19 Zoll Monitor, 2ms

19

556.00

556.005

6

BenQ

BenQ FP91G+, 19 Zoll, 8ms

19

397.00

397.006

7

Eizo

Eizo S1910-AS, 19 Zoll LCD, Grau

19

790.00

790.007

8

Viewsonic

Viewsonic VX924, 19" LCD, 3ms, Testsieger!

19

539.00

539.008

9

HP

HP L1940 19 Zoll LCD, Carbon Silber, Pivot, DVI

19

630.00

630.009

10

HP

HP L1955 19 Zoll LCD, Silber, Pivot, DVI

19

790.00

790.010

11

12

Welches ist das ungünstigste Modell?

13

Zollmass

Preis

14

19

790,010

=DBMAX($A$1:$E$10;"Preis2";A13:A14)

15

HP L1955 19 Zoll LCD, Silber, Pivot, DVI

=DBAUSZUG($A$1:$E$10;"Modell";B13:B14)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28