COUNTIFS関数について
COUNTIFS関数の使用制限
概要
COUNTIFS関数は、指定したセル範囲のうち、検索条件をすべて満たすデータの個数をカウントします。
計算式
=COUNTIFS (条件範囲 1, 検索条件 1, 条件範囲 2, 検索条件 2,…)
条件範囲 1(必須)
評価対象の範囲です。クラスターではないセルも指定できます。
指定範囲に結合セルが含まれる場合、すべての結合セル内のセル数を合わせる必要があります。 セル数が不一致の場合、正常な計算結果が得られません。
クラスターではないセルを条件範囲に指定し、そのセルの値が bool型であった場合、i-Reporterではその値を文字列の「True」「False」として扱います。そのため、計算結果がExcelとi-Reporterでは異なります。 条件範囲でbool値を扱う場合は、条件範囲も全てクラスター化した上で、チェッククラスターや計算式クラスターをご使用ください。
検索条件 1(必須)
数値、文字列、数式、セル参照(クラスター参照)で指定します。
検索条件をセル参照とする場合、参照するセルはクラスター化されている必要があります。
検索条件を数式とする場合、使用できるのは、四則演算 および i-Reporterで対応しているExcel関数のみです。
引数が上記に合致しない場合、i-Repo Designer取込み時に数式エラーになります。
条件範囲2/検索条件2,...(任意)
追加の範囲と対応する条件がある場合は指定します。
各追加範囲は、範囲1と行列数が一致している必要があります。 範囲同士が隣接している必要はありません。
引数として指定できないクラスター種別
i-Reporterで「計算式に含めることが不可であるクラスター種別」は、COUNTIFS関数の条件範囲 および 検索条件に指定することができません。
詳細は、「EXCEL関数機能 > Excel計算式における ConMas i-Reporterの仕様制限 > 計算式に含めることが不可であるクラスター種別」をご参照ください。
加えて、下記クラスター種別には個別の制限があります。
年月日クラスター 年月日クラスターは、iOS版アプリでのみ利用可能です。 Windows版アプリではカレンダー年月日として動作します。
帳票登録者、帳票登録年月日、帳票更新者、帳票更新年月日、コードリーダー、GPS位置情報 これらのクラスター種別はiOS版アプリのみ対応しており、Windows版アプリで入力帳票を開いた際は未知のクラスターとして扱われます。 未知のクラスターが計算式の参照元となっている場合、参照値は文字列として扱われます。
クラスターの値の扱い
引数として指定するクラスターの値は、次のように扱われます。
トグル選択
トグル選択クラスターを文字列として扱う(ラベルを参照する)か、数値として扱う(値を参照する)かは、i-Repo Manager > 共通マスター管理 の設定に依存します。
設定について、詳細は「EXCEL関数機能 > Excel計算式における ConMas i-Reporterの仕様制限 >トグル選択クラスターの扱い 」をご参照ください。
バーコード
該当のバーコードクラスターの設定に依存します。
【設定箇所】 i-Repo Designerにて帳票定義を開き、該当バーコードクラスターの「入力パラメータ設定」画面 > 読み込んだ文字列:数値として扱う
チェックなし:文字列として扱います
チェックあり:数値として扱います

単一選択
該当の単一選択クラスターの設定に依存します。
【設定箇所】 i-Repo Designerにて帳票定義を開き、該当単一選択クラスターの「入力パラメータ設定」画面 > 選択肢の「値」:選択肢の「値」を数値として扱う
チェックなし:文字列として扱います
チェックあり:数値として扱います

年月日、カレンダー年月日、時刻
年月日、カレンダー年月日、時刻クラスターの値は、シリアル値を数値として扱います。
計算式クラスターでCONCATENATE関数を使用し、結果が 「演算子+シリアル値」の場合も同様に数値として扱います。
検索条件をセル参照(クラスター参照)とする場合の注意
動的条件の作り方
検索条件がセル参照(クラスター参照)の場合でも、 “=” 以外の比較演算子 “>=" “>" “<" “<=" “<>" が利用できます。
ただし、i-Reporterでは &演算子が使用できないため、例えば =COUNTIFS(B1:B4, ">=" & C1) のように検索条件を記述することはできません。
下記のような方法で動的な検索条件を作成します。
参照元のセル(クラスター)に比較演算子込み文字列を持たせる 【例】">=25"
参照元のセル(クラスター)を計算式クラスターとし、CONCATENATE関数 で演算子と値を連結する 【例】CONCATENATE(S1C0, S1C1) →S1C0に「>=」が、S1C1に「25」が入力されている場合、条件として適用されるのは 「>=25」
文字列の比較
文字列同士の大なり小なりを正しく比較することはできません。 ただし、数値+アルファベットのみ、下記順序で順番通りに大小を比較できます。
数値→アルファベット 順(大文字小文字は問わない) 0,1,2,…,9,A,B,C…,X,Y,Z
最終更新
役に立ちましたか?