Excelを使用して小さなデータベースを作成することは珍しいことではありません。たとえば、プードルブリーダークラブのメンバーのリストをExcelに保持したり、それを使用してアクティブな営業担当者のリストを維持したりできます。そのような場合、複数の基準を満たすレコードの数をどのように取得できるのか疑問に思われるかもしれません。

メンバーシップリストを分析していて、性別列に「F」が含まれているレコードの数を確認したいとします

都市の列には、「Norwood」などの特定の都市が含まれています。もちろん、これはあなたのグループの何人の女性メンバーがノーウッドに住んでいるのかという燃えるような質問に答えるので役に立ちます。

Excelには、リスト内のレコード数を決定するのに便利なワークシート関数がいくつか含まれています。 2つの基準を満たさなければならない状況でこれらをどのように使用できるかは、すぐには明らかではない場合があります。

ノーウッドの女性会員の望ましい目標を達成するための5つの具体的な方法を調べてみましょう。 (列Bが性別の列で、列Hが都市の列であると想定します。)

この問題を解決する最初の方法は、DCOUNTA関数を使用することです。この関数を使用すると、一連の基準を定義し、それらの基準をデータのリストを分析するための基礎として使用できます。 Excelのすべてのデータ関数と同様に、DCOUNTAは、データ範囲、比較に使用する列、および基準範囲の3つのパラメーターに依存しています。この関数を使用するには、ワークシートの未使用領域に基準テーブルを設定します。たとえば、セルAA1からAB2に次のように設定できます。

| AA | AB

| 1 |性別|市

| 2 | F |ノーウッド

|次に、元のデータテーブルがセルA1:K500(明らかに大規模なプードルブリーダーズクラブ)にあると仮定すると、以下を使用してカウントを決定できます。

=DCOUNTA(A1:K500,1,AA1:AB2)

結果は、AA1:AB2で指定した基準を満たすカウントです。

また、AA1とAB1で使用した名前は、テーブルレコードで使用したラベルと正確に一致する必要があることに注意してください。その場合、レコードをカウントに追加するには、Gender列(列B)の内容がFであり、City列(列H)の内容がNorwoodである必要があります。

2番目の解決策は、配列数式を使用して単一の回答を返すことです。配列数式は、興味深いことに、SUM関数と少しのブール演算を使用して、レコードをカウントする必要があるかどうかを判断します。次のことを考慮してください:

=SUM((B2:B500="F")*(H2:H500="Norwood"))

上記の数式をセルに入力し、Ctrl + Shift + Enterを押して終了するだけです。これにより、Excelは配列数式を入力していることを認識します。数式は、数式で指定された基準に従って、配列の各行の内容を順番に比較するため、機能します。まず、B列の内容を「F」と比較します。一致する場合、比較はTrueを返します。これは数値1です。

次に、列Fの内容が「Norwood」と比較されます。その比較が真の場合、1が返されます。したがって、1 1は1に等しくなり、これが配列のSUMに追加されます。いずれかの比較がFalseの場合、数値0が返され、1 0は0に等しくなり(00および01も同様)、実行中のSUMには影響しません。

3番目の密接に関連するアプローチは、SUMPRODUCT関数を使用することですが、配列数式では使用しません。 2つの基準が満たされているかどうかを知りたいセルでは、次のように簡単に使用できます。

SUMPRODUCT((B2:B500="F")*(H2:H500="Norwood"))

これは配列数式ではないため、Ctrl + Shift + Enterを押す必要はありません。この式も、ブール数学の魔法を通して機能します。

すでに説明したものよりも少し手動である4番目の可能な解決策は、小計とともにオートフィルター機能を使用することです。データレコードがA1:K500にあり、行1に列ラベルがあるとすると、次の手順に従います。

。データテーブルの任意のセルを選択します。

。 [データ]メニューから[フィルター]を選択し、次に[オートフィルター]を選択します。 Excelは、行1の各列ラベルの横に[オートフィルター]ドロップダウンインジケーターを表示する必要があります。

。性別列(列B)のドロップダウンインジケーターを使用して、Fを選択します。リストは自動的にフィルター処理され、女性メンバーのみが表示されます。

。都市列(列H)のドロップダウンインジケータを使用して、Norwoodを選択します。リストは自動的に表示され、ノーウッドに住む女性メンバーのみが表示されます。

。データテーブルの下部(行501)の任意の列に、次の数式を入力します。

=SUBTOTAL(3,B2:B500)

この数式により、SUBTOTAL関数はCOUNTA関数を適用して小計を導き出します。つまり、フィルタリングによって表示されるすべてのレコードのカウントを返します。これは必要な数です。

5番目のアプローチは、条件付き合計ウィザードを使用して数式を作成することです。 (条件付き合計ウィザードはExcelアドインとして使用できます。[ツール] | [アドイン]を選択して、ウィザードがインストールされて使用可能であることを確認してください。)条件付き合計ウィザードを使用するには、次の手順に従います。

。分析するデータ内のどこかにあるセルを選択します。

。 [ツール]メニューから[条件付き合計]を選択します。 Excelは、条件付き合計ウィザードの最初のステップを表示します。データの全範囲がダイアログボックスにすでに表示されているはずです。 (図1を参照)

。 [次へ]をクリックします。 Excelは、ウィザードの次のステップを表示します。

。 [合計する列]ドロップダウンリストで、[性別]を選択します。

。 [列]ドロップダウンで、[性別]を選択します。

。 [Is]ドロップダウンで、等号を選択します。

。 [この値]ドロップダウンで、[F]を選択します。

。 [追加]をクリックします。指定した条件がダイアログボックスに表示されます。

。 [列]ドロップダウンで、[都市]を選択します。

。 [Is]ドロップダウンで、等号を選択します。

。 [この値]ドロップダウンで、[Norwood]を選択します。

。 [追加]をクリックします。 2番目の条件がダイアログボックスに表示されます。

。 [次へ]をクリックします。 Excelは、ウィザードの3番目のステップを表示します。

。数式のみを単一のセルにコピーを選択します。

。 [次へ]をクリックします。 Excelは、ウィザードの4番目(および最後)のステップを表示します。

。ワークシートで、数式の結果を含めるセルをクリックします。

。 [完了]をクリックします。

結果は、手順1で選択したセルに、指定した条件に適した数式になります。

レコードの数を把握するために使用できる他の可能な解決策は間違いなく無数にあります。ただし、これらは「たくさんの選択肢」であり、答えをすばやく簡単に判断できます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2809)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Counting_Records_Matching_Multiple_Criteria [複数の基準に一致するレコードのカウント]