Ich werde mein Bestes geben, um es zu erklären. Angenommen, ich habe ein Blatt, das so aussieht (in diesem Beispiel sende ich Marketing-E-Mails an verschiedene Personen, kenne deren Alter und Postleitzahl und möchte die Klickraten in diesen E-Mails verfolgen):
A | B | C
1 Age | zip code | click?
2 26 | 11111 | true
3 27 | 11112 | true
4 28 | 11111 | false
5 27 | 22222 | false
6 28 | 11112 | false
7 26 | 22222 | true
Jetzt möchte ich verschiedene Statistiken verfolgen. In diesem Fall möchte ich die Klickrate nach Alter und Postleitzahl verfolgen. Also habe ich einen Tisch wie diesen:
E F G
1 Age | # sent | # clicked
2 26 |
3 26 |
4 27 |
5 28 |
Grundsätzlich kann ich in die Spalte "# gesendet" (zum Beispiel in F2) Folgendes einfügen:
=COUNTIF(A:A, E2)
Und dies würde zu einer 2 in Zelle F2 führen, da es in Spalte A zwei Vorkommen von "26" gab.
Aber was ist, wenn ich wissen möchte, wie viele geklickt haben? Ich möchte etwas sagen wie:
=COUNTIF(A:A == E2 AND C:C == True, for the same row where A:A matched E2)
Ich weiß, dass ich eine weitere Spalte D mit einer Formel wie hinzufügen kann
=IF(C2, A2, "")
Welches wird aber nur das Alter in Spalte D, wenn Spalte C wahr ist. Aber ich kann möglicherweise viele Kriterien haben und es scheint nicht so, als müsste ich für jede Kriterienspalte, die ich habe, eine weitere "falsche" Spalte hinzufügen.
Gibt es eine Möglichkeit, dies zu tun? Wenn nicht in Google Text & Tabellen, in Excel?
quelle
Antworten:
Verwenden Sie eine Kombination aus den Operationen ARRAYFORMULA, SUM und Arithmetik
Hier ist die Funktion, um alle Klicks eines 26-Jährigen zu zählen:
Dieser Vorgang besteht aus 3 Teilen.
Im Wesentlichen wird true in 1 und false in 0 konvertiert. Die boolesche Logik wird mithilfe von arithmetischen Operationen ausgeführt.
Eine UND- Operation verwendet die Multiplikation:
Eine ODER- Verknüpfung verwendet eine Kombination aus der Funktion * SIGN und der Addition:
Hinweis: Die Vorzeichenfunktion ist erforderlich, da die boolesche Addition anders funktioniert als die arithmetische Addition. Grundsätzlich gilt für die boolesche Addition 1 + 1 = 1, für die arithmetische Addition 1 + 1 = 2. Offensichtlich wird durch die arithmetische Addition die Anzahl durcheinander gebracht, sodass Sie die Ergebnisse der Additionsoperationen über eine Vorzeichenfunktion ausführen müssen. Die Vorzeichenfunktion gibt 1 zurück, wenn der Wert positiv ist, 0, wenn der Wert 0 ist, und -1, wenn der Wert negativ ist.
Nehmen wir an, Sie wollten die Klicks für alle Benutzer zwischen 20 und 25 Jahren zählen:
quelle
both
20 und 23 sein, sodass die Addition in diesem Fall niemals einen Wert> 1 ergibt. SIGN ist nur erforderlich, wenn sich die Bedingungen nicht gegenseitig ausschließen. Wäre es mit dieser Version nicht einfacher, zwischen 20 und 25 zu machen?=arrayformula(sum((A:A>=20)*(A:A<=25)*(C:C=TRUE)))
Ab sofort unterstützt das neue Google Sheets COUNTIFS, das den erforderlichen Auftrag direkt ausführen kann.
=COUNTIFS(A:A, E2, C:C, "true")
Listen Sie alle Bereiche und den Vergleich auf, die durch Kommas getrennt werden sollen.
quelle
In Excel würde ich SUMPRODUCT in Excel 2003 oder COUNTIFS (mit einem "S") in Excel 2007 oder höher verwenden ....... aber in Google Text & Tabellen versuchen Sie dies
=arrayformula(sum((A:A=E2)*(C:C=TRUE)))
quelle
Dies war für zwei Spalten - ich verwende dies für meine Hochzeitsgästeliste - in diesem Fall mit "Ja" beim Senden eines Sicherungsdatums und "USA" für den Standort, damit ich das Porto später berechnen kann. Es mag eine kürzere Formel geben, aber das scheint zu funktionieren, also spiele ich nicht damit herum!
Viel Spaß beim Zählen.
quelle
In Excel würde ich Formeln vergessen und Pivot-Tabellen verwenden.
Möglicherweise müssen Sie eine "Zählerspalte" hinzufügen, die immer wieder als Variable verwendet werden kann, die Sie summieren, um Ergebnisse zu erhalten.
quelle
Sie können das Array, das Sie testen möchten, zu {} hinzufügen.
Im folgenden Beispiel:
quelle