2017-01-23 8 views
0

私は、同じ質問が出てきたと言って始めたいと思います。ただし、部分文字列が含まれている場合はセルを数えます。私はそのバージョンの公式を裏返すのに十分ではありません。セルを数えますが、特定の部分文字列でセルを数えません。

私は何のために使っていますか?私は次のような優れたページを持っています:

Classroom 1  
32523  
24634  
67457  
43636  
35467 

Classroom 2  
34563  
64746  
79877  
23456 

Classroom 3  
23777  
36434  
23526  
68997  
36346  
34634  
74567  
58867 

ここでの目標は2つあります。 1つは、「クラスルーム」という単語が含まれていないこの列のすべての項目を数えたいと思います。できるだけ多くの場合、各教室を別々に数えることができます。私の言うことは、これらのコラムはサイズが異なり、毎月新しい文書が私に送られたということです。クラスルーム1 = 5、クラスルーム2 = 4など。私は80以上の教室を持ち、範囲を再調整するのに信じられないほど時間がかかるので、クラスごとに1つの式を使用し続けることはできません。 (範囲のサイズが変わるので、私は良い方法を見つけられませんでした)。

誰でも手助けできますか?私は圧倒されています。

答えて

2

ダウンコピー最初の教室の隣にある最初のセルにコピーしてコピーダウンします。ヘルパー列は必要ありません。完璧です

=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

ありがとうございますscott! – jallington

1

あなたは2パートの質問があり、それがコメント

パート1には、こののすべてに適合するのは難しいので、答えとしてこれを置くために行く:一つ、私がいることを、このコラムのすべての項目をカウントします

この部分はかなり簡単です。

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

ただし、ブランクがカウントされます(例のデータは19となります)。あなたは空白をカウントしたくないない場合:

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

これは基本的に17

を返しますが、これらの2式は、あなたがそれらを与える配列を取ることによって動作し、その後、かどうかを確認するために、それぞれの値を比較しますそれは教室や空白に等しい。それらは0としてカウントされ、それ以外のものは1としてカウントされ、0と1の結果の配列が合計されます。

次に、パート2:私は本当にして戻ってくる式たい:教室1 = 5、教室2 = 4

これを行う最も簡単な方法は、ヘルパー列を追加することです。あなたのデータを想定すると、A2に開始し、次のコマンドを使用します。

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

この式は、単に時またはそれ以上のすべてをチェックして、(1/0)TRUE/FALSEの配列を作成することによって動作し、それは教室だかどうかのために。それで終わりに達すると、1と0の配列で2を見つけようとします。明らかにそうすることはできないので、デフォルト値はそれ自身よりも小さい最後の値になります。これは最後の1(最後の教室)です。インデックスは、その教室の記録の場所を示し、それを印刷します。

次に、ヘルパー列でcountifを使用するだけで、教室別に分割することができます。仮にそうでF2で、F1でで教室2教室1を持っている、と -

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

スクリーンショット以下、何らかの理由で、私は得ることができないが、それはリンク

Here's a screenshot

として埋め込むこと
+0

。あなたはそれを釘付けにした。ありがとうございました! – jallington

+0

@jallingtonそれを聞いてうれしいです:)良いことを持っています – Joe

+0

これはあまりにも多いかもしれませんが、2番目の数式= COUNTIF($ B $ 2:$ B $ 22、F1)を1回だけカウントすることは可能ですか?重複を1回以上カウントしないようにします。 – jallington

0

最初にヘルパー列を追加して、どのClassroomに関連するかを示します。データが列Aにあり、A2にあると仮定すると、この数式はB2になり、すべてのデータ行がコピーされます。あなたは

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

すべてのデータポイントをカウントするために、この列を非表示、または右

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

式にそれを置くことができる列Cを言って、列に教室のリストを入れてください。 Aはその後、これを使用し、彼らは列に表示される順序でリストを作成し、各教室のために

=COUNT(A:A) 

:セルD2では、この式を入れて、合計

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

enter image description here

+0

Chrisありがとう! – jallington

関連する問題