目次
があります。 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 関数をエクセルで ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。