2017-01-23 2 views
0

Ich würde gerne damit beginnen zu sagen, ich habe ähnliche Fragen da draußen gesehen; Sie zählen jedoch die Zelle, wenn sie eine Teilzeichenfolge enthält. Ich bin nicht gut genug, um diese Version der Formel umzudrehen.Zählen Sie Zellen, aber zählen Sie keine Zellen mit einer bestimmten Teilzeichenfolge

Wofür verwende ich es? Ich hätte eine Excel-Seite, die ähnlich aussehen würde wie folgt:

Classroom 1  
32523  
24634  
67457  
43636  
35467 

Classroom 2  
34563  
64746  
79877  
23456 

Classroom 3  
23777  
36434  
23526  
68997  
36346  
34634  
74567  
58867 

Das Ziel hier wäre zwei Dinge. Erstens möchte ich alle Elemente in dieser Spalte zählen, die NICHT das Wort "Klassenzimmer" enthalten, und die zweite Sache, die ich erreichen möchte (wenn möglich, kann dies zu viel sein), wenn ich jedes Klassenzimmer separat zählen könnte. Was ich meine ist, diese Spalten variieren in der Größe und es wird jeden Monat ein neues Dokument an mich gesendet. Ich hätte gerne eine Formel, die mit Classroom 1 = 5, Classroom 2 = 4 usw. zurückkehrt. Ich habe über 80 Klassenräume und kann nicht mehr eine Formel pro Klasse verwenden, da es unglaublich zeitaufwendig ist, die Bereiche neu zu justieren. (weil die Reichweiten variieren, habe ich keinen besseren Weg gefunden).

Kann jemand helfen? Ich bin überwältigt.

Antwort

2

Für das Gesamt setzen und abschreiben:

=COUNT(A:A) 

Für jedes Klassenzimmer, eine Liste machen, um, dass sie in der Spalte erscheinen A dann diese verwenden in der ersten Zelle neben dem ersten Klassenzimmer und kopieren Sie nach unten. Keine Hilfssäule benötigt.

=COUNT(INDEX(A:A,MATCH(C3,A:A,0)+1):INDEX(A:A,IFERROR(MATCH(C4,A:A,0)-1,MATCH(1E+99,A:A)))) 

enter image description here

+0

Danke scott! – jallington

1

Gehen dies als eine Antwort zu setzen, da Sie eine 2-teilige Frage haben und es ist schwer, all dies in einem Kommentar zu passen

Teil 1: One, möchte ich alle Elemente in dieser Spalte zählen, die enthält NICHT das Wort "Klassenzimmer"

Dieser Teil ist ziemlich einfach. Dies wird alle Ihre Nicht-Klassenzimmer zählen:

=SUMPRODUCT(--(LEFT(A1:A22, LEN("Classroom")) <> "Classroom")) 

Allerdings zählt es Leerzeichen (so würden Ihre Beispieldaten wäre 19). Wenn Sie wollen nicht Rohlingen zählen:

=SUMPRODUCT(--(LEFT(A1:A22, LEN("Classroom")) <> "Classroom") * (A1:A22 <> "")) 

Das 17.

Grundsätzlich zurückkehren wird, arbeiten diese zwei Formeln durch die Arrays nehmen Sie ihnen geben, und dann jeden Wert zu vergleichen, um zu sehen, ob Es ist gleich dem Klassenzimmer oder leer. Es zählt diese als 0 und alles andere als 1 und summiert dann das resultierende Array von Nullen und Einsen.

Als nächstes Teil 2: Ich möchte wirklich eine Formel, die mit zurückkommen würde: Klassenzimmer 1 = 5, Klassenzimmer 2 = 4

Der einfachste Weg, dies zu tun ist hinzuzufügen eine Hilfsspalte. Ihre Daten Gesetzt in A2 beginnt, verwenden Sie die folgenden Schritte aus:

=IF(OR(LEFT(A2,9)="Classroom", A2 = ""), "",LOOKUP(2,1/(LEFT(A$1:A2, 9)="Classroom"),A$1:A2)) 

Diese Formel funktioniert nur, indem sie alles auf oder über sie überprüft, und eine Reihe von WAHR/FALSCH (1/0) für die Erstellung, ob oder nicht, es ist ein Klassenzimmer . Wenn Sie das Ende erreicht haben, versuchen Sie eine 2 in einem Array von 1s und 0s zu finden. Offensichtlich können Sie nicht, also ist es standardmäßig auf den letzten Wert weniger als sich selbst. Dies ist die letzte 1 (letztes Klassenzimmer). Der Index gibt dann den Ort dieses Klassenzimmereintrags an und druckt ihn aus.

Dann können Sie einfach Countif auf Ihre Hilfesäule verwenden, so dass wir es nach Klassenzimmer aufgeteilt zählen können.Angenommen, Sie haben Klasse 1 in in f1, Klassenzimmer 2 in f2, und so weiter -

=COUNTIF($B$2:$B$22, F1) 

Screenshot unten, aus irgendeinem Grund, obwohl ich es nicht

als Link einbetten bekommen

Here's a screenshot

+0

Das ist perfekt. Du hast den Nagel auf den Kopf getroffen. Vielen Dank! – jallington

+0

@jallington Froh, es zu hören :) Haben Sie eine gute – Joe

+0

Ich weiß, dass dies zu viel sein kann, aber ist es möglich, die zweite Formel = COUNTIF ($ B $ 2: $ B $ 22, F1) nur jede Zelle einmal zählen? Dubletten also nicht mehr als einmal zählen. – jallington

0

Fügen Sie zuerst eine Helper-Spalte hinzu, um anzuzeigen, auf welchen Classroom sich eine Zeile bezieht. Angenommen, Daten befinden sich in der Spalte A, beginnend bei A2, setzen Sie diese Formel in B2 und kopieren Sie sie für alle Datenzeilen herunter. Sie können diese Spalte verbergen, oder nach rechts

=IF(LEFT(A2,9)="Classroom",A2,B1) 

Formel beiseite legen, um alle Datenpunkte zu zählen

=COUNTIFS(A:A,"<>",A:A,"<>Classroom*") 

Legen Sie eine Liste der Klassenzimmer in einer Spalte, sagen Spalte C. In Zelle D2 diese Formel

=COUNTIFS(B:B,C2,A:A,"<>",A:A,"<>Classroom*") 

enter image description here

+0

Danke Chris! – jallington

Verwandte Themen