Wert in der Tabelle ermitteln und zählen
#1
Hallo ich habe eine Frage zur Auswertung einer Tabelle.

Leider habe ich nicht so viel Erfahrung mit Excel.

Mein Problem ich habe eine Tabelle in die ich Gewichte eintrage jede Woche. Nun möchte ich das immer die zuletzt in die Spalte eingetragenen Daten ausgewertet werden dazu nutze ich derzeit 

=ZÄHLENWENN(F3:F68;">=0")-ZÄHLENWENN(F3:F68;">181")
=ZÄHLENWENN(F3:F68;">=181")-ZÄHLENWENN(F3:F68;">250")
=ZÄHLENWENN(F3:F68;">=251")-ZÄHLENWENN(F3:F68;">300")
=ZÄHLENWENN(F3:F68;">=301")-ZÄHLENWENN(F3:F68;">400")
.........

und jede Woche nach Gewichteingabe ändere ich den Buchstaben der Spalte per Hand in allen Formeln.

=ZÄHLENWENN(G3:G68;">=0")-ZÄHLENWENN(G3:G68;">181")
=ZÄHLENWENN(G3:G68;">=181")-ZÄHLENWENN(G3:G68;">250")
.........




Nun meine Frage geht das mit Hilfe einer Erweiterung der Formel das immer die aktuellen werte genutzt werden.

Schon mal vielen Dank für alle die sich die Zeit nehmen mich zu unterstützen in meinem Problem.
Top
#2
Hallo
suchen / ersetzen löst das recht schnell.
Formeln markieren
Suche nach: F3:F68
Ersetzen durch: G3:G68

mit einer kleinen Erweiterung kannst du die Matrix der Formel leicht einstellen. 
Ich habe den gewünschten Spalten-Sprung hierfür in B1 eingetragen. du kannst natürlich auch jede andere Zelle nehmen.
Bei 0 bleibt die Spalte dort wo sie ist, für jede Spalte nach rechts erhöhst du den Wert in B1 um 1

=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">=0")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">181")
=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">=181")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">250")
=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">=251")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">300")
=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">=301")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;B1);">400")

Tip: Benutze auch hier Suchen / Ersetzen:
Suche nach: F3:F68
ersetze durch: BEREICH.VERSCHIEBEN(F3:F68;0;B1)

Gruß Holger
Top
#3
HÄUFIGKEIT ist kürzer als ZÄHLENWENN zu verwenden (eher wie Pivot, aber da fehlt die Klassenbildung, da neben dem kardinalskalierten Material für HÄUFIGKEIT bei Pivot auch ordinale und nominale Daten zulässig sind).
INDEX ist kürzer zu schreiben als BEREICH.VERSCHIEBEN (und nonvolatil).

B3:B7: =HÄUFIGKEIT(INDEX(F3:Z68;;B1);{0;180;250;300;400}) als Formelarray auf den markierten Zellen abzuschließen (nicht einzelne Arrayformeln!)

oder gleich mit den in A3:A7: ausgelagerten Klassengrenzen:

B3:B7: =HÄUFIGKEIT(INDEX(F3:Z68;;B1);A3:A7)

An den Zahlen in A4:A7 erkennt man, dass diese die Obergrenze der vorigen Klasse sind (Porto-Fragestellungen, Gewichte, Maße und Steuerfreibeträge). Nicht die Untergrenze der aktuellen Klasse (z.B. Alter)! Als Grenze bezeichne ich hier das, was inklusive ist. 

Möchte man den Normalfall "Untergrenze" haben, dann dreht man einfach beide Vorzeichen:

B3:B7: =HÄUFIGKEIT(-INDEX(F3:Z68;;B1);-A3:A7)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#4
Danke für eure Antworten.

Die erste erleichtert mir das ganze etwas ist aber noch nicht automatisch.

Bei der Zweiten verstehe ich leider fast nichts. Wie gesagt bin nicht so fit in Excel.

Gibt es da noch andere Lösungen?
Top
#5
Hallo ingalf,

du kannst zum Beispiel in der Funktion BEREICH.VERSCHIEBEN das Argument [Spalten] dynamisch gestalten mithilfe von ANZAHL():

=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">=0")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">181")

Arbeitsblatt mit dem Namen 'Tabelle1'
EFGHIJKLMN
11
2KW1KW2KW3KW4KW5KW6KW7
3A1762646002
4B22643
5C45282
6D171218

ZelleFormel
N1=ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">=0")-ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">181")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Ansonsten solltest du mal eine Beispieldatei hier hochladen...

Gruß
Fred
Top
#6
=
ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">=0")-
ZÄHLENWENN(BEREICH.VERSCHIEBEN(F3:F68;0;ANZAHL($F$3:$L$3)-1);">181")

geht aber auch kürzer (wenn es schon nicht HÄUFIGKEIT sein darf), ungetestet:

=SUMME(
ZÄHLENWENN(BEREICH.VERSCHIEBEN(F$3:F$68;0;ANZAHL($F$3:$L$3)-1);{">=0".">181"})*{1.-1})


Außerdem lagert man {">=0".">181"} sicherheitshalber in einen Bereich aus. Dann ist gewährleistet, dass man sich nicht in der Formel verschreibt.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#7
Danke hat alles Funktioniert

Danke noch mal an alle!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste