2017-04-19 13 views
1

私は3つの列を持つExcelを持っています。3列のcountifを使用するVBAマクロ

Column A:    Column B: Column C:  
shirts (long, short) color  age 

は、今私は、私は今、どのようにそれを手動でフィルタリングすることが、私はそれを自動的に行うしたいと思います。もちろん、10歳でありますどのように多くの長い、緑のシャツを見つける必要があります。実際には、約80k行のExcelファイルがはるかに複雑で、数を増やす必要があります。上記の例のための解決策は、私の仕事をするでしょう。私はそれを実際のファイルに適用します。私はいくつかの可能な解決策を見つけましたが、私は単純なcountIf関数が最も簡単かもしれないと思います。また、2つの追加の列を使用するcountIf関数を作成するのにも苦労しています。私はこれのようにそれをやり始めました。 Bの値が「緑色」で、列Cの値が「10」の場合、長いシャツを数えます。基本的には、これが適切な解決策であり、その機能がどのように見えるかを知りたいと思います。

+0

問題を試したコードを追加してください。数式を説明する代わりに、使用した数式を追加してください –

+0

私の試行はとても貧弱でしたので、追加しないほうがいいと思いました。 – user3080315

答えて

0

Countには3つの条件がありますので、CountIfs機能(およびCountIfではなく)を使用する必要があります。

次のコードは、あなたが提供してきた3列のために仕事をし、そしてあなたのポストの例になります。あなたがそこにあるどのように多くの長い緑のシャツを知りたい場合は作品上記の解答を

Dim CountIfsRes As Long 

CountIfsRes = WorksheetFunction.CountIfs(Range("A:A"), "=long", Range("B:B"), "=green", Range("C:C"), "=10") 

MsgBox CountIfsRes 
0

サマリーテーブルに複数の条件を設定する場合は、この式を適用してテーブルに数式を挿入することができます。

=COUNTIFS(A:A,"long",B:B,"green",C:C,"10")

関連する問題