在 Google 表单中设置与标签不同的值

Set values different from label in Google Forms

有没有办法使用 Google Forms Apps Script 或 Google Sheets 公式来设置不同于 Google 上多项选择中的标签的值表格?

我要找的是html中类似的东西:

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

在 Apps 脚本 (docs) 中,我可以使用 setChoiceValues(values) 设置多项选择值,但这会为输入值和显示文本提供相同的字符串。

values String[] the array of choice values, which respondents see as labels when viewing the form

或者,如果可以仅从 Google Sheet 中的单元格中去除货币值并用于求和公式,那就更好了。

我要寻找的最终结果是一个 Google 表格,其中列出了带有价格的选项,然后输出到可以自动对总价格求和的电子表格。

编辑:

是否可以引用工作表中的列表来获取数值?

Sheet 1 - 来自 Google 表格电子表格的结果:

| Name | Car        | Days |
| Foo  | Saab -  | 4    |
| Bar  | Volvo - | 2    |

Sheet 2 - 参考列表:

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

Sheet 3 - 总数:

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

我从不同列的响应中提取价格。编辑列中数据的脚本将更改此内容,稍后编辑或重新导入数据可能会导致冲突。我发现最好为修改后的数据使用另一列。考虑到这一点:

如果您使用的单选按钮项目只允许选择一个项目,则此功能位于适当列的单元格 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*)"))), ))