Davidは、国のリストが記載されたワークシートを持っています。このリストは、セルA1:A100に重複している可能性があります。 Davidは、リスト内の一意の国の数を確認したいと考えています。

マクロを使用せずに、カウントを導出する方法はいくつかあります。使用する方法は、リスト内のデータの特性によって異なります。ただし、開始するのに適した場所は、国のリストを表す名前付き範囲を定義することです。次の例では、範囲の名前がCountriesであると想定しています。

(キャッチーな名前ですね?)

リストにテキストエントリのみが含まれ、空白のセルが含まれていない場合、次のようにカウントされます。

=SUM(1/COUNTIF(Countries,Countries))

Ctrl + Shift + Enterを押して、配列数式として入力する必要があります。リストに空白のセルが含まれている場合、数式は少し複雑になります。空白がある場合は、次の長い配列数式が機能します。

=SUM(IF(FREQUENCY(IF(LEN(Countries)>0,MATCH (Countries,Countries,0),""), IF(LEN(Countries)

>0,MATCH(Countries,Countries,0),""))>0,1))

このアプローチ(FREQUENCY関数を使用)は、マイクロソフトサポート技術情報で詳しく説明されています。

http://support.microsoft.com/kb/100122

(何らかの理由で)配列数式を使用したくない場合は、リストの右側にある空白の列を利用できます。この列には、左側の値がリスト内で一意であるかどうかを示す通常の数式が含まれます。値が最初に表示されると、数式は数値1を返します。同じ値がその後表示されるたびに、数式は0を返します。リストを並べ替えることから始めて、セルB1に次の数式を配置します。

=IF(ISNA(VLOOKUP(A2,$A$1:A1,1,)),1,0)

数式をB1からB2:B100の範囲にコピーするだけです。これらの結果が適切に配置されていれば、列Bを簡単に合計して、リスト内の一意の値を数えることができます。

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

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