VBA COUNTIF関数(Excel)(6例

  • これを共有
Hugh West

があります。 COUNTIF は、ある範囲内で条件を満たすセルの数を数えるために使用されます。 今回は、この関数を使用する方法を紹介します。 COUNTIF 関数をエクセルで ブイビーエー マクロを使用します。

ワークブックダウンロード

練習用Excelワークブックは、こちらから無料でダウンロードできます。

VBAによるCOUNTIF関数.xlsm

ExcelのCOUNTIF関数

  • シンタックス

WorksheetFunction.CountIf() Arg1 レンジとして。 アルグ2 ) As Double

  • パラメータ
パラメータ 必須/オプション データ型 商品説明
Arg1 必須 範囲

カウントセルからのセル範囲。

アルグ2 必須 バリアント カウントするセルを定義する数値、式、セル参照、テキスト。 例えば、式は20、"20"、">20"、"fruit"、B2が可能です。
  • リターンタイプ

Doubleとしての値

ExcelでCOUNTIF関数をVBAで使用する6つの例

この項では、「Select」ボタンをクリックしたときに表示される COUNTIF 関数でテキストや数値などを数えることができます。 ブイビーエー のコードで表示されます。

1.ExcelVBAでCOUNTIFを使ったWorksheetFunctionを使う

エクセルの ワークシート機能 の中で利用できるExcelの他のほとんどの関数を呼び出すのに利用できます。 挿入機能 Excelのダイアログボックスと COUNTIF 関数もその一つです。

上記の例を参考にしながら ワークシート機能 をもって COUNTIF を使ってデータをカウントします。 ブイビーエー をExcelで表示します。

ステップス

  • プレス Alt + F11 キーボードから、またはタブで 開発者 -> Visual Basic を開く Visual Basic エディター .

  • ポップアップ・コード・ウィンドウで、メニューバーから インサート -> モジュール .

  • 以下のコードをコピーして、コードウィンドウに貼り付けてください。
 Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub 

これであなたのコードは実行できるようになりました。

  • プレス F5 をキーボードで入力するか、メニューバーから Run -> Run Sub/UserForm をクリックするだけでもOKです。 スモールプレイアイコン をクリックすると、マクロが実行されます。

そこで、このコードを実行したところ、データセットに含まれる3未満の数のカウントである4という結果が得られました。

続きを読む 2つの数値の間にCOUNTIFを使う方法(4つの方法)

2.エクセルで特定の文字列を数えるCOUNTIF関数

Excelのシートにある都市名や名前、食べ物など、特定のテキストをカウントしたい場合は、次のようにします。 COUNTIF での機能 ブイビーエー .

上記の例から、「Select」ボタンをクリックすることで COUNTIF という名前が何回表示されたかを数えるために ジョン は、我々のデータセットでは ブイビーエー マクロを使用します。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、次のコードをコピーして貼り付けます。
 Sub CountifText() '入力 countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") '出力 Range("E7") = countName End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 を実行すると、総カウント数が表示されます。

もし、コード内に直接テキストを書きたくない場合は、まず変数にテキストを格納し、後でその変数をコード内に渡すことができます。 以下のコードのようにです。

 Sub CountifText() '入力 Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) '出力 Range("E7") = countName End Sub 

続きを読む ExcelでCOUNTIF & LEFT関数を使用して開始時のテキストをカウントする

3.VBAで数値計算をするCOUNTIF関数

を活用することができます。 COUNTIF 関数を使って、特定の結果を抽出することができます。

上記の例から、「Select」ボタンをクリックすることで COUNTIF という数字がデータセットにいくつあるか数える。 一倍以上 をもって ブイビーエー マクロを使用します。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub CountifNumber() '入力 countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") '出力 Range("E7") = countNum End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 を実行すると、総カウント数が表示されます。

前述したように、数値を直接コードに書きたくない場合は、まず変数に格納し、後でその変数をコード内に渡すことができます。 以下のコードのようにです。

 Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">" & Num) 'output Range("E7") = countNum End Sub. 

続きを読む Excel COUNTIFと大なり小なり基準

類似の読み物

  • Excel COUNTIF関数で0より大きいセルをカウントする
  • ExcelでIF関数とCOUNTIF関数を併用する方法
  • Excel COUNTIFで他のセルのテキストを含むセルをカウントする
  • ExcelでCOUNTIF関数を使用してパーセントを計算する方法

4.Excelでオブジェクトの範囲を指定してCOUNTIF関数を実行する

セルのグループを割り当てることができます。 レンジオブジェクト で、それを使って レンジオブジェクト を使用して、Excelで値をカウントすることができます。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、次のコードをコピーして貼り付けます。
 Sub ExCountIFRange() Dim iRng As Range 'セル範囲を代入 Set iRng = Range("B5:B10") '数式で範囲を使用 Range("B13") = WorksheetFunction.SumIf(iRng, ">1") '範囲オブジェクトを解放 Set iRng = Nothing End Sub 

これであなたのコードは実行できるようになりました。

  • 実行 を実行すると、集計値を含む総カウントが得られます。

続きを読む Excelで非連続の範囲にCOUNTIFを使用する方法

5.エクセルでのCOUNTIF式メソッド

を使用することもできます。 または FormulaR1C1 メソッドで適用することができます。 COUNTIF のセルに接続します。 ブイビーエー これらの方法は、そのような操作をより柔軟に行うことができます。

5.1. フォーミュラ法

数式 メソッドでは、セル範囲の指定が B5:B10 の例では、以下のようになります。

ステップス

  • のコードウィンドウで Visual Basic エディター をクリックし、以下のコードをコピーして貼り付けてください。
 Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub 

これであなたのコードは実行できるようになりました。

このコード片は、あなたが必要とするデータの総カウントを提供します。

5.2. FormulaR1C1法

式R1C1 メソッドは、セルの範囲を限定しないので、より柔軟性があります。

同じデータセットで、今度は FormulaR1C1 で値を数える。 ブイビーエー .

ステップス

  • のコードウィンドウで Visual Basic エディター をクリックし、以下のコードをコピーして貼り付けてください。
 Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

これであなたのコードは実行できるようになりました。

このコードでは、必要なデータの総数も表示されます。

もし、出力範囲を設定しないのであれば、次のように書くことで、このコードをより柔軟なものにすることができます。

 Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub 

この数式は、条件を満たしたセルを数え、その答えを アクティブセル の中のRangeを指定します。 COUNTIF 関数を参照するには 列(R) コラム(C) の構文で構成されています。

続きを読む Excelで2つのセル値の間にCOUNTIFを適用する方法

6.COUNTIF関数の結果を変数に代入する

計算式の結果をExcelのデータセットではなく、別の場所で使用したい場合は、結果を変数に代入して、コードの後半で使用することができます。

があります。 ブイビーエー というコードがあります。

 Sub AssignCountIfVariable() Dim iResult As Double '変数の代入 iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") '結果の表示 MsgBox "The count of cells with value less than 3 is " & iResult End Sub 

その結果は、Excelのメッセージボックスに表示されます。

続きを読む COUNTIF Excelの例(22例)

結論

この記事で紹介したのは COUNTIF 関数をエクセルで ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。