関数を使用した一意の値のカウント(Microsoft Excel)
Davidは、国のリストが記載されたワークシートを持っています。このリストは、セルA1:A100に重複している可能性があります。 Davidは、リスト内の一意の国の数を確認したいと考えています。
マクロを使用せずに、カウントを導出する方法はいくつかあります。使用する方法は、リスト内のデータの特性によって異なります。ただし、開始するのに適した場所は、国のリストを表す名前付き範囲を定義することです。次の例では、範囲の名前がCountriesであると想定しています。
(キャッチーな名前ですね?)
リストにテキストエントリのみが含まれ、空白セルが含まれていない場合、次のようにカウントされます。
=SUM(1/COUNTIF(Countries,Countries))
Ctrl + Shift + Enterを押して、配列数式として入力する必要があります。リストに空白のセルが含まれている場合、数式は少し異なります。空白がある場合は、次の長い配列数式が機能します。
=SUM((Countries<>"")/(COUNTIF(Countries,Countries)+(Countries="")))
別の配列関数は機能しますが、式はもう少し複雑です:
=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/?kbid=100122
(何らかの理由で)配列数式を使用したくない場合は、リストの右側にある空白の列を利用できます。この列には、左側の値がリスト内で一意であるかどうかを示す通常の数式が含まれます。値が最初に表示されると、数式は数値1を返します。同じ値が表示されるたびに、数式は0を返します。リストを並べ替えることから始めて、セルB1に次の数式を配置します。
=IF(ISNA(VLOOKUP(A2,$A$1:A1,1,)),1,0)
数式をB1からB2:B100の範囲にコピーするだけです。これらの結果が適切に配置されていれば、列Bを簡単に合計して、リスト内の一意の値を数えることができます。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(11708)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
link関数を使用した一意の値のカウント。