最近の数週間、ExcelのCopilotを使用してできることをいくつか示す投稿を行ってきました。今週は、ExcelのCopilotがどのように重複しない値をカウントするための式を作成するのを手助けできるかを紹介します。具体的には、イベントの場所を示したテーブルがあり、その中から重複しない場所の数を計算する式を見つけたいという内容です。
イベントの場所を示すテーブルには、日付と場所の列があります。このテーブルから、いくつの異なる場所があるのかを確認したいと考えています。最終的にCopilotが分析した結果、50の異なる場所があるとのことでした。
ただし、Copilotが提示した50という結果に満足するだけではなく、リストが変更されるたびに更新される式が欲しいと考え、同僚から提案された以下の式を尋ねました:
=SUM(--(FREQUENCY(MATCH(C:C, C:C, 0), MATCH(C:C, C:C, 0)) > 0))
この式は、C列の重複しない場所の数を計算するもので、以下のように機能します:
- MATCH(C:C, C:C, 0): C列内の各値の位置を示す配列を作成します。0は完全一致を意味しています。
- FREQUENCY(MATCH(C:C, C:C, 0), MATCH(C:C, C:C, 0)): MATCH関数で作成された配列内の各値が出現する頻度をカウントします。これにより、各要素が対応する値の頻度を表す配列が得られます。
- FREQUENCY(…) > 0: それぞれの頻度が0より大きい場合にTRUE、その場合はFALSEとなる真理値の配列を作成します。
- –(FREQUENCY(…) > 0): 二重の単項演算子(–)がこの真理値の配列を1と0の配列に変換します。
- SUM(…): 最後に、1と0の配列を合計することで、重複しない場所の総数を得ます。
この式の仕組みは理解できましたが、少し複雑に思いました。Copilotに「この式を簡略化できるか」と尋ね、もっとシンプルな方法を提案して、以下の式が提案されました:
=COUNTA(UNIQUE(Table19[Location]))
この方法の方がずっと簡単です! コピペしてワークブックに登録すると、テーブルが変更されても自動的にユニークな場所の数が更新されます。
また、過去6週間の間に行った追加の例についても紹介していますので、興味がある方はぜひチェックしてください。
Microsoft Excelチームより注意事項もあり、機能が期待通りに動作しない場合は、機能の段階的な展開プロセスが原因の可能性があるとのことでした。数週間後に再度試してください。
————-
ソース
コメント