DCOUNTでレコードを数える
構造化された表で、条件に一致する行を数えます。
「DCOUNTでレコードを数える」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
DCOUNTの動作
DCOUNTは、条件範囲に一致するテーブル内のレコード数を数えます。ただし、選択したフィールドに数値が含まれる行だけを数える点に注意してください。
これは、データベース関数版のCOUNTです。テキストや空白のフィールドを基準に行を数える必要がある場合は、代わりにDCOUNTAを使います。DCOUNTAについては、すぐ後で説明します。
DCOUNTの構文
DCOUNTは、すべてのD関数と同じ3つの引数を使用します。
DCOUNT(database, field, criteria)
- database - ヘッダーを含む完全なテーブルです。
- field - 数値が入っているかどうかを確認する列です。
- criteria - 一致条件を指定する範囲です。
一致する行のうち、そのフィールドに数値が入っている行数を返します。
=DCOUNT(A1:C13, "Amount", E1:E2)最初のカウント
A1:C13に、Region、Rep、Amountというヘッダーを持つ売上データがあるとします。E1にRegion、E2にEastを入力します。
この数式は、Amountが数値になっているEastの行を数えます。Amountがすべて入力されたEastの注文が4件ある場合、結果は4です。フィールドを数値以外の列に変更すると、カウントの動作は異なります。これについては後で確認します。
=DCOUNT(A1:C13, "Amount", E1:E2)フィールドが数値である必要がある理由
DCOUNTは、フィールド列に数値が入っているセルだけを数えます。名前が入っているRep列を指定すると、条件に一致する行があっても0を返します。名前は数値ではないためです。
そのため、DCOUNTで数えるときはAmountのような数値フィールドを選びます。条件によって行を絞り込む点は変わりません。フィールドは、何をカウント対象にするかを決めるだけです。
=DCOUNT(A1:C13, "Amount", E1:E2)一致するすべての行を数える
フィールドが数値かどうかに関係なく、すべての一致する行を数えたい場合はどうすればよいでしょうか。空の引用符の組、または常にデータが入っているヘッダーを渡すことで、フィールドを省略できる場合があります。
確実な方法は、IDやAmountなど、必ず数値が入っていると分かっている列をDCOUNTに指定することです。そうすれば、カウントは一致するレコード数と等しくなります。
=DCOUNT(A1:C13, "Amount", E1:E2)DCOUNTAを使う
DCOUNTAは、フィールドが空白でない一致行を数えます。数値とテキストの両方がカウント対象です。Repのように、フィールドがテキストの場合に使用します。
担当者が記録されているEastの行数を数えるには、条件にRegion/Eastを指定し、Repフィールドを使います。この場合、DCOUNTは0を返しますが、DCOUNTAなら空でない名前を正しく数えられます。
=DCOUNTA(A1:C13, "Rep", E1:E2)数値条件で数える
数値条件とDCOUNTを組み合わせると、「高額な注文はいくつあるか」という問いに答えられます。E1にAmount、E2に>1000を入力します。
これで、Amountが1000を超えるすべての行が数えられます。フィールドと条件列の両方がAmountなので、カウントは高額な注文数と等しくなります。
=DCOUNT(A1:C13, "Amount", E1:E2)AND条件で数える
Eastの注文のうち、1000を超えるものを数えるには、2列の条件範囲を使用します。E1:F1にRegionとAmountのヘッダーを入力し、E2:F2にEastと>1000を入力します。
同じ行の条件はANDを意味するため、DCOUNTはEastかつ1000を超える行を数えます。各条件を満たす行を1件として数えるため、フィールドはAmountのままにします。
=DCOUNT(A1:C13, "Amount", E1:F2)OR条件で数える
EastまたはWestの注文を数えるには、値を別々の行に配置します。E1にRegion、E2にEast、E3にWestを入力します。
別の行の条件はORを意味するため、DCOUNTはどちらかの地域に一致する行をすべて数えます。両方の条件行を含めるため、criteria引数をE1:E3まで広げます。
=DCOUNT(A1:C13, "Amount", E1:E3)DCOUNTとCOUNTIFSの比較
DSUMと同様に、DCOUNTは数式内に直接条件を書く代わりに、セルベースの条件範囲を使用します。
- COUNTIFSは、固定された単純な条件を簡潔に記述できます。
- DCOUNTは、セルを編集してユーザーがフィルターを変更でき、数式を複数重ねる代わりに追加の行でOR条件を表現できます。
DCOUNTには数値フィールドが必要です。下のCOUNTIFS版では、一致する行を直接数えています。
=COUNTIFS(A2:A13, "East", C2:C13, ">1000")DCOUNTとDSUMを組み合わせる
DCOUNTとDSUMは、ダッシュボードで組み合わせると効果を発揮します。両方に同じ条件範囲を使うと、DSUMが合計を、DCOUNTがその合計を構成するレコード数を返します。
これらを組み合わせれば、DAVERAGEを使わずに平均を表示したり、「Eastは4件の注文で合計2500」といった情報をそのまま示したりできます。両方が同じ条件セルを参照するため、1つのフィルターを変更するだけで、カウントと合計が連動して更新されます。
=DSUM(A1:C13,"Amount",E1:E2) / DCOUNT(A1:C13,"Amount",E1:E2)確認問題
担当者名が入っているRep列をDCOUNTに指定し、複数の行に一致する条件を設定しました。どうなりますか。
まとめ
DCOUNTは、フィールドが数値である一致レコードを数えます。
- 構文:
DCOUNT(database, field, criteria)。 - フィールド内の数値だけを数えます。テキストや空白でない値を数える場合はDCOUNTAを使います。
- 同じ行の条件はAND、別の行の条件はORです。
- 一致するすべての行を数えるには、必ず数値が入っている列をフィールドに指定します。
次は、DAVERAGEで一致するレコードの平均を求め、DGETで単一の値を取得します。
AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「DCOUNTでレコードを数える」レッスンは無料ですか?
はい。「DCOUNTでレコードを数える」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「DCOUNTでレコードを数える」で何を学びますか?
構造化された表で、条件に一致する行を数えます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「DCOUNTでレコードを数える」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 条件範囲を設定する
- DSUMでレコードを合計する
- DCOUNTでレコードを数える
- DAVERAGEとDGETで平均と抽出を行う