使用Google表单应用程序脚本或Google表格公式是否可以设置与Google表单上的多项选择中的标签不同的值?
我正在寻找的内容类似于html:
<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 :(得分:2)
我从不同列中的响应中提取价格。编辑列中数据的脚本将更改此操作,稍后编辑或重新导入数据可能会导致冲突。我发现使用另一列来修改数据会更好。考虑到这一点:
如果您使用的单选按钮项目只允许选择一个项目,则放置在approriate列的单元格2中的此功能应该可以正常工作。将A2:A替换为包含问题响应的列的两个位置。只需确保您已在电子表格中有一个回复:
=ARRAYFORMULA(IF(ISTEXT( A2:A), REGEXEXTRACT(A2:A,"\$(\d*)"), ))
ARRAYFORMULA使公式适用于列中的每个单元格。 IF()用于将公式应用于适当的行。 REGEXEXTRACT()从文本中提取时间。
如果您允许在表单中进行多项选择(复选框),则需要提取每个值并将它们相加以获得总计。听起来好像你这样做。有解决方案可以实现,但使用非常复杂的公式。分割所有文本并将它们添加到一起的自定义公式可能会更好。
编辑: 从评论中看来,表单实际上可能用空白文本项填充该字段。为了绕过包含文本而没有数字的单元格,我们使用IFERROR()函数来排除错误:
=ARRAYFORMULA(IF(ISTEXT( A2:A), IFERROR( REGEXEXTRACT(A2:A,"\$(\d*)")), ))
编辑2: 将结果文本更改为数值,以便我们可以在结果上使用数学公式:
=ARRAYFORMULA(IF(ISTEXT( B2:B), IFERROR( VALUE(REGEXEXTRACT(B2:B,"\$(\d*)"))), ))