2016-11-28 10 views
2

GoogleフォームのスクリプトやGoogleスプレッドシートの式を使用して、Googleフォームの複数の選択項目のラベルと異なる値を設定する方法はありますか?私が探しています何Googleフォームのラベルと異なる値を設定する

HTMLでこれに似たものである:Appsスクリプトで

<select name="cartype" form="myform"> 
    <option value="33">Volvo - $33</option> 
    <option value="34">Saab - $34</option> 
    <option value="35">Opel - $35</option> 
    <option value="36">Audi - $36</option> 
</select> 

docs)私はsetChoiceValues(values)を使用して、複数の選択肢の値を設定することができますが、これは、入力値に同じ文字列を与え、テキストを表示します。

values String[]回答者が代わりにフォーム

を表示するときに、それをGoogleにのみセルから通貨の値を除去することが可能であったならば、それは大丈夫だと思う ラベルとして参照選択値の配列シートと和の式で使用します。

私が探している最終的な結果は、価格でオプションをリストしてから、価格合計を自動的に合計できるスプレッドシートに出力するGoogleフォームです。

編集:数値を取得するには、シート内のリストへの参照を行うには

ことは可能ですか?

シート1 - Googleのフォームスプレッドシートからの結果:

| Name | Car  | Days | 
| Foo | Saab - $34 | 4 | 
| Bar | Volvo - $33| 2 | 

シート2 - 参考文献リスト:

| Car   | Price | 
| Volvo - $33 | 33 | 
| Saab - $34 | 34 | 
| Opel - $35 | 35 | 
| Audi - $36 | 36 | 

シート3 - 合計:

| Name | Car       | Days | Total | 
| Foo | {price from reference list} | 4 | B1*C1 | 
+0

すべてまたはすべてのGoogleスプレッドシートでExcelを使用していますか? –

+0

GoogleフォームからデータがGoogleシートに出力されます。 GoogleシートをExcelシートにダンプするのは良いことですが、それは必要ではありません。 – mhatch

答えて

2

私は価格抽出します応答の別の列に表示されます。列内のデータを編集するスクリプトはこれを変更し、後でデータの編集や再インポートを行うと競合が発生する可能性があります。変更されたデータに別の列を使用する方が良いことがわかります。これを念頭に置いて:

1つの項目のみを選択できるラジオボタン項目を使用している場合、この機能は適切な列のセル2に配置するとうまくいくはずです。 A2:Aの両方を質問の応答を含む列に置き換えます。

=ARRAYFORMULA(IF(ISTEXT(A2:A), REGEXEXTRACT(A2:A,"\$(\d*)"),)) 

ARRAYFORMULAは、列のすべてのセルのために働くの式が発生します。ちょうどあなたが既にスプレッドシート内の1つの応答があることを確認してください。 IF()は、適切な行に数式を適用するために使用されます。 REGEXEXTRACT()はテキストから時間を抽出します。

フォームで複数の選択(チェックボックス)を許可する場合は、それぞれの値を抽出し、合計して合計を取得する必要があります。まるでこれをしているかのようには聞こえません。それを実現させるソリューションはありますが、非常に複雑な数式を使用してください。すべてのテキストを分割して一緒に追加するカスタム式が、おそらくもっと良いでしょう。

編集: コメントから、実際にフォームが空白のテキスト項目でフィールドに入力できるように見えます。テキストなし数値を含むセルを回避するために、我々は、エラーを排除するためにIFERROR()関数を使用します。

=ARRAYFORMULA(IF(ISTEXT(A2:A), IFERROR(REGEXEXTRACT(A2:A,"\$(\d*)")),)) 

EDIT 2:我々は数式を使用できるように数値に結果のテキストを変更します 結果:

=ARRAYFORMULA(IF(ISTEXT(B2:B), IFERROR(VALUE(REGEXEXTRACT(B2:B,"\$(\d*)"))),)) 
+1

これは良い解決策ですが、要求されたセルが空白の場合、関数は#N/Aを返します。空の文字列または0を返す方法がありますか? – mhatch

+0

私のテストシートでは、この問題はありませんでした。より良い解決策は私の編集を参照してください。また、正規表現は "[0-9] +"であることに注意してください。これは、応答に他の数字を付けることができないことを意味します。使用される式は、値を価格に強制するための$を探します。 –

+0

それはうまくいった!ありがとうございました! – mhatch

関連する問題