EXCEL関数の利用
2024.04.17© CIMTOPS Corporation.

改訂履歴
日付

バージョン

記載ページ

改訂内容

2015-01-16

Rev1.0.0--

初版を発行しました。

2018-11-05

V6.2.18110

P4, 10AND関数、OR関数に関して追記しました。

P4AND関数、OR関数未対応アプリ追記

P4

Windows版 i-Reporter AND関数、OR関数に関して追記しました。

2019-12-17

P8

LOOKUP関数、VLOOKUP関数の検索対応範囲を追記しました。

2020-12-25

P29「その他 制約事項」を追加、計算式 省略形式へは未対応であることを追記しました。

2021-03-30

P22-24「EXCEL計算式における ConMas i-Reporterの仕様制限」内に「文字列としての”TRUE”または”FALSE”」「未入力判定について」「セルの範囲指定に結合セルが含まれる場合」を追加しました。

2021-03-30

P25「結合セルに対する処理の違い」を「COUNTBLANK関数の結合セルに対する処理の違い」に変更し、記載内容を見直しました。

2019-03-05
2019-05-14

Windows版
V4.1.19040

2021-05-13

V8.0.21050

P7

SQRT関数を追加しました。

2022-02-21

V8.0.22020

P9、P12EDATE関数を追加しました。
EDATE関数の使用制限を追加しました。

2024-04-17

V8.1.24040

P7、P13POWER関数を追加しました。
POWER関数の使用制限を追加しました。

P35「その他 制約事項」に配列定数の使用制限を追加しました。

© CIMTOPS Corporation.

2

目次• 使用可能なEXCEL関数
論理関数
統計関数
数学関数
検索・行列関数
文字列操作関数• AND/OR関数の使用制限• EDATE関数の使用制限• POWER関数の使用制限• 年月日/時刻の計算• 年月日/時刻の計算結果表示• 計算結果データ型• 旧形式と新形式の計算式クラスター• 旧形式から新形式への計算式クラスターの変更• EXCEL計算式におけるConMas i-Reporterの仕様制限• EXCEL関数使用例 VLOOKUP関数の設定方法© CIMTOPS Corporation.

3

論理関数
論理関数は指定した条件を判定する場合に使用します。
1

IF

値または数式が条件を満たしているかどうかを判定し、結果に応じて指定した内容を返します。

2

IFERROR

数式の結果がエラーの場合は指定した値を返し、それ以外の場合は数式の結果を返します。

3

AND

論理積を求めます。IF関数の条件式でのみ使用できます。
※iOS版アプリ：Ver.6.2.18100以上 Windows版アプリ：Ver.4.1.19040以上

4OR

論理和を求めます。IF関数の条件式でのみ使用できます。
※iOS版アプリ：Ver.6.2.18100以上 Windows版アプリ：Ver.4.1.19040以上

AND/ORの使用には制限事項がありますので詳細は「AND/OR関数の使用制限」項目も合わせてご参照下さい。

© CIMTOPS Corporation.

4統計関数 (1/2)
統計関数は対象となる集計データの平均値、最大値、最小値を求めることができます。
5

AVEDEV平均偏差を返します。

6

AVERAGE

引数で指定した値の平均値を返します。

7

AVERAGEA

引数で指定した値の平均値を返します。論理値も対象となります。

8

AVERAGEIF

条件にあったセルの値の平均を返します。

9

AVERAGEIFS

複数の条件に合った数値の平均を返します。

10

COUNT

指定したセル範囲の数値のみの個数の合計を返します。

11

COUNTA

指定したセル範囲の数値、文字列などの個数の合計を返します。

12

COUNTBLANK

指定したセル範囲の未入力データの合計を返します。

13

COUNTIF

指定したセル範囲のうち、検索条件に一致するデータの個数を返します。

14

MAX

引数で指定した値から最大値を返します。

15

MAXA

引数で指定した値から最大値を返します。論理値も対象となります。

16

MEDIAN

引数で指定した値から中央の値を返します。

17

MIN

引数で指定した値から最小値を返します。

18

MINA

引数で指定した値から最小値を返します。論理値も対象となります。

© CIMTOPS Corporation.

5統計関数 (2/2)
19

MODE

引数で指定した値から最頻値を返します。

20

PERCENTRANK

引数で指定した配列またはセル範囲で順位を百分率で表した値を返します。

21

STDEV

引数を正規母集団の標本と見なし、標本に基づいて母集団の標準偏差の推定値を返します。

22

STDEVA

引数を正規母集団の標本と見なし、標本に基づいて母集団の標準偏差の推定値を返します。
論理値も対象となります。

23

STDEVP

引数を母集団全体と見なし、母集団の標準偏差を返します。

24

STDEVPA

引数を母集団全体と見なし、母集団の標準偏差を返します。論理値も対象となります。

© CIMTOPS Corporation.

6

数学関数
数学・三角関数は合計値などの四則演算、数値の桁丸めや階乗などを計算することができます。
25

ABS

数値の絶対値を返します。

26

ROUND

指定した桁数で数値を四捨五入します。

27

ROUNDDOWN

指定した桁数で数値を切り捨てます。

28

ROUNDUP

指定した桁数で数値を切り上げます。

29

SUM

指定した数値またはセルの範囲の値を合計します。

30

SUMIF

指定した条件に一致するセルの値を合計します。

31

SUMIFS

指定した複数の条件にあった数値を合計します。

32

SQRT

数値の正の平方根を求める関数です。
※Designer Ver.8.0.21050以上※iOS版アプリ：Ver.8.0.21050以上 Windows版アプリ：Ver.5.2.21050以上※チェッククラスターは計算対象にできません。

33

POWER

べき乗を計算する関数です。
※Designer Ver.8.1.24040以上※iOS版アプリ：Ver.8.1.24040以上

Windows版アプリ：Ver.5.2.24040以上© CIMTOPS Corporation.

7検索・行列関数
検索・行列関数はワークシート内のデータを検索する際に使用します。
34

LOOKUP

指定範囲を縦方向に検索し、検索値と同じ位置にある対応範囲のセルの値を返します。
※横方向の検索には未対応です。

35

VLOOKUP

指定範囲を縦方向に検索し、検索値に合致した場合、指定した列番号にある値を返します。
※横方向の検索には未対応です。

36

AREAS

参照で指定したセル範囲の領域の個数を返します。

© CIMTOPS Corporation.

8日付・時刻関数
日付・時刻関数は日付・時刻計算を行う際に使用します。
37

EDATE

指定した開始日の、数か月後または数カ月前の日付を返します。
※Designer Ver.8.0.22020以上※iOS版アプリ：Ver.8.0.22020以上 Windows版アプリ：Ver.5.2.22020以上© CIMTOPS Corporation.

9文字列操作関数
文字列を指定した形式に変換したり、文字列の一部を抜き出したりする時に使用します。
38

ASC

全角文字列を半角文字列に変換します。

39

CONCATENATE

引数で指定した複数の文字列または数値を結合します。

40

LEFT

文字列の左端から指定した数の文字を返します。

41

LEN

指定した文字列の文字数を返します。

42

MID

文字列の指定した開始位置から指定した文字数分の文字列を返します。

43

RIGHT

文字列の右端から指定した数の文字を返します。

以上に加えて、四則演算子（+ - * /）のみ使用可能となります。

© CIMTOPS Corporation.

10AND/OR関数の使用制限
AND/OR関数はIF関数の条件式でのみ使用可能です。また、AND/OR関数内で更にAND/OR関数を使用することは可能です。AND/OR関数内では別の関数を使用することも可能です。
＝IF(条件式, TRUEの処理,FALSEの処理)
IF関数の条件式でAND/OR関数の使用が可能です。

■AND/OR関数の使用が可能な例＝IF(OR(AND(SUM(S1C0,S1C1)>0,S1C0=S1C1), AND(S1C1=S1C2,S1C1>0)),1,0)
AND/OR関数内で更にAND/OR関数を使用することも可能です。
AND/OR関数内で別の関数を使用することも可能です。

＝IF(S1C0<0,”NG”,SUM(IF(AND(S1C0=S1C1,S1C0=S1C2),1,0),1))
2つ目のIF関数の条件式でAND関数を使用しているので問題ありません。

■AND/OR関数が使用できない例＝IF(SUM(AND(S1C0>0,S1C1>0),S1C2,S1C3)>3,”OK”,”NG”)
SUM関数内でAND/OR関数を使用しているためNGとなります。
© CIMTOPS Corporation.

11

EDATE関数の使用制限
EDATE関数は、第一引数に開始日を年月日で指定し、第二引数に月を指定することで、開始日から指定した月数分を足して（マイナス値の場合は引いて）日付を算出する関数です。
計算結果が年月日となる関数のため、EDATE関数の結果を表示したい計算式クラスターに対しては、「計算結果データ型」を「年月日・時刻」に設定して年月日書式を指定して下さい。
=EDATE(開始日,月)■第一引数の指定について第一引数には開始日として、シリアル値またはクラスターを指定します。
小数値が指定された場合は小数点以下を切り捨てて算出します。
文字列での年月日指定は不可です。開始日を固定値で指定したい場合はシリアル値を指定して下さい。
（第一引数として指定可能なクラスター種別）「年月日」、「カレンダー年月日」、「計算式（計算結果データ型を「年月日・時刻」に設定して年月日書式を指定して下さい）」、「帳票登録年月日（iOS版アプリのみ）」、「帳票更新年月日（iOS版アプリのみ）」■第二引数の指定について第二引数には計算する月として、数値またはクラスターを指定します。
小数値が指定された場合は小数点以下を切り捨てて算出します。
文字列での指定は不可です。
（第二引数として指定可能なクラスター種別）「数値」、「数値選択」、「計算式」、「トグル選択（「値」を用いて計算を行います）」、「トグル集計」、「単一選択（「選択肢の「値」を数値として扱う」設定の場合のみ可）」、「バーコード（「読み込んだ文字列を数値として扱う」設定の場合のみ可）」© CIMTOPS Corporation.

12

POWER関数の使用制限
POWER関数は、第一引数に数値（累乗の底）を指定し、第二引数に指数を指定することで、数値の累乗を計算する関数です。
いずれの引数にも数値を指定してください。
=POWER(数値,指数)■第一引数の指定について数値（累乗の底）を指定します。

■第二引数の指定について指数を指定します。
（引数として指定可能なクラスター種別）
・ 数値選択・ 数値・ 計算式
・ トグル選択・ トグル集計
・ 単一選択 (数値として扱う設定の場合)
・ バーコード (数値として扱う設定の場合)※POWER関数内でシリアル値を使用した場合、桁あふれが発生し意図したとおりに動作しない可能性があります。
© CIMTOPS Corporation.

13

年月日/時刻の計算
年月日および時刻はシリアル値で計算を行います。

■シリアル値とは「1900年1月1日」を「1」とし、その日からの通算日数と時刻を数値として表したものです。
数値の「1」は1日として計算され、時刻は「1」を24時間に換算した小数値で表します。
「1900年1月1日」 → シリアル値は「1」「1900年1月5日」 → シリアル値は「5」「2015年1月1日」 → シリアル値は「42005」「0時0分0秒」 → シリアル値は「0.0」「12時0分0秒」 → シリアル値は「0.5」「21時0分0秒」 → シリアル値は「0.875」© CIMTOPS Corporation.

14

年月日/時刻の計算結果表示
年月日および時刻の計算はシリアル値で行うため、計算結果もそのままではシリアル値となり、数値として表示されます。
そこで、計算式クラスターの入力パラメーター設定に「計算結果データ型」設定が追加されました。
「計算結果データ型」を「年月日・時刻」に設定する事で、計算結果を指定した年月日または時刻の書式で表示することができます。
（例）
Designer設定

タブレット端末© CIMTOPS Corporation.

15

計算結果データ型
計算結果データ型の設定には、「その他」「年月日・時刻」「文字列」の3種類があります。それぞれの表示は以下の仕様となります。
■その他
従来と同じ計算結果表示を行います。「年月日・時刻」や「文字列」といった明確な表示指定が特にない場合に指定します。計算結果を自動判定し、文字列または数値として表示します。
そのため、数値に変換可能な文字列は、実体が文字列であっても数値として表示します。
また、論理値はそれぞれTrue=1、False=0の数値として表示します。
■年月日・時刻
計算結果となる数値をシリアル値計算し、指定した書式で年月日/時刻として表示します。
計算結果が文字列など、年月日・時刻に変換できない値だった場合はエラーとなります。
■文字列
計算結果を強制的に文字列として表示します。計算結果が論理値だった場合、”true”または”false”という文字列で表示されます。
計 算 結 果 が 数 値 で あ り 、 1.666666… の 様 に 無 限 に 続 く 様 な 小 数 値 だ っ た 場 合 、Designerで設定した計算式クラスターの小数点以下桁数の設定で丸めた上で文字列に変換して表示します。
© CIMTOPS Corporation.

16

EXCEL計算式におけるConMas i-Reporterの仕様制限
EXCELとConMas i-Reporterで計算式または計算結果表示の仕様が一部異なる事があります。
以下にConMas i-Reporterの仕様制限をまとめます。

© CIMTOPS Corporation.

計算式に含まれるセルはクラスター設定が必要
ConMas i-Reporterでは計算式クラスターにおいてEXCEL上でクラスター設定されていないセルを含む計算式は、DesignerへのEXCEL取込み時に「#REF」表示となり、帳票定義保存
時にエラーとなります。そのため、計算式に含まれるセルはEXCEL上でクラスター設定しておく必要があります。

計算式内で使用しているセルはクラスター設定しておく必要があります。

© CIMTOPS Corporation.

18

クラスター設定していないセル情報を取り込めるパターン
計算式に含まれるセルはクラスター設定されている必要がありますが、例外として、一部のEXCEL
関数の引数に限り、クラスター設定をしなくてもセルの値をConMas i-Reporterに取り込むことが可能です。
（対象EXCEL関数）
LOOKUP、VLOOKUP、AVERAGEIF、AVERAGEIFS、COUNTIF、SUMIF、SUMIFS
上記EXCEL関数の引数のうち、範囲指定を行う引数にあたるセルはクラスター設定する必要がありません。（あえてクラスター設定しておく事も可能です。）

この範囲のセルはクラスター設定しなくてもセル値のデータをConMas i-Reporterへ取り込む事が可能です。
範囲指定箇所が別シート内や印刷設定範囲外にあっても問題ありません。

=VLOOKUP(L23,S23:U36,3,FALSE)

関数内の引数のうち、範囲指定を行っている箇所© CIMTOPS Corporation.

19計算式に含めることが不可であるクラスター種別
計算式に含めることができないクラスター種別があります。以下のクラスター種別が計算式に含まれていた場合は、クラスター設定されたセルであってもDesignerへのEXCEL取込み時に計算式が「#REF」表示となります。

（計算式に使用できないのクラスター種別）• 手書きノート形式• 手書きフリーメモ• フリードロー
• 画像
• 作成
• 査閲
• 承認
• アクション
• ピン打ち• 録音• SCANDIT

計算式が不正と判定された場合に「#REF」が表示されます。

© CIMTOPS Corporation.

20文字列は数値として扱われない
ConMas i-Reporterでは、キーボードテキストクラスターをはじめとする文字列を扱うクラスター
種別を計算式に含めた場合、数値としては扱われません。そのため、キーボードテキストクラス
ターなどで数値を入力しても、数値ではなく文字列として扱われ、数値計算では無視されます。
LEFT、RIGHTなど、文字列を扱う計算式にて有効となります。
単一選択クラスター、QRコードクラスターに関しては、「数値として扱う」設定にした場合に限り、値を文字列ではなく数値として扱いますので数値計算に含めることが可能になります。ただし、値が数値変換できない文字列だった場合は数値計算から無視されます。

© CIMTOPS Corporation.

21

数式エラーの扱い
EXCELでは計算結果がエラーとなった場合に、「#DIV/0!」「#REF!」「#NAME?」「#N/A」「#NULL!」「#VALUE!」など、エラーの内容に応じたエラー表示となりますが、i-Reporterでは、すべて「!数式エラー」として表示されます。

© CIMTOPS Corporation.

22トグル選択クラスターの扱い
トグル選択クラスターは各ラベルに対して数値を設定できるクラスターであり、内部値として、文字列と数値を両方持つ特殊なクラスターです。そのため、トグル選択クラスターを計算式で扱う
際は、使用するEXCEL関数によって、数値として扱う場合と、文字列として扱う場合があります。また、未入力状態のトグル選択クラスターを数値で扱う場合は「0」と判定されます。
（トグル選択クラスターを文字列として扱う関数）
IF、ASC、CONCATENATE、LEFT、LEN、MID、RIGHT（上記EXCEL関数以外は全てトグル選択クラスターを数値として扱います。）

文字列として扱う場合はラベルを使用します。

数値として扱う場合は値を使用します。

© CIMTOPS Corporation.

23

チェッククラスターは常にTrueまたはFalse
ConMas i-Reporterではチェッククラスターに関して未入力状態をFalseとして扱います。そのため、計算式内に含められたチェッククラスターは常にTrueかFalseの値を持っています。
例として、COUNTA関数などでチェッククラスターは常にカウントされる状態となります。

チェッククラスター© CIMTOPS Corporation.

24

文字列としての”TRUE”または”FALSE”
EXCELと異なりi-Reporterではデータ型の自動変換を行いません。文字列として”TRUE”または”FALSE”を指定した場合、bool型としてのTRUEまたはFALSEとは別物であると判定します。
対して、EXCELは文字列として”TRUE”または”FALSE”を指定した場合でも、計算式の内容によっては自動でbool型に変換される場合があります。
この違いのため、”TRUE”または”FALSE”を絡めた計算式では、i-ReporterとEXCELとで計算結果が異なる場合があります。
EXCEL上での計算結果=IF(B3="","FALSE","TRUE")
つまり、計算結果が文字列としての”FALSE”になっている。

i-Reporter上での計算結果=IF(B2="FALSE","OK","NG")=COUNTIF(B2,"FALSE")

i-Reporterでは、IF関数の結果はEXCELと一致していますが、COUNTIF関数の結果は異なっています。これはEXCELではCOUNTIFで指定した文字列の”FALSE”がbool値のFALSEに自動変換されているため、B2の計算結果の文字列としての”FALSE”がカウントされないために発生している差異になります。

※現在、Windows版アプリでは計算結果データ型を「文字列」に指定していてもTRUE/FALSEをbool型として扱っている現象が発生しています。このため、計算式によってはiOS版アプリとWindows版アプリとで計算結果に差異が出る場合があります。
© CIMTOPS Corporation.

25

未入力判定について
i-Reporterにおいて文字列比較は文字列型同士でなければ比較できませんが、例外として、下記のように、IF関数を用いて条件式で空文字と比較することで、文字列型に限らず対象のクラスターが未入力であるかどうかを判定させることができます。

（例）IF(S1C1=“”,“未入力”,“入力済”) ※S1C1は対象となるクラスター
ただし、i-Reporterにおいては「空文字」と「未入力」の区別をつけることはできないため、いずれも未入力として判定されます。また、この方法で未入力判定が可能なクラスターは、チェッククラス
ター以外の計算式対象にできるクラスター種別に限ります。
また、IF関数以外では空文字比較による未入力判定はできません。

※EXCELではbool型のFALSEと比較して文字列や数値の未入力判定を行うことができますが、i-Reporterではデータ型を自動変換しないため、FALSEとの比較による未入力判定は行えません。
© CIMTOPS Corporation.

26

セルの範囲指定に結合セルが含まれる場合
AVERAGEIF、AVERAGEIFS、COUNTIF、SUMIF、SUMIFS、LOOKUP、VLOOKUP関数について、セルの範囲指定に結合セルが含まれる場合、すべての結合セル内のセル数を合わせて頂く必要があります。これが不一致の場合は正常な計算結果が得られません。
（OK例）「性別」「年齢」の結合セル内のセル数が8個ずつで一致している。

セルの範囲指定

セルの範囲指定（NG例）「性別」の結合セル内のセル数は8個、「年齢」の結合セル内のセル数は12個で、一致していない。

セルの範囲指定

セルの範囲指定© CIMTOPS Corporation.

27

COUNTBLANK関数の結合セルに対する処理の違い
COUNTBLANK関数について、EXCELの場合、結合セルを１つのセルとは見なさずに、範囲内の各セルを１つ１つ個別に扱って計算を行います。これに対して、i-Reporterでは、結合セルを１つのクラスターと見なして計算を行います。これにより、結合セルを含む
COUNTBLANK関数の計算結果はEXCELとi-Reporterとで違いが表れます。
EXCELでは結合状態に関わらず指定範囲内のセルを個別にカウントします。

=COUNTBLANK(N2:AG6)

ConMas i-Reporterでは結合セルを１つのクラスターと見なしてカウントします。

© CIMTOPS Corporation.

28

EXCEL関数使用例
VLOOKUP関数の設定方法
EXCEL関数の使用例を、代表的な関数であるVLOOKUP関数を用いて具体的に説明します。

© CIMTOPS Corporation.

①VLOOKUP関数について■VLOOKUP関数とは指定した範囲内のセルに記述された値のうち、範囲内の1列目（一番左端の列）を特定の値で検索し、その結果、同じ行にある別の値を返す関数です。
EXCEL上でセルを用いて作成した表に対して、特定の値で表を検索し、その結果に応じた表中の値を返すという使い方ができます。

（VLOOKUP関数の使用例）

VLOOKUP関数。
ここでは、指定した値（みかん）の「価格」を返しています。

指定した範囲

指定した範囲の一番左端の列にて検索する値を指定。

© CIMTOPS Corporation.

検索の結果、見つかった行

30

②EXCEL上にVLOOKUP関数を記述
ConMas i-Reporterへ、VLOOKUP関数を取り込むために、まずはEXCELファイル上で、VLOOKUP関数の記述を行います。

■VLOOKUP関数の書式=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
検索値 = 指定範囲内の一番左端の列にて検索を行う値を指定します。
範囲 = 検索を行う範囲を指定します。(表となる範囲を指定します)
列番号 = 検索の結果として表示したい値の列番号（範囲内の何列目か）を指定します。
検索方法 = TRUEの場合は近似値検索、FALSEの場合は完全一致検索を行います。
（これは省略が可能です。省略するとTRUE扱いとなります。）© CIMTOPS Corporation.

31

③範囲の指定について
ConMas i-Reporterでは、EXCEL取込み機能に関して次のような仕様制限があります。

・クラスター設定していないセルデータは取込みの対象としない。
・印刷範囲設定の範囲外となるセルデータは取込みの対象としない。
しかし、VLOOKUP関数など一部関数の引数部分に限り、例外となります。
VLOOKUP関数の第二引数の範囲指定（表となる範囲の指定）にあたるセルに関しては、クラスター設定されていなくても、印刷範囲設定外であっても、また、別シート上にあっても、これらの値を取り込む事ができます。

表が印刷範囲設定外であっても、表の値を取込めます。

VLOOKUP関数本体と表がそれぞれ別シートにあっても、表の値を取込めます。

（注意）表となる範囲のセルが非表示設定されている場合や、表のあるシートが非表示設定されている場合は、セルデータの取込み対象外となります。
© CIMTOPS Corporation.

32

④VLOOKUP関数を記述したセルを計算式クラスターに設定
VLOOKUP関数を記述したセルを選択した状態で、右クリックメニューから「i-Reporter種別選択」を実行し、「クラスター種別選択」で「計算式」を設定します。
検索値に、固定値ではなくセルを指定した場合、該当セルに対しても必要に応じたクラスター種別を同様に設定します。
② アドインが起動① VLOOKUP関数を記述したセルを選択して、右クリックメニューから「iReporter 種別選択」を実行。

③ クラスター種別選択から「計算式」を選択して「設定」ボタンをクリックします。

検索値としてセルを指定した場合は、該当するセルに対しても、必要に応じたクラスター種別を同様に設定します。

© CIMTOPS Corporation.

33

⑤EXCELファイルをDesignerへ取り込む設定を行ったEXCELファイルを保存し、Designerへの取込みを行います。
② 「EXCELファイルから作成する」ボタンをクリックし、先ほど作成したEXCELファイルを選択して、取込みを行います。
① Desiger左上の「帳票定義を作成する」をクリックします。

③ 正常にDesignerへ取込みできましたら、定義を保存します。

以上の手順にて、タブレット上でVLOOKUP関数を用いた帳票定義を扱うことができます。
© CIMTOPS Corporation.

34その他 制約事項■計算式の条件部分を省略した記述には対応しておりません。
（例）=IF(A1,”OK“,”NG“)=IF(A1<>"",”OK","NG")

省略形式には対応していません。
このように修正ください。

■配列定数を使用した計算式には対応しておりません。

（例）=VLOOKUP(B2,{“B01”,”部品01”;”B02”,”部品02”;”L01”,”ラベル01”},2,FALSE)© CIMTOPS Corporation.

35