Das grosse Archiv mit 637
VBA-freien Formellösungen und Tips
 
   
 
 ÜBER UNS   NEWS   FORMELN   TIPPS   KONTAKT   FORUM   LINKS 
   
 
Sonstige (7) ->

Eine Formel als Kriterium in Datenbankfunktionen benutzen
 
 
Aufgabe
Datenbankfunktionen können Formeln im Kriterienbereich auswerten.
Dadurch kann man den Kriterienbereich vereinfachen.

       A               B               C               D               E               F               G               H               I       
1 datum  Name  betrag  Monat    Monat  Name    Formel  
2 01.01.02  Jens  19    3  WF    FALSCH  
3 28.02.02  Jens  78    3  Jens     
4 17.03.01  WF  24    4  WF     
5 02.03.02  Klaus  88    4  Jens     
6 22.05.02  Klaus  23           
7 30.04.02  WF  54           
8 04.07.02  Jens  53    Summe  222  Summe  222  
9 05.03.99  WF  96           
10 01.09.02  Klaus  20           
11 24.12.98  Jens  38  12           
12 03.11.04  Klaus  82  11           
13 04.04.97  Jens  48           
14 12.03.00  Klaus  58           
15 06.09.02  WF  74           

Lösung
Eine Liste besteht aus den drei Spalten

Datum; Name;Betrag
und der Hilffspalte Monat.

Beispielsweise sollen alle Beträge summiert werden, die aus dem Monat März oder April
und von WF oder Jens stammen.

Der herkömmliche Kriterienbereich steht in F1:G5, die Lösung in
G8:=DBSUMME(A:D;C1;F1:G5)

Bei der Lösung mit Formel wird als Kriterienbereich nur I1:I2 benötigt.
Die Hilfsspalte Monat ist überflüssig !!!

In I2 steht =UND(ODER(MONAT(A2)=3;MONAT(A2)=4);ODER(B2="Jens";B2="WF")) (ergibt hier FALSCH)

Das Ergebnis lautet =DBSUMME(A:C;C1;I1:I2)


Dadurch werden die DB-Funktionen flexibler, hier noch ein Beispiel:

Gezählt werden soll die Anzahl unterschiedlicher Namen in Spalte B (bis Zeile 65536).

Schreibe in I2
=ZÄHLENWENN(B$2:B2;B2)=1

und in I8
=DBANZAHL2(A:C;B1;I1:I2)

und Du erhälst 3.

Die vergleichbare Array-Formel wäre
{=SUMME(WENN(B2:B65536<>"";1/ZÄHLENWENN(B2:B65536;B2:B65536)))}

Die DB-Funktion ist schneller als die Array-Formel



Erläuterung
WF:
Ist OK, aber ich mag diese DB-Dinger nicht !
Vielleicht auch deshalb: Anscheinend wird mit Excel-2007 Unsinn errechnet. Die anderen Versionen sollen korrekt rechnen (info Jan 12).
 
    zurück


 
powered by telltarget