数式を使用する

セルやリストビューにはExcelと同様に数式を設定することができます。
セルに数式を使用した場合、この計算処理はクライアント側で行われます。セルに数式を使用せずに、数式フィールドを作成する場合、処理はサーバー側で行われます。

セルに数式を使用する

数式は、セルに直接入力することも、セル型によってはセルの既定値として設定することもできます。
セルの既定値として設定する場合、対応しているセル型は次のとおりです。なお、リストビューについては以降の説明を参照してください。

セルの既定値として数式を使用できるセル型

・テキストボックス
・複数行テキストボックス
・チェックボックスグループ
・ラジオグループ
・コンボボックス
・数値
・日付
・時刻
・ユーザー選択コンボボックス
・ふりがな

セルに直接入力する場合は、次のように行います。

1 セルに数式を入力します。

半角の「=」に続けて数式を入力します。

 

2 [ホーム]→[開始(デバッグ)]をクリックします。

アプリケーションで実際に表示される画面で数式の結果を確認します。

 

warning
..\..\Media\pict-warning.png

Forguncyの場合、数式はアプリケーションを実行しない限り計算されません。これはExcelと異なり、基本的にデータはテーブルに格納されており、実行時に初めてデータがページに表示されるという動作に合わせたForguncyの仕様です。

 

note
..\..\Media\pict-note.png

ForguncyではExcelと同様、関数を使用することができます。
詳しくは 関数を使用する を参照してください。

 

リストビュー内のセル参照(相対参照)

リストビュー内のセルを参照して計算した結果を、リストビュー内で表示するか、あるいはリストビュー外で表示するかによって、結果が変わるときがあります。

たとえば、下の図のQ3セルに設定した「=SUM(M3)」の場合、参照元であるQ3セルが参照先のセルであるM3と同じリストビュー内に存在するため、実行時に返される参照は「単価」列全体を参照するセル範囲ではなく、「単価」列にある同一行の単一セルとなります。
一方、V3セルに設定した「=SUM(M3)」の場合、参照元であるV3セルが参照先のセルであるM3が存在するリストビューの外側にあるセルとなっているため、実行時に返される参照は「単価」列全体を参照するセル範囲となります。

データの入力規則、およびコマンドから行テンプレート内のセルを参照した場合には、常にリストビューの選択行のみが返されます。これは行テンプレートよりも下の行やリストビュー全体の範囲を指定した場合であっても同様です。そのため、データの入力規則、およびコマンドでは列方向の範囲のセル参照を必要とするVLOOKUPのような関数は、事実上使用できません。通常のセルにVLOOKUP関数を使用した数式を設定し、その結果をデータの入力規則やコマンドから参照するようにすることで、そのような問題を回避することが可能です。

リストビュー内のセル参照(絶対参照)

リストビュー内のセルでは、絶対参照を使用することで相対参照とは異なるセルが参照されます。

たとえば、下の図のQ3セルのように、「=$E$3」とE3セルを絶対参照した場合、実行時にはリストビューのすべてのQ列のセルにおいて「製品名」列の最初の行のセルが参照されます。その結果、リストビューのすべてのQ列のセルの値が「乾燥バナナ」となります。

数式、データ連結、ユーザー入力の優先順位

1つのセルに、数式とデータ連結の両方を設定することが可能です。また、テキストボックス型セルなど、ユーザー入力が可能なセルに対しても数式は設定可能です。このような場合、データ連結によって読み込まれる値、数式の計算によって求められる値、そしてユーザーが入力した値のどれが適用されるかは、次のようになります。

Excelエクスポートの場合

PDFエクスポートの場合