Konvertieren Sie die mehrstufige Summe von Booleans in eine einzelne Formel

1073
clmno

Ich habe einige Sensorwerte und prüfe, ob die Werte im akzeptablen Bereich liegen.

Um dies zu tun verwende ich eine IFprüfen, ob die Werte >oder <der berechneten (Durchschnitt) Wert. Die Ergebnisse werden in den jeweiligen Spalten gespeichert. Abschließend fasse ich die Ergebnisse zusammen, um zu ermitteln, wie viele außerhalb der Grenzen liegen (dh über dem Durchschnitt).

Zum Beispiel Axwird mit verglichen Mean. Axentweder 1oder 0in If value is outside accepted bounds. Ax:

Image 1

Dann die Summe von If value is outside accepted bounds. Axwird durchgeführt, um zu bekommen Number of values outside bound. Ax:

Image 2, summation

Frage
Wie konvertiere ich das in eine einzelne Formel?

10

2 Antworten auf die Frage

11
robinCTS

Die Funktion, die Sie suchen, ist COUNTIF():

Worksheet Screenshot

Geben Sie die folgende Formel in G3und Strg-Eingabe / Kopieren-Einfügen / Füllen-Recht in ein G3:I3:

=COUNTIF(A3:A8,">"&D3) 

COUNTIF() prüft jeden Wert im ersten Argument anhand der Kriterien im zweiten und zählt die Anzahl, mit der er erfüllt wird.


Die Verwendung COUNTIF()ist die einfachste und beste Lösung.

Natürlich könnten Sie eine kompliziertere / schwieriger zu verstehende Formel verwenden

=SUMPRODUCT(--(A3:A8>D3)) 

oder ein Array eingegeben wie

{=SUM(--(A3:A8>D3))} 

oder sogar eine unnötig kompliziertere Version davon.

Es gibt jedoch keinen Vorteil, wenn Sie einen dieser Fälle in diesem speziellen Fall verwenden.


Wenn Sie tatsächlich daran interessiert sind, die Anzahl der Helfer-Säulen zu reduzieren, wäre es eine noch bessere Lösung, auf die Mean-Helper-Säulen zu verzichten:

Worksheet Screenshot

Geben Sie die folgende Formel in D3und Strg-Eingabe / Kopieren-Einfügen / Füllen-Recht in ein D3:F3:

=COUNTIF(A3:A8,">"&AVERAGE(A3:A8)) 

(Und ja, diese Formel könnte auch für Anfänger schwieriger zu verstehen sein, indem sie in =SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8)))oder konvertiert wird {=SUM(--(A3:A8>AVERAGE(A3:A8)))}.)

@AFH Danke für die Bearbeitung (und die positive Bewertung ;-)). Ich frage mich, wie das passiert ist. Und was noch wichtiger ist, wie ich es nicht bemerkt habe \\ _ (ツ) _ / ¯ robinCTS vor 5 Jahren 0
Glückwunsch. Die System-Bots wählen hoch bewertete Beiträge aus, die als Prüfungen in der LQP-Überprüfungswarteschlange verwendet werden sollen. Dieser wurde als "minderwertiger" Posten ausgewählt - eine Auszeichnung der Ehre. :-) fixer1234 vor 5 Jahren 0
@ fixer1234 Oh, natürlich (-‸ლ) Ich gebe * drei * alternative Lösungen für das Y-Problem und führe dann eine X-Problemlösung aus. Und außerdem gebe ich eine Erklärung, wie die Funktion COUNTIF () funktioniert. * Klar * Diese Antwort ist von geringer Qualität! Nächstes Mal bleibe ich nur noch in einer einzelnen Zeile und antworte nur mit Code. (PS hat gerade die [Zeitleiste] überprüft (// superuser.com/posts/1336127/timeline). Sieht so aus, als hätten Sie die Prüfung nicht bestanden - Sie haben "Sieht OK" ausgewählt ;-)) robinCTS vor 5 Jahren 0
2
Rajesh S

SUMPRODUCT Funktion kann auch Ihr Problem lösen.

enter image description here

Schreiben Sie diese Formel in G102 und füllen Sie sie rechts von G102 bis I102:

=SUMPRODUCT(--(A102:A107>D102:D107)) 

NB Passen Sie die Zelladresse in der Formel an Ihre Bedürfnisse an.