Supportnet / Forum / Tabellenkalkulation
eXCEL: Ich will alle Zahlen aus einer Liste zählen, deren zweite Nachkommastelle =0 ist
Frage
37,89
37,38
37,57
37,65
37,61
37,55
37,55
37,41
37,64
37,84
38,20
Eine Null, Ergebnis für Anzahl der 2. Nachkommastelle =0 soll1 sein.
Sozusagen die Verteilung der 2. Nachkommastelle für mächtig viele Kurse!
Antwort 1 von Saarbauer
Hallo,
aus meiner Sicht nicht in einem Durchgang zu lösen.
Sind Hilfsspalten möglich?
Gruß
Helmut
aus meiner Sicht nicht in einem Durchgang zu lösen.
Sind Hilfsspalten möglich?
Gruß
Helmut
Antwort 2 von Aliba
Hi,
=SUMMENPRODUKT((REST(A1:A100*100;10)=0)*(A1:A100<>""))´
Bereich anpassen.
Sollte das richtige Ergebnis bringen. Wenn nicht, bitte prüfen, ob es sich nicht um Werte mit weiteren Nachkommastellen handelt. Dann eventuell nach guter Überlegung EXTRAS - OPTIONEN - BERECHNEN - Genauigkeit wie angezeigt aktivieren.
CU Aliba
=SUMMENPRODUKT((REST(A1:A100*100;10)=0)*(A1:A100<>""))´
Bereich anpassen.
Sollte das richtige Ergebnis bringen. Wenn nicht, bitte prüfen, ob es sich nicht um Werte mit weiteren Nachkommastellen handelt. Dann eventuell nach guter Überlegung EXTRAS - OPTIONEN - BERECHNEN - Genauigkeit wie angezeigt aktivieren.
CU Aliba
Antwort 3 von sokrates009
37,21 133,95 46,60
Vielen Danke aber Summenprodukt verstehe ich nicht
ich dachte da an sowas:
37,03 133,15 46,00
37,26 132,35 46,07
37,89 132,00 45,40
37,38 131,23 45,65
37,57 131,45 45,10
37,65 130,60 44,99
37,61 130,72 45,04
37,55 129,50 45,05
=(A1*10-GANZZAHL(A1*10))*10
=>ZÄHLENWENN(A1:A10;A1*10-GANZZAHL(A1*10)*10=1)
3
6
9
8
7
5
1
5
usw
0 kommt 0
5 kommt 2 vor usw
Vielen Danke aber Summenprodukt verstehe ich nicht
ich dachte da an sowas:
37,03 133,15 46,00
37,26 132,35 46,07
37,89 132,00 45,40
37,38 131,23 45,65
37,57 131,45 45,10
37,65 130,60 44,99
37,61 130,72 45,04
37,55 129,50 45,05
=(A1*10-GANZZAHL(A1*10))*10
=>ZÄHLENWENN(A1:A10;A1*10-GANZZAHL(A1*10)*10=1)
3
6
9
8
7
5
1
5
usw
0 kommt 0
5 kommt 2 vor usw
Antwort 4 von Aliba
Hi Sokrates009,
zuersteinmal Folgendes:
=(A1*10-GANZZAHL(A1*10))*10
bringt das selbe Ergebnis, wie:
=REST(A1*100;10)
Dann zum Summenprodukt:
=SUMMENPRODUKT(A1:A100;B1:B100) liefert die Summe der zeilenweisen Multiplikation der Spalten A und B, also:
A1*B1+A2*B2+C1*C2+.....
Nun kann man innerhalb der SUMMENPRODUKT-Funkton mit Wahrheitswerten arbeiten, da SUMMENPRODUKT Arrays erzeugt.
Schreibe mal in B1 die Formel:
=REST(A1*100;10)=0
und ziehe diese soweit benötigt nach unten.
Du erhältst nun den Wahrheitswert WAHR für jeden Wert, der in Spalte A als 2.Dezimalstelle eine 0 stehen hat und FALSCH für jeden Wert der als 2. Dez-Stelle eben keine 0 stehen hat.
Die Erweiterung *(A1:A100<>"") steht nur hier, damit evtl. leere Zellen in diesem Bereich nicht als 0 gewertet werden, und somit das Ergebnis verfälschen würden.
Aber schreib zur Verdeutlichung trotzdem mal die Formel in C1:
=A1<>""
Du erhältst WAHR für jede Zelle in A , die einen Eintrag enthält, für leere Zellen erhältst Du FALSCH
WAHR wird mit dem Wert 1, FALSCH mit dem Wert 0
gerechnet.
Du hast also nun einen Bereich in Spalte A mit Werten, in Spalte B mit WAHR(=1) bei 2. Dez.-Stelle 0
und in Spalte C mit FALSCH(=0), wenn Zelle in A leer ist.
Wenn Du in D1 die Formel schreibst: =B1*C1 und soweit benötigt nach unten kopierst, dann erhältst Du pro Zeile entweder 1 (beide Bedingungen sind erfüllt, 2. Dez=0 und A1 ist nicht leer), sollte eine der Bedingungen nicht erfüllt sein, steht irgendwo FALSCH (was ja 0 entspricht) und somit ergibt die Multiplikation auch 0.
Und die Formel:
=SUMMENPRODUKT((REST(A1:A100*100;10)=0)*(A1:A100<>""))
macht dies nun alles in einem Aufwasch.
Du kannst nun in einem Tabellenbreich, z.B. G1 bis G10 die Ziffern 0 bis 9 schreiben.
In H1 schreibst Du die Formel:
=SUMMENPRODUKT((REST(A1:A100*100;10)=G1)*(A1:A100<>""))&" mal "&G1
Diese nach unten kopiert ergibt dann das Ergebnis:
1 ma 0
5 mal 1
2 mal 2
6 mal 3
usw....
zuersteinmal Folgendes:
=(A1*10-GANZZAHL(A1*10))*10
bringt das selbe Ergebnis, wie:
=REST(A1*100;10)
Dann zum Summenprodukt:
=SUMMENPRODUKT(A1:A100;B1:B100) liefert die Summe der zeilenweisen Multiplikation der Spalten A und B, also:
A1*B1+A2*B2+C1*C2+.....
Nun kann man innerhalb der SUMMENPRODUKT-Funkton mit Wahrheitswerten arbeiten, da SUMMENPRODUKT Arrays erzeugt.
Schreibe mal in B1 die Formel:
=REST(A1*100;10)=0
und ziehe diese soweit benötigt nach unten.
Du erhältst nun den Wahrheitswert WAHR für jeden Wert, der in Spalte A als 2.Dezimalstelle eine 0 stehen hat und FALSCH für jeden Wert der als 2. Dez-Stelle eben keine 0 stehen hat.
Die Erweiterung *(A1:A100<>"") steht nur hier, damit evtl. leere Zellen in diesem Bereich nicht als 0 gewertet werden, und somit das Ergebnis verfälschen würden.
Aber schreib zur Verdeutlichung trotzdem mal die Formel in C1:
=A1<>""
Du erhältst WAHR für jede Zelle in A , die einen Eintrag enthält, für leere Zellen erhältst Du FALSCH
WAHR wird mit dem Wert 1, FALSCH mit dem Wert 0
gerechnet.
Du hast also nun einen Bereich in Spalte A mit Werten, in Spalte B mit WAHR(=1) bei 2. Dez.-Stelle 0
und in Spalte C mit FALSCH(=0), wenn Zelle in A leer ist.
Wenn Du in D1 die Formel schreibst: =B1*C1 und soweit benötigt nach unten kopierst, dann erhältst Du pro Zeile entweder 1 (beide Bedingungen sind erfüllt, 2. Dez=0 und A1 ist nicht leer), sollte eine der Bedingungen nicht erfüllt sein, steht irgendwo FALSCH (was ja 0 entspricht) und somit ergibt die Multiplikation auch 0.
Und die Formel:
=SUMMENPRODUKT((REST(A1:A100*100;10)=0)*(A1:A100<>""))
macht dies nun alles in einem Aufwasch.
Du kannst nun in einem Tabellenbreich, z.B. G1 bis G10 die Ziffern 0 bis 9 schreiben.
In H1 schreibst Du die Formel:
=SUMMENPRODUKT((REST(A1:A100*100;10)=G1)*(A1:A100<>""))&" mal "&G1
Diese nach unten kopiert ergibt dann das Ergebnis:
1 ma 0
5 mal 1
2 mal 2
6 mal 3
usw....
Antwort 5 von sokrates009
Dank an Helmut und Aliba für die tolle Hilfe. Es funzt tatsächlich! Aber so schlecht fand ich meine Lösung garnicht! Übrigens: Ich nutze OpenOfficeCalc, da ist m.E. die Hilfe besser und die Funktionen sind die gleichen.
Gruß
Gruß

