26.04.2024, 07:16 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2024, 07:17 von Tabbi.)
Guten Morgen,
mit Ü50 habe ich leider nur rudimentäre Excelkenntnisse, die ich aber nun ein wenig vertiefen möchte. Ich habe ein Problem, dass ich nur über eine Hilfskonstruktion lösen kann. Aber gerne, damit ich die Tabelle nicht verändern muss, eleganter lösen möchte. VBA kann ich leider überhaupt nicht, aber würde da auch einsteigen wollen. Vielleicht ist das Problem ein Einstieg dafür?
Ich habe eine Tabelle mit mehreren Spalten, wobei ich im Moment nur 2 betrachten muss. In etwas wie folgt
A B C 5 6 1 7 6 0 3 12 1 9 10 1 17 8 0
Ich möchte nun alle Zeilen zählen, deren Wert aus Spalte A kleiner gleich dem Wert in Spalte B ist. Mit "Zählenwenn" kam ich allein nicht weiter, da kann ich zwar die Spalte A angeben, aber als Kriterium kann ich nicht Spalte B angeben.
Mir fiel nur ein, dass ich eine Hilfspalte einfüge, in der ich per "WENN" Abfrage und eine 1 einfüge, wenn die Bedigung A<=B wahr ist. Dann kann ich per "ZÄHLENWENN" die Zeilen zählen.
Nun die Frage der Fragen, wie kann ich das anders lösen, so dass ich keine Spalte(n) in meine Tabelle einfügen muss und somit die "WENN" Abfrage da umgehe.
Ich hatte gedachte ich könnte irgendwie sagen:
Vergleiche den Wert in Spalte A mit dem in Spalte B, wenn A kleiner gleich B, dann zähle die Zeile (was ich über die Hilfskonstruktion ja mache, aber nun in schön?)
26.04.2024, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2024, 08:22 von echo.)
Zitat:Ich möchte nun alle Zeilen zählen, deren Wert aus Spalte A kleiner gleich dem Wert in Spalte B ist. Mit "Zählenwenn" kam ich allein nicht weiter, da kann ich zwar die Spalte A angeben, aber als Kriterium kann ich nicht Spalte B angeben.
26.04.2024, 08:59 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2024, 09:01 von Tabbi.)
(26.04.2024, 08:21)echo schrieb: Guten Morgen, doch das geht, Beispiel
=ZÄHLENWENN(A2:A12;"<"&B2:B12)
Gruß Holger
Diese Idee hatte ich auch in allen Varianten probiert. Egal was und wie ich den Operator < nutze, es kommt immer das Ergebnis 0 heraus. Dies scheint grundsätzlich so nicht zu funktionieren, denn das war auch meine erste Idee.
(26.04.2024, 08:17)steve1da schrieb: Hola,
Code:
=SUMMENPRODUKT((A2:A10<B2:B10)*1)
Gruß, steve1da
Danke! Das funktioniert perfekt. Es gibt so viele Funktionen, die ich nicht kenne
Nach dem ich mich nun mit alle vorgeschlagenen Varianten beschäftigt habe und sie zu verstehen versuche, komme ich bei
Code:
=SUMME(--(A2:A6<B2:B6))
trotz nachlesen der Beschreibung zur Summenfunktion nicht weiter.
Stumpf abschreiben ist das eine, besser ist es, wenn ich die Formel verstehe und später besser anwenden und erweitern oder anpassen kann.
Die Bedeutung der bei Arrays in der Klammer ist mir klar, hier werden die Werte der beiden Arrays geprüft, ob A < B. Was ich nicht verstehe, was die bei -- bedeuten und mit einer Summe zusammenhängen.
Würdet Ihr mir das erklären, oder eine Lesehilfe geben?
Danke
Und Helmut hat Recht mir der wichtigen Info:
Zitat:Bei älterem Excel muss sie ev. mit Strg-Shift-Enter abgeschlossen werden
Tabea
Es ist nicht die Geschwindigkeit, die einen tötet, sondern der plötzliche Stopp.
wenn Du die Formelauswertung betrachtest, wirst Du sehen, dass pro Zeile WAHR/FALSCH entsteht. -- entspricht *1, d.h. die Wahrheitswerte werden in Einsen und Nullen umgewandelt und summiert.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
29.04.2024, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2024, 19:16 von HKindler.)
Hi,
die zwei Minuszeichen sind ein „Dirty Trick“, der hier gebraucht wird. Denn SUMME() summiert nur Zahlen und keine Texte oder Wahrheitswerte. Bei A2:A6<B2:B6 kommen jedoch nur Wahrheitswerte, nämlich Wahr oder Falsch raus.
Mit denen kann Excel prinzipiell rechnen (Wahr=1, Falsch=0), aber SUMME() ignoriert die halt. Daher muss man mit den Wahrheitswerte irgendwas berechnen ohne den Wert an sich zu ändern. Ich verwende dafür halt das doppelte Minus, denn 2x Minus gibt Plus. Damit hat man also nichts geändert.
Ebenso würde statt —x auch x*1, x/1, x+0 oder x-0 oder sonst irgendeine neutrale Berechnung funktionieren.