tradelingua
Goto Top

Datenanalyse via Excel

Sortieren von Datenbankinformationen

Hallo allerseits,

vielleicht könnt ihr mir helfen mit meinem Vorhaben.

Ich habe eine Vereinsmitgliederliste in Excel und würde gerne einige Statistiken anhand der vorhandenen Daten automatisch ausgeben.

- Alterstruktur: Wieviele Mitglieder zwischen 0 und 30 Jahre, 30 und 40, 40 und 50, 50 und 60, 60 und älter

- Ich würde dann gerne eine Statistik der Berufsgruppen ausgeben.

Wohl gemerkt meine Liste enthält u. a. die Spalten "Geburtsdatum" und "Berufskategorie"


Danke im voraus für die Unterstützung.


Gruß
Kader

Content-ID: 23545

Url: https://administrator.de/forum/datenanalyse-via-excel-23545.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

8644
8644 06.06.2007 um 15:36:13 Uhr
Goto Top
Hi,

wie soll denn die Ausgabe aussehen?
Für das Zusammenfassen solltest du dir mal die Funktion ZÄHLENWENN anschauen.

Ansonsten gib mal nähere Info's zur Tabellenstuktur.

Psycho
tradelingua
tradelingua 06.06.2007 um 16:15:16 Uhr
Goto Top
wie gesagt, die Spalte enthält eine liste von verschiedenen Geburtsdaten und diese muss so ausgewertet werden, daß als Ergebnis zum Beispiel folgende Tabelle rauskommt:

von 0 bis 30 Jahre = 2
von 31 bis 40 Jahre = 6
von 40 bis 50 Jahre = 23
von 50 bis 60 Jahre = 34
von 60 Jahre und älter = 22

danke im voraus.

Gruß
Kader
8644
8644 06.06.2007 um 17:58:51 Uhr
Goto Top
Hi,

probiers mal so:
=ZÄHLENWENN(A1:A50;">0")-ZÄHLENWENN(A1:A50;">30")  

=ZÄHLENWENN(A1:A50;">31")-ZÄHLENWENN(A1:A50;">40")  

...

Den Zellbereich musst du natürlich noch anpassen!

Psycho
bastla
bastla 06.06.2007 um 18:54:33 Uhr
Goto Top
Hallo tradelingua!

Um genau Deine gewünschte Ausgabe (nur mit Tabellenformeln / -funktionen, also ohne VBA) zu erhalten, würde ich folgende Vorgangsweise wählen:
AB
610="von " & A61 & WENN(A62<>"";" bis " & A62-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A61)
6231="von " & A62 & WENN(A63<>"";" bis " & A63-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A62)
6341="von " & A63 & WENN(A64<>"";" bis " & A64-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A63)
6451="von " & A64 & WENN(A65<>"";" bis " & A65-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A64)
6561="von " & A65 & WENN(A66<>"";" bis " & A66-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A65)
  • Für die Altersuntergrenzen (A61:A65) den Bereichsnamen "Altersstufen" vergeben.
  • In einer Spalte neben den Daten der Vereinsmitglieder folgende Formel eingeben und nach unten kopieren:
=SVERWEIS((Stichtag-GebDat)/365,25;Altersstufen;1)
  • Den so berechneten Alters(stufen)werten den Bereichsnamen "Alter" geben.
  • Auf Wunsch noch den Zellen im Bereich "Altersstufen" das Zahlenformat ";;;" zuweisen, um deren Anzeige zu verhindern und die Spalte mit der Altersstufenberechnung ausblenden.

Zur Erklärung:
  • Vorweg: Die Verwendung von Namen macht die Formeln lesbarer, ist aber natürlich nicht unbedingt erforderlich.
  • Durch das Festlegen einer Stichtagszelle kann die Auswertung sehr leicht für ein beliebiges Datum durchgeführt werden - einfach anstelle von =HEUTE() einen Datumswert eintragen.
  • Wenn die Altersstufen zunächst in einem eigenen Bereich festgelegt werden, ist die Aufteilung auch nachträglich leicht anzupassen (einfach entsprechende Spalten einfügen, zB zwischen 0 und 31 auch noch 21, etc) - Achtung: Wenn eine weitere Stufe am Ende dazukommen soll (zB 71, die Zeit bleibt ja nicht stehen face-wink), muss der Bereichsname über "Einfügen / Namen / Definieren..." erweitert werden, damit auch diese Stufe enthalten ist.
  • Die Berechnung des Alters (bzw gleich die Einordnung anhand der Stufen) in einer eigenen Spalte macht die weitere Vorgangsweise etwas einfacher - Alternative wäre hier eine Array-Formel, welche allerdings dann jeweil Unter- und Obergrenze des Intervalls berücksichtigen müsste.
  • Da seit mehr als 100 Jahren jedes 4. Jahr ein Schaltjahr war, kann das Alter in Jahren näherungsweise auf Basis von 365,25 Tagen pro Jahr aus dem Alter in Tagen ermittelt werden.
  • Die Verwendung von SVERWEIS() sorgt dafür, dass das ermittelte Alter gleich in einen Altersstufenwert umgewandelt wird (es wird aus der Altersstufentabelle der letzte Wert, der kleiner oder gleich dem Alter ist, herausgesucht).
  • Die Ermittlung der Häufigkeiten wird dann, wie schon von Psycho Dad vorgeschlagen, mit "ZÄHLENWENN()" vorgenommen.
  • Die Formatierung der Ausgabe durch Textverkettungen fällt eher unter "Spielerei" ... face-wink

Grüße
bastla

[Edit] @psycho Dad: Wenn ich nicht manchmal so verspielt wäre, würde ich auch Deine Lösung nehmen ... face-wink [/Edit]
8644
8644 06.06.2007 um 19:06:52 Uhr
Goto Top
@bastla:

Ich bin begeistert! Die Erklärungen sind auch prächtig!
Was ich gemacht habe war nach dem Prinzip der maximalen Faulheit!

@tradelingua

Wenn es handfest sein soll, dann nimm bastla's Lösung!

Psycho
bastla
bastla 06.06.2007 um 19:11:50 Uhr
Goto Top
@psycho Dad

Danke für die Blumen. face-smile
Was Faulheit anlangt, stehe ich Dir vermutlich nicht nach, aber manchmal überkommt's mich einfach ...

Grüße
bastla
tradelingua
tradelingua 11.06.2007 um 09:45:47 Uhr
Goto Top
Hallo Psycho, hallo Bastla,

ich war einfach begeistert als ich heute morgen meine Mails zum Lesen aufmachte. Vielen Dank für eure Mühe, ich komme leider erst heute Nachmittag oder morgen dazu euer Vorschlag zu probieren. Ich melde mich auf jeden Fall...

Besten Dank nochmal

Tradelingua
tradelingua
tradelingua 11.06.2007 um 13:02:34 Uhr
Goto Top
Hallo Bastla,

die Auswertung funktioniert soweit bis auf die Anzeige (siehe unten). Der gewünschte Eintrag konnte ich mit deinem Vorschlag ";;;;" als Zahlenformat nicht unterdrücken. Excel gibt mir eine Fehlermeldung.


0 2388003451630 Jahre = 0
31 238803140 Jahre = 8
41 132144150 Jahre = 28
51 243605160 Jahre = 12
61 2436061 Jahre und älter = 52


Danke und Gruß
Kade
bastla
bastla 11.06.2007 um 13:39:35 Uhr
Goto Top
Hallo tradelingua!

Wenn Du nur 3 ";" verwendest, wird's klappen.

Hinsichtlich der Anzeige solltest Du einmal Deine Formel posten.

Grüße
bastla
tradelingua
tradelingua 11.06.2007 um 16:09:46 Uhr
Goto Top
das will ich haben
A b
0 0
31 8
41 28
51 12
61 52

anstatt

0 2388003451630 Jahre = 0
31 238803140 Jahre = 8
41 132144150 Jahre = 28
51 243605160 Jahre = 12
61 2436061 Jahre und älter = 52

die Formel:

"=Mitgliederliste!Y2 & A1 & WENN(A2<>"";Mitgliederliste!AB101 & A2-1 & " Jahre";" Jahre und älter") & " = " & ZÄHLENWENN(Alter;A1)"


Danke und Gruß
Tradelingua
bastla
bastla 11.06.2007 um 23:48:59 Uhr
Goto Top
Hallo tradelingua!

Du hattest doch die ganzen Zwischentexte (wie in "von 0 bis 30 Jahre = 2") ins Spiel gebracht. face-wink

Na dann eben nur (für B1):
=ZÄHLENWENN(Alter;A1)

Grüße
bastla
tradelingua
tradelingua 13.06.2007 um 14:36:29 Uhr
Goto Top
Hallo Bastla,

vielen Dank für deine Antwort. Du hast Recht. Jetzt passt es. Noch eine letzte Sache. Mit welcher Funktion kann ich eine Spalte Namens "Berufsgruppen" Gruppieren und gleichzeit die Anzahl der vorhandenen Berufen zählen.

Beispiel

Berufsgruppen (Spaltentitel)
Medizin
Medizin
Industrie
Landwirtschaft
Industrie
Medizin


Ergebnis sollte so aussehen

Berufsgruppen (Spaltentitel)
A
Medizin 3
Industrie 2
Landwirtschaft 1

Damit hättest du mir einen riesen Dienst erwiesen.

Danke und Gruß
Tradelingua
bastla
bastla 13.06.2007 um 17:46:29 Uhr
Goto Top
Hallo tradelingua!

Speziell für derartige Auswertungen gibt es "Pivot-Tabellen" (siehe Menü "Daten").

Vorgangsweise:
  • Alle Datenfelder inkl Spaltenüberschriften markieren
  • Alle Vorschläge des Assistenten übernehmen (bis auf ev die Platzierung in einer neuen Tabelle)
  • "Berufsgruppen" in den Bereich für "Zeilenfelder" (links) und in den Bereich für "Datenfelder" ziehen
  • Ergebnis verwenden face-wink

Ansonsten kannst Du natürlich auch dafür ZÄHLENWENN() einsetzen, wobei Du allerdings die Liste der Berufsgruppen selbst erstellen müsstest - zB mit "Spezialfilter":
  • Menü "Daten / Filter / Spezialfilter..." wählen
  • Option "An eine andere Stelle kopieren"
  • "Listenbereich:" auf die "Berufsgruppen"-Daten inkl Überschrift setzen
  • "Kriterienbereich:" leer lassen (= alle Einträge übernehmen)
  • Zielbereich der gefilterten Liste unter "Kopieren nach:" angeben (erste Zelle genügt)
  • "Keine Duplikate" wählen

Alle Menüangaben / Benennungen beziehen sich auf Excel 2003.

Grüße
bastla
tradelingua
tradelingua 15.06.2007 um 13:44:50 Uhr
Goto Top
Spitze, vielen Dank für deine Unterstützung und deine Geduld face-smile)

Alles Gute

Tradelingua