Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Excel-Formel gesucht! Wer kennt sich - richtig gut (!) - aus und kann mir weiterhelfen?
Hallo Leute, ich habe da ein kleines Problem und hoffe dass mir einer von euch weiterhelfen kann. Ich muss eine Excel-Tabelle mit massig Datensätzen auswerten und weiß nicht wie ich die entsprechende Formel erstelle. Folgende Tabelle reicht für dieses Beispiel aus (die eigentliche Tabelle umfasst mehrere tausende Zeilen, deshalb wäre es super wenn ihr eine Lösung für mein Problem hättet das auch -damit- funtioniert ;-)):
- A B C
1 Name Geburtsdatum Anrede
2 Müller 20.02.1985 Herr
3 Huber 13.04.1987 Frau
4 Meier 12.01.1964 Frau
5 Steiner 29.12.1992 Herr
6 Berger 01.01.1950 Frau
7 Gruber 31.01.1972 Herr
8 Edamer 05.06.1948 Herr
9 Emmentaler 24.10.1980 Herr
10 Gorgonzola 26.11.1971 Frau
Spalten A und C sind als Text, Spalte B als Datum formatiert.
So, und nun möchte ich in irgendeine Zelle - nehmen wir einfach mal E3, ist ja auch egal - eine Formel schreiben die mir folgende Information liefert:
>>> Das Durchschnittsalter aller männlichen Personen. <<<
... das war's dann auch schon :-). Mir helfen keine Makros oder Skripte, etc. weiter - ich bin mir sicher dass ich diese Information mit einer ganz normalen Formel erhalten kann, mir ist nur nicht klar "wie". Ich habe bereits Stunden mit recherchieren im Web verbracht und ich bin auch nicht wirklich unerfahren im Umgang mit Excel, darum bitte ich nur um Antwort wenn ihr euch auch wirklich auskennt, dies ist definitiv keine Frage für jedermann.
Ich arbeite noch mit Excel 2003, also diese neuen Funktionen die ab Office 2007 eingeführt wurden helfen mir leider auch nicht weiter.
Wäre super wenn mir jemand die passende Formel bereitstellen würde. Mein tiefster Dank und natürlich die "beste Antwort" seien dir gewiss!
Danke und viele liebe Grüße!
Chris
@Mr.X:
Du hast wohl folgenden Teil überlesen: "... darum bitte ich nur um Antwort wenn ihr euch auch wirklich auskennt, dies ist definitiv keine Frage für jedermann." ~ Tut mir leid, aber mehr fällt mir zu deiner Antwort nicht ein und wenn du mein Problem verstanden hättest wüsstest du auch dass deine Antwort kein bißchen hilfreich/sinnvoll ist :-(
OK Leute, danke für eure Hilfe aber leider ist mein Problem immer noch nicht gelöst. Erstens kann ich keine Zwischentabellen oder sowas machen oder neue Spalten anlegen, das ist leider einfach so. Zweitens, und das ist das Hauptproblem, habt ihr vergessen die Information aus Spalte C mit in die Formel einfliessen zu lassen. Ich möchte dass das Durchschnittsalter aller MÄNNLICHEN Personen herausfinden. Ich weiß dass das mit -einer- Formel in -einer- Zelle möglich ist ... ohne Zwischentabellen oder whatever. Ab Office 2007 nicht mehr ganz so stressig, aber ich habe keine Ahnung wie ich das in Excel 2003 hinkriege. Trotzdem schonmal danke für eure Hilfe, vielleicht kommt ja noch wer der mir helfen kann *lieb*guck* :-)
@Quasimodos Klon:
Damit hast auch du mir keinen Meter weitergeholfen - natürlich ist Excel nicht die beste Wahl und natürlich würde ich das anders machen ... aber ich habe die Rahmenbedingungen nicht vorgegeben und die Situation ist nunmal so wie oben beschrieben. Wenn du die Formel hinkriegst wäre es nett wenn du sie mir mitteilst, ansonsten ist dein Beitrag wohl eher für die Katz' gewesen ...
@ NaturalBornKieler:
Leider habe ich genau das mit "keine Zwischentabellen" gemeint. Eine Formel, eine Zelle ... nicht mehr und nicht weniger. Ich weiß dass es geht, ich weiß nur nicht wie ...
@reGnau:
Du hast offensichtlich so gut wie keinen Schimmer von Excel, wie kommst du auf die wirre Idee dass du mir hier helfen könntest?
@Ralf E:
Nennt sie wie ihr wollt: "Zwischentabellen", "Hilfsspalten", etc. ... sie sind und bleiben in diesem Falle nicht erlaubt.
@DrumSails:
Na super, schon lange keine Lösung mit Hilfsspalten mehr gesehen .....
OK Leute, hier scheint wohl keiner eine Ahnung davon zu haben ... mir wurde mittlerweile auf einer anderen Seite geholfen und fairerweise möchte ich nun die Lösung mit euch teilen. Die Lösung ist eine simple Matrixformel, und diese sieht wie folgt aus:
{=SUMME(WENN(C2:C10="herr";DATEDIF(B2:B10;HEUTE();"y");""))/ZÄHLENWENN(C2:C10;"herr")}
Credits dafür gehen an "Heinz Ulm" von clever-forum.de
cheers! /criz
Sry, muss die Formel auf mehrere Zeilen verteilen:
{=SUMME(WENN(C2:C10="herr";
DATEDIF(B2:B10;HEUTE();"y");""))
/ZÄHLENWENN(C2:C10;"herr")}
@Paiwan:
Schön dass du dich hier etwa eine Woche nachdem ich bereits die Lösung zu meinem Problem gepostet hatte auch noch zu Wort meldest. Auch du hättest mir mit deiner Antwort keinen Meter weitergeholfen und hättest sie dir demnach ebenfalls sparen können ~ die Situation hast du ebenfalls nicht verstanden. Diese Tabelle ist nicht von mir, ich muss sie nur verarbeiten. Ich würde so etwas in der Regel auch lieber in Access lösen, aber diese Möglichkeit besteht hier nicht: Unglaublich, akzeptiere es halt einfach. Die "beste Antwort" abzustauben - was hinsichtlich der Informationsleere deines Beitrags offensichtlich deine Absicht war - kannste auch knicken ... ich werde nochmal kurz darüber meditieren welche von all diesen furchtbaren Lösungen noch am ehesten eine Schulnote 5- verdient hätte und der bekommt dann die beste Antwort. Du wirst es nicht sein ...
8 Antworten
- Ralf E <><Lv 7vor 1 JahrzehntBeste Antwort
Du brauchst eine Hilfsspalte wo du je Person das Alter errechnen lässt:
Dies kannst du mit der (undokumentierten) Funktion "datedif" machen:
http://excelwelt.de/UhrDatum/datedif.html
Also in Spalte D: =datedif(B2;heute();"Y") und runterziehen.
Dann kannst du mit der Funktion summewenn die Summe aller Männer bilden, und mit zählenwenn kannst du die Anzahl der Männer zählen. Division ergibt den Mittelwert:
=(summewenn(C2:1234; "Herr"; D2:D1234)) / (zählenwenn(C2:C1234; "Herr"))
Und statt "1234" muss natürlich die Gesamtzahl deiner Zeilen rein.
---Nachtrag:
Super! Da bringt man eine Lösung, und bekommt hinterher an den Kopf geknallt dass Hilfsspalten nicht erlaubt sind. Das hättest du in deine Aufgabenstellung mit reinschreiben können! Ich finds mit Hilfsspalte (die man ja auch ausblenden kann) wesentlich übersichtlicher.
- PaiwanLv 6vor 1 Jahrzehnt
Deine Ansprüche an die Community sind ja besonders hoch gewesen und du hast ja mit Kritik an Antworten auch nicht gespart. Ein Forum, das für Fragen rund um Office besonders gut ist, empfehle ich die hier einmal:
Dann noch mal eine kritische aber hoffentlich konstruktive Antwort speziell zu deinem Problem.
Mir persönlich ist es immer wieder schleierhaft, warum Anwender typische Datenbankanwendungen in Excel versuchen. Excel ist optimiert als Tabellenkalkulation und ein Versuch, eine Datenbank in Excel zu realisieren funktioniert zwar, aber sobald es darum geht, Auswertungen zu machen oder die Datenbank zu pflegen, gibt es Probleme mit der Redundanz von Datensätzen, denn diese Redundanzen sind in Excel immer vorhanden.
Man versucht doch auch nicht, einen Acker mit einem Teelöffel umzugraben, sondern greift auf die geeigneten Tools zurück. Der Vorteil einer relationalen Datenbank ist, dass sich solche Probleme, wie du sie hattest, schnell und komfortabel lösen lassen.
- vor 1 Jahrzehnt
Offensichtlich haben die anderen Antworter (auÃer Quasimodo) nicht mitgekriegt, dass du nur das Durchschnittsalter der männlichen Personen berechnen willst, nicht aller Personen. Aber mit Excel kriegt man das hin.
Ich hab grad kein Excel auf meinem Rechner zu Hause, aber ich denke, mit ein paar Zwischenschritten ist das etwa so zu machen:
Du schreibst in die Spalte D eine Formel, die das Alter der Person errechnet, wenn diese Person ein Mann ist. Also zum Beispiel in Zelle D2: =Wenn(C2="Herr";(Heute()-B2)/365.25;0)
Bei der "Heute()"-Funktion bin ich mir nicht ganz sicher, du brauchst jedenfalls eine Funktion, die das Tagesdatum liefert.
Diese Formel kopierst du dann in alle Zellen der Spalte D. Damit steht in dieser Spalte dann jeweils das Alter der Person, wenn es ein Mann ist, bei Frauen eine Null.
Nun weià ich wieder nicht so genau, ich meine, es gibt eine Mittelwertfunktion, bei der du einstellen kannst, dass die Nullen nicht mit berücksichtigt werden.
Falls es die nicht gibt, kannst du auch so vorgehen: Schreib in die Zelle E2 folgende Formel:
=Wenn(C2="Herr";1;0)
Nun bildest du unter Spalte D die Summe aller Zellen der Spalte D, und unter E die Summe aller Zellen der Spalte E. Und diese beiden Summen teilst du durch einander, das Ergebnis ist der gesuchte Mittelwert.
Schönen Abend noch.
- Quasimodos KlonLv 6vor 1 Jahrzehnt
Mit Excel machst Du Dir das Leben schwer. Zur Mittelwert-Funktion benötigst Du noch die Wenn-Funktion, um das Alter bei Frauen zu nullen, wobei dann Mittelwert wieder nicht funktioniert. Du müÃtest also erst alle männlichen zählen und mit der errechneten Anzahl eine eigene Mittelwertberechnung durchführen. Viel einfacher geht sowas mit Datenbankabfragen, und wenn's nur eine Accessdatenbank ist. Da hieÃe die Abfrage (je nach Datenbanksystem in etwa):
select avg(now() - Geburtsdatum) from Personen where Anrede = 'Herr';
Es ist auch möglich, Datenbankinhalte nach Excel zu übertragen.
- Wie finden Sie die Antworten? Melden Sie sich an, um über die Antwort abzustimmen.
- Anonymvor 1 Jahrzehnt
Mein erster Gedanke wäre, dass du zunächst das Alter in jeder Zeile ausrechnen musst (wie Rechnen und Formeln mit Datumsfeldern funktionieren, steht in der Excel-Hilfe), das Alter würde ich dann in der Spalte D anzeigen (Tagesdatum - Geburtsdatum, entspr. als 'Jahre' formatiert)
Dann kannst du den Durchschnitt einfach in einer einzelnen Zelle ausweisen: Summe aller Alter/Anzahl der Zeilen). Die Anzahl der Zeilen kannst du per Funktion @COUNTA(Bereich) - ich kenne nur die englischen Befehle - automatisch ermitteln.
Wenn sich die Anzahl der Zeilen ändert, fährst du auf jeden Fall mit einem kleinen Makro besser; man kann es so programmieren, dass der Cursor per 'END+F8 automatisch die jeweilige letzte Zeile findet und so immer korrekte Werte liefert.
- Mike MLv 7vor 1 Jahrzehnt
Also die Tabelle enthält "mehrere tausend Datensätze".
Alle "Datumse" stehen in Spalte B und fangen bei Zelle B1 an.
dann gibst du in der Zelle in der du das Durchschnittsalter sehen willst
=+(HEUTE()-MITTELWERT(B1:Bn))/365
ein, wobei Bn die letzte Zelle mit Datum ist, also z.B. B2560 bei 2560 Zeilen.
So das wars, nix Makro oder Script, nix Office 2007, wo sind meine Punkte :-)
Ach ja evtl. musst du die Formel noch etwas modifizieren, indem du alles rundest:
=+RUNDEN((HEUTE()-MITTELWERT(B1:Bn))/365;1)
- vor 1 Jahrzehnt
Ãhm... Durchschnitt errechnen... ganz normal. Tage: a+b+(n) und das ganze durch die Anzahl der Posten, also bei drei Namen durch 3 Teilen. So auch in den Jahren.
=(A2+A3+A4+A5+A6+A7+A8+A9+A10)/10
da haste den Tag. Und mit den Monaten und Jahren genauso
- reGnauLv 7vor 1 Jahrzehnt
Also ich kann nicht wirklich gut mit Excel umgehen und ich weiss auch nicht, ob das mit dem Excelprogramm 2003 wirklich geht, aber ich würde an deiner Stelle vier Spalten machen.
Eine Spalte in der Du den Namen eingibst, eine Spalte in der Du das Geburtsdatum eingibst und eine Spalte mit der Anrede Herr oder Frau hast Du ja schon...in der vierten Spalte würde ich dann alle Männer mit einem X versehen, und alle Frauen mit einem Y versehen, um die Unterschiede zu kennzeichnen. Dann hast Du ja dort bloss das Geburtsdatum angegeben. Das kann sein, dass Du damit etwas Schwierigkeiten bekommen kannst, weil der kann zwar alles zusammenrechnen, was einmal untereinander steht, aber bei einem Geburtsdatum würde der dann eigentlich auch ein weiteres dazu rechnen... ABER... nee...darf er ja eigentlich nicht, weil das Teil der Tabelle als Datum formatiert wird...
Dann würde ich versuchen, mit dem Summenzeichen welches normalerweise irgendwo oben drin steht zu arbeiten, und zwar so:
Summe (leider kann ich hier das Summenzeichen nicht eingeben, deswegen muss das so gehen, aber das ist ein auf die Seite gekipptes M, falls Du weisst, was ich meine...) Dann wird normalerweise in der Eingabezeile dieses Zeichen erscheinen, dann die Spalte mit den X oder Y markieren und normalerweise musst Du dann glaube ich auf die einzelnen anderen Felder jeweils einen Verweis vorher schon geschrieben haben, der irgendwie die beiden Felder Geburtsdatum und Kennzeichnung ob Männlich oder Weiblich kennzeichnet. Du fasst also alle diese Felder in der Eingabezeile zusammen und normalerweise sollte das dann eigentlich gehen... (glaub ich jedenfalls, aber wie gesagt, ich bin mir etwas unsicher darüber... denn das arbeiten mit Excel ist mir, wenn ich ehrlich sein soll eher ein bisschen zu kompliziert. Ich mags jedenfalls nicht wirklich...)