Google Formsに計算フィールドを追加するには?

"なぜGoogle Formsでは、ユーザーが簡単な計算項目を追加できないのですか?"- Google Docs Editors Community

Google Formsで注文や申し込みを受け付けている人なら、誰でもこの問題にぶつかります。合計は数量、価格、送料で決まりますが、Google Formsでは合計を出せません。入力する人は支払う金額を知らないまま送信し、あなたは一件ずつ合計を計算して返信することになります。リンクしたGoogle Sheetの数式でも計算できますが、それは送信された後です。Formfacadeなら、項目のCalculateオプションに数式を書くだけで、入力する人はフォームに記入しながら合計が変わるのを見られます。一定の金額を超えたら送料無料にするといった条件も追加できます。

Google Formで計算した値を得る3つの方法と、それぞれの足りない点を紹介します。

計算項目を使えば、ほかの項目の値を使って項目を計算できます。計算項目では、数値の項目で四則演算をしたり、テキスト & 日付を操作したりできます。たとえば、注文フォームで、ユーザーが選んだ注文数量と配送方法をもとに合計金額を計算できます。

重要

注文フォームでの合計金額の計算や注文の概要の表示、アンケートや質問票でのスコアの計算や言葉による評価の表示といった、よくある使い方の計算を簡単にしました。
注文フォーム

計算した値を得る3つの方法

1. リンクしたGoogle Sheetに数式を追加する

フォームをGoogle Sheetにリンクし、数量に価格を掛けるなどの数式を入れた列を追加します。
足りない点:数式はフォームが送信された後にしか動きません。入力中の人には合計が見えないので、一人ひとりに金額を返信することになります。

2. Google Apps Scriptを使う

フォーム送信時のトリガーを使うスクリプトを書き、値を計算してフォームの入力者にメールで送ります。
足りない点:スクリプトも送信後にしか動かず、自分で書いて保守し続けなければならないコードです。Google Formsには、フォームの入力中に値を表示できる機能が何もありません。

3. Formfacadeでフォーム内で計算する

簡単な注文フォームを作りながら、計算項目を追加して、フォームの入力者に注文金額を計算して表示する方法を学びましょう。ユーザーはこの注文フォームで香水を1本以上注文できます。通常価格は$60ですが、10本以上注文すると1本あたりの価格は$50になります。通常の送料は$25ですが、$150を超える注文では送料が無料になります。
注文フォームに追加する計算:
商品価格 = 香水 < 10本なら$60、香水 >=10本なら$50
注文金額 = 数量 * 価格
送料 = 注文金額 > 150なら$0、注文金額 =< 150なら$25
合計金額 = 注文金額 + 送料

Editタブで質問を追加する

  • フォームを作成をクリックし、フォームに名前を付けて Build form をクリックし、Proceed をクリックします。
  • 「Edit」タブをクリックします
Edit、Preview、Share、Responses のタブ。Edit に印が付いています
  • 右側のツールバーにある+アイコンをクリックし、次の各項目について短い回答の質問を追加します:How many perfumes would you like to order?、Order amount、Shipping fees、Total amount
  • How many perfumes would you like to order?の質問で⚙️アイコンをクリックし、Answerタブを選択して、Validationの下のConfigureをクリックし、Numberを選択してからIs numberを選択します。Saveをクリックします。
FormfacadeエディタのOrder Form。EDITタブに印が付いていて、Name、Email、How many perfumes would you like to order?などの項目があります

簡単な計算

合計金額を計算するには、注文金額と送料を足す必要があります。単純な足し算です。
Order amount + Shipping fees
EditタブでTotal amountの項目をクリックし、⚙️アイコンをクリックします。Answerタブを選択し、Calculateのオプションに上の数式を書きます。Saveをクリックします。
計算にフォームの項目を使うには、@を入力すると、フォームのすべての項目のリストが表示されます。必要な項目を選択して追加します。画面には項目の表示名が出ますが、計算では内部的にentry idが使われます。
Answerタブの項目の設定。CalculateにOrder amount + Shipping feesが入っていて、Answerタブ、Calculate、Saveに印が付いています

条件ロジック

通常の送料は$25ですが、$150を超える注文では送料が無料になります。この計算を実装するには、注文金額が150より大きいかどうかを確認する必要があります。
IFS関数を使えば、条件ロジックを書けます。IFS関数は複数の条件を評価し、最初に真になった条件に対応する値を返します。IFS関数の構文は次のとおりです:
IFS(condition1, value1, [condition2, value2, …])
各項目の意味
  • condition1:最初に評価される条件。
  • value1:condition1 が TRUE のときに返される値。
  • condition2, value2, …:最初の条件が false と評価された場合の追加の条件と値。
送料を計算する数式は次のとおりです:
IFS(Order amount > 150, 0, 25)
EditタブでShipping feesの項目をクリックし、⚙️アイコンをクリックします。Answerタブを選択し、Calculateのオプションに上のIFSの数式を書きます。Saveをクリックします。
注:計算にフォームの項目を使うには、@を入力すると、フォームのすべての項目のリストが表示されます。必要な項目を選択して追加します。画面には項目の表示名が出ますが、計算では内部的にentry idが使われます。
Answerタブの項目の設定。CalculateにIFS(Order amount > 150, 0, 25)が入っていて、Answerタブ、Calculate、Saveに印が付いています

条件ロジック + 計算

注文金額 = 数量 * 価格
数量はユーザーが入力します。入力された数量をもとに、価格を計算する必要があります。通常価格は$60ですが、ユーザーが香水を10本以上注文すると1本あたりの価格は$50になります。IFS関数で価格を決め、それに数量を掛けて注文金額を計算できます。
IFS(Quantity >=10 , 50, 60) * Quantity
EditタブでOrder amountの項目をクリックし、⚙️アイコンをクリックします。Answerタブを選択し、Calculateのオプションに上の数式を書きます。Saveをクリックします。ここで、QuantityはHow many perfumes would you like to order?の質問です。
注:計算にフォームの項目を使うには、@を入力すると、フォームのすべての項目のリストが表示されます。必要な項目を選択して追加します。画面には項目の表示名が出ますが、計算では内部的にentry idが使われます。
Answerタブの項目の設定。CalculateにIFS(Quantity >= 10, 50, 60) * Quantityが入っていて、Answerタブ、Calculate、Saveに印が付いています
フォームの入力者は、数量を入力すると同時に注文金額、送料、合計金額を確認できます。
John Wickが香水1本で入力したOrder Form。Order amountは$60.00、Shipping feesは$25.00、Total amountは$85.00です

Order form

下のリンクからこの注文フォームを試せます。https://bit.ly/formfacade

まとめ

Google Formsには計算項目がなく、Google Sheetsの数式やスクリプトはフォームが送信された後にしか動きません。Formfacadeなら、項目のCalculateオプションに数式を書くと、フォームの入力者に値がリアルタイムで計算されて表示されます。フォームを作成して、上の手順を進めてください。ご不明な点があれば、サポートまでご連絡ください。

最終更新: