EXCEL関数機能
機能概要
i-Reporterは、四則演算と、40以上のEXCEL関数に対応しています。
Excelファイル上で「計算式クラスター」に設定したセルに記述されているEXCEL関数を、ConMas i-Reporter用の関数に変換して自動設定します。
【注意】
すべてのEXCEL関数に対応している訳ではありません。 i-Reporterで使用できるのは、本マニュアルの 「使用可能なEXCEL関数」に記載があるもののみです。 i-Reporterで対応していないEXCEL関数を使用した場合、ConMas Designer取り込み時にエラーになります。
使用可能なEXCEL関数
下記EXCEL関数に加えて、四則演算子(+ -* /)のみ使用可能です。
「&」(アンパサンド)はご使用いただけません。
また、「*」(半角アスタリスク)をワイルドカードとして使用することもできません。 「*」(半角アスタリスク)は「乗算」の算術演算子としてのみ使用できます。
論理関数
論理関数は指定した条件を判定する場合に使用します。
1
IF
値または数式が条件を満たしているかどうかを判定し、結果に応じて指定した内容を返します。
2
IFERROR
数式の結果がエラーの場合は指定した値を返し、それ以外の場合は数式の結果を返します。
3
AND
論理積を求めます。IF関数の条件式でのみ使用できます。
4
OR
論理和を求めます。IF関数の条件式でのみ使用できます。
AND/ORの使用には制限事項があります。 詳細は 「AND/OR関数の使用制限」 の項も併せてご参照ください。
統計関数
統計関数は対象となる集計データの平均値、最大値、最小値を求めることができます。
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
引数で指定した値から最小値を返します。論理値も対象となります。
19
MODE
引数で指定した値から最頻値を返します。
20
PERCENTRANK
引数で指定した配列またはセル範囲で順位を百分率で表した値を返します。
21
STDEV
引数を正規母集団の標本と見なし、標本に基づいて母集団の標準偏差の推定値を返します。
22
STDEVA
引数を正規母集団の標本と見なし、標本に基づいて母集団の標準偏差の推定値を返します。 論理値も対象となります。
23
STDEVP
引数を母集団全体と見なし、母集団の標準偏差を返します。
24
STDEVPA
引数を母集団全体と見なし、母集団の標準偏差を返します。論理値も対象となります。
数学関数
数学・三角関数は合計値などの四則演算、数値の桁丸めや階乗などを計算することができます。
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以上
検索・行列関数
検索・行列関数はワークシート内のデータを検索する際に使用します。
34
LOOKUP
指定範囲を縦方向に検索し、検索値と同じ位置にある対応範囲のセルの値を返します。 ※横方向の検索には未対応です。
35
VLOOKUP
指定範囲を縦方向に検索し、検索値に合致した場合、指定した列番号にある値を返します。 ※横方向の検索には未対応です。
36
AREAS
参照で指定したセル範囲の領域の個数を返します。
日付・時刻関数
日付・時刻関数は日付・時刻計算を行う際に使用します。
37
EDATE
指定した開始日の、数か月後または数カ月前の日付を返します。 ※Designer Ver.8.0.22020以上 ※iOS版アプリ:Ver.8.0.22020以上 Windows版アプリ:Ver.5.2.22020以上
文字列操作関数
文字列を指定した形式に変換したり、文字列の一部を抜き出したりする時に使用します。
38
ASC
全角文字列を半角文字列に変換します。
39
CONCATENATE
引数で指定した複数の文字列または数値を結合します。
40
LEFT
文字列の左端から指定した数の文字を返します。
41
LEN
指定した文字列の文字数を返します。
42
MID
文字列の指定した開始位置から指定した文字数分の文字列を返します。
43
RIGHT
文字列の右端から指定した数の文字を返します。
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となります。
EDATE関数の使用制限
EDATE関数は、第一引数に開始日を年月日で指定し、第二引数に月を指定することで、開始日から指定した月数分を足して(マイナス値の場合は引いて)日付を算出する関数です。 計算結果が年月日となる関数のため、EDATE関数の結果を表示したい計算式クラスターに対しては、「計算結果データ型」を「年月日・時刻」に設定して年月日書式を指定して下さい。
=EDATE(開始日,月)
第一引数の指定について
第一引数には開始日として、シリアル値またはクラスターを指定します。 小数値が指定された場合は小数点以下を切り捨てて算出します。 文字列での年月日指定は不可です。開始日を固定値で指定したい場合はシリアル値を指定して下さい。
第一引数として指定可能なクラスター種別
年月日
カレンダー年月日
計算式(計算結果データ型を「年月日・時刻」に設定して年月日書式を指 定して下さい)
帳票登録年月日(iOS版アプリのみ)
帳票更新年月日(iOS版アプリのみ)
第二引数の指定について
第二引数には計算する月として、数値またはクラスターを指定します。 小数値が指定された場合は小数点以下を切り捨てて算出します。 文字列での指定は不可です。
第二引数として指定可能なクラスター種別
数値
数値選択
計算式
トグル選択(「値」を用いて計算を行います)
トグル集計
単一選択(「選択肢の「値」を数値として扱う」設定の場合のみ可)
バーコード(「読み込んだ文字列を数値として 扱う」設定の場合のみ可)
POWER関数の使用制限
POWER関数は、第一引数に数値(累乗の底)を指定し、第二引数に指数を指定することで、数値の累乗を計算する関数です。 いずれの引数にも数値を指定してください。
=POWER(数値,指数)
第一引数の指定について数値
(累乗の底)を指定します。
第二引数の指定について
指数を指定します。
引数として指定可能なクラスター種別
数値選択
数値
計算式
トグル選択
トグル集計
単一選択 (数値として扱う設定の場合)
バーコード (数値として扱う設定の場合)
POWER関数内でシリアル値を使用した場合、桁あふれが発生し意図したとおりに動作しない可能性があります。
年月日/時刻の計算
年月日および時刻はシリアル値で計算を行います。
シリアル値とは
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
年月日/時刻の計算結果表示
年月日および時刻の計算はシリアル値で行うため、計算結果もそのままではシリアル値となり、数値として表示されます。 そこで、計算式クラスターの入力パラメーター設定に「計算結果データ型」設定が追加されました。 「計算結果データ型」を「年月日・時刻」に設定することで、計算結果を指定した年月日または時刻の書式で表示することができます。
【例】
計算結果データ型
計算結果データ型の設定には、「その他」 「年月日・時刻」 「文字列」の3種類があります。 それぞれの表示は以下の仕様となります。
その他
従来と同じ計算結果表示を行います。「年月日・時刻」や「文字列」といった明確な表示指定が特にない場合に指定します。 計算結果を自動判定し、文字列または数値として表示します。 そのため、数値に変換可能な文字列は、実体が文字列であっても数値として表示します。 また、論理値はそれぞれTrue=1、False=0の数値として表示します。
年月日・時刻
計算結果となる数値をシリアル値計算し、指定した書式で年月日/時刻として表示します。 計算結果が文字列など、年月日・時刻に変換できない値だった場合はエラーとなります。
文字列
計算結果を強制的に文字列として表示します。 計算結果が論理値だった場合、「true」または「false」という文字列で表示されます。 計算結果が数値であり、1.666666…の様に無限に続く様な小数値だった場合、ConMas Designerで設定した計算式クラスターの小数点以下桁数の設定で丸めた上で文字列に変換して表示します。
Excel計算式における ConMas i-Reporterの仕様制限
ExcelとConMas i-Reporterで計算式または計算結果表示の仕様が一部異なることがあります。 以下にConMas i-Reporterの仕様制限をまとめます。
「計算式」が「=#REF」 と表示される場合
ConMas DesignerへのExcel帳票定義ファイル取り込み時に計算式が不正と判定された場合、計算式クラスタ―の「入力パラメータ設定」画面 >「計算式」には 「#REF」 と表示されます。 この状態で帳票定義をConMas Designerからサーバーへ保存しようとすると、エラーになり保存できません。
計算式に含まれるセルはクラスター設定が必要
計算式クラスターにおいてExcel上でクラスター設定がされていないセルを含む計算式は、ConMas DesignerへのExcel取り込み時に 「#REF」 表示となります。 計算式に含まれるセルはExcel上でクラスター設定しておく必要があります。
クラスター設定していないセル情報を取り込めるパターン
計算式に含まれるセルはクラスター設定されている必要がありますが、例外として、下記一部のExcel関数の引数に限り、クラスター設定をしなくてもセルの値をConMas i-Reporterに取り込むことが可能です。
対象EXCEL関数
LOOKUP
VLOOKUP
AVERAGEIF
AVERAGEIFS
COUNTIF
SUMIF
SUMIFS
上記EXCEL関数の引数のうち、範囲指定を行う引数にあたるセルはクラスター設定する必要がありません。 (あえてクラスター設定しておく事も可能です。)
【例】 以下の図で、赤枠で囲んだ範囲(関数内の引数のうち、範囲指定を行っている箇所)のセルはクラスター設定をしなくてもセル値のデータをConMas i-Reporterへ取り込むことが可能です。 範囲指定箇所が別シート内や印刷設定範囲外にあっても問題ありません。
計算式に含めることが不可であるクラスター種別
計算式に含めることができないクラスター種別があります。 以下のクラスター種別が計算式に含まれていた場合は、クラスター設定されたセルであってもConMas DesignerへのExcel取込み時に計算式が「#REF」表示となり、正常に取り込めません。
計算式に使用できないクラスター種別
手書きノート形式
手書きフリーメモ
フリードロー
画像
作成
査閲
承認
アクション
文字列は数値として扱われない
ConMas i-Reporterでは、キーボードテキストクラスターをはじめとする文字列を扱うクラスター種別を計算式に含めた場合、数値としては扱われません。 そのため、キーボードテキストクラスターなどで数値を入力しても、数値ではなく文字列として扱われ、数値計算では無視されます。 LEFT、RIGHTなど、文字列を扱う計算式にて有効となります。
単一選択クラスター、QRコードクラスターに関しては、「数値として扱う」設定にした場合に限り、値を文字列ではなく数値として扱いますので数値計算に含めることが可能になります。 ただし、値が数値変換できない文字列だった場合は数値計算から無視されます。
数式エラーの扱い
Excelでは計算結果がエラーとなった場合に、「#DIV/0!」 「#REF!」 「#NAME?」 「#N/A」 「#NULL!」 「#VALUE!」 など、エラーの内容に応じたエラー表示となりますが、i-Reporterでは、すべて 「!数式エラー」として表示されます。
トグル選択クラスターの扱い
トグル選択クラスターは各ラベルに対して数値を設定できるクラスターであり、内部値として、文字列と数値を両方持つ特殊なクラスターです。 そのため、トグル選択クラスターを計算式で扱う際は、使用するEXCEL関数によって、数値として扱う場合と、文字列として扱う場合があります。 また、未入力状態のトグル選択クラスターを数値で扱う場合は「0」と判定されます。
トグル選択クラスターを文字列として扱う関数(「ラベル」が使用されます)
IF
ASC
CONCATENATE
LEFT
LEN
MID
RIGHT
チェッククラスターは常にTrueまたはFalse
ConMas i-Reporterではチェッククラスターに関して未入力状態を「False」として扱います。 そのため、計算式内に含められたチェッククラスターは常に「True」か「False」の値を持っています。 例として、COUNTA関数などでチェッククラスターは常にカウントされる状態となります。
文字列としての「TRUE」または「FALSE」
EXCELと異なりi-Reporterではデータ型の自動変換を行いません。 文字列として「TRUE」または「FALSE」を指定した場合、bool型としてのTRUEまたはFALSEとは別物であると判定します。 対して、EXCELは文字列として「TRUE」または「FALSE」を指定した場合でも、計算式の内容によっては自動でbool型に変換される場合があります。 この違いのため、「TRUE」または「FALSE」を絡めた計算式では、i-ReporterとEXCELとで計算結果が異なる場合があります。
現在、Windows版アプリでは計算結果データ型を「文字列」に指定していてもTRUE/FALSEをbool型として扱っている現象が発生しています。 このため、計算式によってはiOS版アプリとWindows版アプリとで計算結果に差異が出る場合があります。
未入力判定について
i-Reporterにおいて文字列比較は文字列型同士でなければ比較できませんが、例外として、下記のように、IF関数を用いて条件式で空文字と比較することで、文字列型に限らず対象のクラスターが未入力であるかどうかを判定させることができます。
【例】 IF(S1C1=“”,“未入力”,“入力済”) ※S1C1は対象となるクラスター
ただし、i-Reporterにおいては「空文字」と「未入力」の区別をつけることはできないため、いずれも未入力として判定されます。 また、この方法で未入力判定が可能なクラスターは、チェッククラスター以外の計算式対象にできるクラスター種別に限ります。 また、IF関数以外では空文字比較による未入力判定はできません。
EXCELではbool型のFALSEと比較して文字列や数値の未入力判定を行うことができますが、i-Reporterではデータ型を自動変換しないため、FALSEとの比較による未入力判定は行えません。
セルの範囲指定に結合セルが含まれる場合
AVERAGEIF、AVERAGEIFS、COUNTIF、SUMIF、SUMIFS、LOOKUP、VLOOKUP 関数について、セルの範囲指定に結合セルが含まれる場合、すべての結合セル内のセル数をわせていただく必要があります。 これが不一致の場合は正常な計算結果が得られません。
【OK例】 「性別」「年齢」の結合セル内のセル数が8個ずつで一致している。
【NG例】 「性別」の結合セル内のセル数は8個、「年齢」の結合セル内のセル数は12個で、一致していない。
COUNTBLANK関数の結合セルに対する処理の違い
COUNTBLANK関数について、EXCELの場合、結合セルを1つのセルとは見なさずに、範囲内の各セルを1つ1つ個別に扱って計算を行います。 これに対して、i-Reporterでは、結合セ ルを1つのクラスターと見なして計算を行います。 これにより、結合セルを含むCOUNTBLANK関数の計算結果はEXCELとi-Reporterとで違いが表れます。
【EXCELの例】 EXCELでは結合状態に関わらず指定範囲内のセルを個別にカウントします。
【i-Reporterの例】 ConMas i-Reporterでは結合セルを1つのクラスターと見なしてカウントします。
省略形式には対応していません
計算式の条件部分を省略した記述には対応していません。
=IF(A1,”OK“,”NG“) 省略形式には対応していません。
=IF(A1<>"",”OK","NG") このように修正ください。
EXCEL関数使用例 VLOOKUP関数の設定方法
EXCEL関数の使用例を、代表的な関数であるVLOOKUP関数を用いて具体的に説明します。
VLOOKUP関数について
指定した範囲内のセルに記述された値のうち、範囲内の1列目(一番左端の列)を特定の値で検索し、その結果、同じ行にある別の値を返す関数です。 EXCEL上でセルを用いて作成した表に対して、特定の値で表を検索し、その結果に応じた表中の値を返すという使い方ができます。
【VLOOKUP関数の使用例】
EXCEL上にVLOOKUP関数を記述
ConMas i-ReporterへVLOOKUP関数を取り込むために、まずはEXCELファイル上で、VLOOKUP関数の記述を行います。
VLOOKUP関数の書式
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
検索値 = 指定範囲内の一番左端の列にて検索を行う値を指定します。
範囲 = 検索を行う範囲を指定します。(表となる範囲を指定します)
列番号 = 検索の結果として表示したい値の列番号(範囲内の何列目か)を指定します。
検索方法 = TRUEの場合は近似値検索、FALSEの場合は完全一致検索を行います。 (これは省略が可能です。省略するとTRUE扱いとなります。)
範囲の指定について
ConMas i-Reporterでは、EXCEL取込み機能に関して次のような仕様制限があります。
クラスター設定していないセルデータは取込みの対象としない。
印刷範囲設定の範囲外となるセルデータは取込みの対象としない。
しかし、VLOOKUP関数など一部関数の引数部分に限り、例外となります。 VLOOKUP関数の第二引数の範囲指定(表となる範囲の指定)にあたるセルに関しては、クラスター設定されていなくても、印刷範囲設定外であっても、また、別シート上にあっても、これらの値を取り込む事ができます。
表となる範囲のセルが非表示設定されている場合や、表のあるシートが非表示設定されている場合は、セルデータの取込み対象外となります。
VLOOKUP関数を記述したセルを計算式クラスターに設定
VLOOKUP関数を記述したセルを選択した状態で、右クリックメニューから「i-Reporter種別選択」を実行し、「クラスター種別選択」で「計算式」を設定します。 検索値に、固定値ではなくセルを指定した場合、該当セルに対しても必要に応じたクラスター種別を同様に設定します。
EXCELファイルをConMas Designerへ取り込む
設定を行ったEXCELファイルを保存し、ConMas Designerへの取込みを行います。
以上の手順にて、タブレット上でVLOOKUP関数を用いた帳票定義を扱うことができます。
その他 制約事項
計算式の条件部分を省略した記述には対応しておりません。
(例) =IF(A1,”OK“,”NG“) 省略形式には対応していません。
=IF(A1<>"",”OK","NG") このように修正ください。
配列定数を使用した計算式には対応しておりません。
(例) =VLOOKUP(B2,{“B01”,”部品01”;”B02”,”部品02”;”L01”,”ラベル01”},2,FALSE)
最終更新