var googletag = googletag || {}; 実行すると、結果は『【,】は7個あります』と表示されます。 Split関数で配列にしてUBound関数で数える. Sub test11() Dim c As Range Dim jyukensya As Long, kesseki As Long For Each c In Range("D3:D10") If IsNumeric(c.Value) Then jyukensya = jyukensya + 1 Visual Basic(VBA) 6. いずれも請求書に限らず、データや帳票を扱ったエクセルvbaではかなり重宝するテクニックです … pbjs.setConfig({bidderTimeout:2000}); googletag.cmd.push(function() { それの覚書も書いていきます。, (Excel VBA)RangeプロパティでCellsやRows、Columnsを組み合わせて使うと「実行時エラー 1004」が出る時の対処法, (Excel VBA)ファイルが開いているか判定をしてファイルが開いていても開いていなくてもオブジェクトを取得して作業できるようにする. データを整理する上で押さえておくべき関数であると言えます。, この記事を読むことで、 googletag.defineSlot('/21812778492/blog_728x90_common_overlay_adsence', [728, 90], 'div-gpt-ad-1583302554779-0').addService(googletag.pubads()); ExcelではCOUNTIF関数を使用することで条件に一致するセルの個数を数えることができますが、VBA(マクロ)でもワークシート関数のCountIfメソッドを使用すれば同じように条件に合ったセルを数えることができます。, この記事では、VBAのCountIfメソッドの基本的な使い方から空白以外のセルをカウントしたり、重複を判別する方法も合わせて解説しています。, VBAのCountIfはワークシート関数(worksheetfunction)で使用できるメソッドの1つです。指定した範囲の中で検索条件に一致するセルの個数を返します。, ワークシート関数とはExcelのワークシート上で利用できる関数のことを言います。CountIfの他にもIFやVLOOKUPもあります。, 式としては「WorksheetFunction.CountIf(範囲,検索条件)」のように記述します。, VBAのコードの中で「CountIf」がどのように使用されるのか使い方をご紹介します。, 上図は商品種別ごとに売上個数が入力されています。B3~B6のセル範囲から検索対象のE3に書かれた商品(リンゴ)が入っているセルの個数をF3セルに出力させてみましょう。, VBAのコードを記述するためにVBE(Visual Basic Editor)を起動します。①リボンから【開発】タブを選択し、②【Visual Basic】を押します。, Visual Basic Editorが起動したら①対象のシートを【ダブルクリック】し、②ソースコードを記述して③【▶】ボタンを押します。※ソースコードは記事内の「使用例」をご参考ください, VBAを実行した後にシートに戻ると例ではF3セルに「2」と入力されました。VBAのCountIfでB3~B6の範囲から「リンゴ」のセルがいくつあるか求めることができました。, CountIfの検索条件で変数と比較演算子を組み合わせる場合の記述方法をご説明します。, 上図では、C3~C6のセル範囲でE3セルに入力した目標個数を超えているセルの個数を数えてF3セルに入力したいと思います。, 変数を使わない場合「"> 50"」のように記述しますが、検索条件で変数を使用したい場合は、変数と比較演算子を文字列結合「&」でつなげます。, VBAを実行すると、C3~C6のセル範囲でE3セルに入力した目標個数(50)を超えているセルの個数「3」がF3セルに表示されました。, 上図では、B3~B10のセル範囲で空白以外のセルの個数を数えてE3セルに入力したいと思います。, 「"<>"」は「"<>" & ""」を省略したものになります。比較演算子「<>」は等しくないという意味ですが、空白("")と文字列結合(&)することで空白ではないという条件を指定しています。, VBAを実行すると、B3~B10のセル範囲で空白でないセルの個数「7」がE3セルに表示されました。, 上図では、B3~B6のセル範囲で重複しているセルがあればD列に「重複」と入力したいと思います。, VBAを実行すると、B3~B6のセル範囲で重複しているセルがあればD列に「重複」と表示されました。, 条件が複数ある場合はCountIfではなくCountIfsメソッドを使いましょう。, 上図では、B3~C6のセル範囲で「商品種別がリンゴ」かつ「売上個数が80より大きい」セルの個数を数えてE3セルに入力したいと思います。, VBAを実行すると、B3~B6のセル範囲で「商品種別がリンゴ」かつ「売上個数が80より大きい」セルの個数「1」がE3セルに表示されました。, できる イラストで学ぶ 入社1年目からのExcel VBA できる イラストで学ぶシリーズ, 今回はVBAのCountIfをご紹介しましたが、ExcelのCOUNTIF関数の使い方を確認したいという方は下記の記事で詳しく説明していますのでご参考ください。, 「範囲」の中からセルを検索するための条件を、数値、式、セル範囲、または文字列で指定します。, 2行目:「Range("B3:B6")」が範囲です。B3~B6のセル範囲を検索範囲とします。, 2行目:「Cells(3, 5)」が検索条件です。例ではE3セルの「リンゴ」を範囲から探します。, 3行目:「Range("C3:C6")」が検索範囲、「">" & x」が検索条件です。「xを超えたら」という条件を指定しています。, 2行目:「Range("B3:B10")」が検索範囲、「"<>"」が検索条件です。, 4行目:If文の条件式「If~Then」にCountIfを指定しています。「Range("B3:B6")」が検索範囲、「Cells(i, 2)) > 1」が検索条件です。, 5行目:B3~B6のセル範囲に対象のセルの内容が2つ以上あればD列に「重複」と入力します。, 2行目:CountIfsの1つ目の検索範囲が「Range("B3:B6")」、検索条件が「"リンゴ"」です。, 2行目:CountIfsの2つ目の検索範囲が「Range("C3:C6")」、検索条件が「">80"」です。.