重複を排除してレコードをカウントする

値が重複しているレコードを1としてカウントする方法を説明します。

今回は会社名が同じレコードが複数存在するとき、まとめて1社としてカウントする設定をします。
必要なkintoneアプリは以下の2つです。

申込管理アプリ(集計元アプリ)
契約管理アプリ(集計先アプリ)
補足
情報を収集する「集計元アプリ」、収集・計算した情報を格納する「集計先アプリ」ともにDataCollectに登録する必要があります。
登録方法はDataCollectのはじめ方をご確認ください。

UNIQUEを利用する場合

1. 集計先アプリ(契約管理アプリ)にフィールド式を設定します。

①申込管理アプリから、一意の値を抽出し(UNIQUE)
②抽出された範囲内でレコード数をカウントする(COUNTA)

契約者数

= COUNTA(UNIQUE(申込管理!会社名))

ポイント(UNIQUE関数

UNIQUE(範囲, [比較方法], [一度だけ出現する値に限定])

・範囲 - 一意の値を抽出する範囲です。
・比較方法 - [省略可]比較方法を指定します。省略した場合はFALSEと同じです。
・一度だけ出現する値に限定 - [省略可]TRUEを指定すると一度だけ出現する値のみを返します。FALSEまたは省略した場合は、重複を除いた一意の値を返します。

以上で設定は完了です。


COUNTIFSを利用する場合

集計元アプリでレコード番号が最小のレコードにフラグを立てた上で、
フラグが立ったレコードをカウントします。

1.集計元アプリ(申込管理アプリ)にフラグフィールドを追加します。


2.集計元アプリ(申込管理アプリ)のフラグフィールドに、「重複がないレコード」と「重複がある場合は、その中でレコード番号が最小のレコード」にYESのフラグを立てます。

①申込管理アプリの「会社名」と
②契約管理アプリの「会社名」が一致するレコードを検索し
③レコード番号がより小さいレコードが0件のときに(COUNTIFS)
④YESのフラグを立てる(IF)

という式を設定します。

フラグ

=IF(COUNTIFS(申込管理!会社名,会社名,申込管理!レコード番号,"<"&レコード番号)=0,"YES","")

ポイント(COUNTIFS関数

COUNTIFS(範囲1, 検索条件1, [範囲2, 検索条件2, ...])

・範囲1 - 検索条件1に対して検証する範囲です。
・検索条件1 - 数値や文字列で指定します。
・範囲2, 条件2, ... - [省略可]検証対象となる追加の範囲と検索条件です。


3. 集計先アプリ(契約管理アプリ)で、
①対象月が一致していて、
②フラグが立っているレコードを集計します。

契約社数

=COUNTIFS(申込管理!対象月,対象月,申込管理!フラグ,"YES")

以上で設定は完了です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です