![](/img/trans.png)
[英]How can I conditionally calculate a new variable from pre-existing variables?
[英]How can I calculate a new date conditionally based on other information?
我有一个由Google Form填充的Google Sheet 。 我正在使用Google Apps 脚本添加一些额外的功能。 请随时根据需要访问和修改这些内容以获得帮助。
根据表单的答案,我需要返回一个新日期,该日期会在表单提交时考虑时间戳。
这是我需要做的一个愚蠢的例子,但让我们把它想象成订购一辆新车,它的颜色决定了它需要多长时间。
车 | 颜色 |
---|---|
丰田 | 红色的 |
本田 | 蓝色的 |
特斯拉 | 绿色的 |
我需要编写一个条件 IF 语句,根据订购的颜色确定需要多少周才能拿到车。
- | 红色的 | 蓝色的 | 绿色的 |
---|---|---|---|
丰田 | 1 | 3 | 5 |
本田 | 2 | 4 | 6 |
特斯拉 | 1 | 1 | 1 |
因此,如果您订购红色的丰田,则需要一周时间。 如果您订购绿色的丰田,则需要 5 周时间。 如果你订购一辆特斯拉,不管什么颜色都真的在一周内。 ETC...
我首先在表格中编写了一些语言来获取 A 列中的时间戳,并在其中添加适当的时间:
=IFS(AND(B2 = "Toyota",C2 = "Red"),A2 + 7,AND(B2="Toyota",C2="Blue"), A2 + 21,AND(B2="Toyota",C2="Green"), A2 + 35,AND(B2 = "Honda",C2 = "Red"),A2 + 14,AND(B2="Honda",C2="Blue"), A2 + 28,AND(B2="Honda",C2="Green"), A2 + 42,AND(B2 = "Tesla"),A2 + 7)
然后我把它拖到整列的长度上,这样它就会在提交时填写。
但是,当您填写 Google 表单时,它会覆盖整行中的内容,从而消除我在该列中的内容。
现在我意识到代码需要用 Google Apps Script 编写并作为值返回。
需要对我的 IFS 语句进行哪些修改才能使其与 Google Apps 脚本兼容?
为了更简单的方法, QUERY
实际上可以解决您的问题,而无需像评论中提到的那样执行 Broly 脚本。 您可以尝试的一种方法是创建一个新工作表。 然后让该表在A1
上包含此公式
=query('Form Responses 1':A:C)
这将从表单响应中复制 A:C 范围,然后复制/粘贴 D 列上需要的日期列的公式。
IFNA
以不显示#N/A
。 =IFNA(IFS(AND(B2 = "Toyota",C2 = "Red"),A2 + 7,AND(B2="Toyota",C2="Blue"), A2 + 21,AND(B2="Toyota",C2="Green"), A2 + 35,AND(B2 = "Honda",C2 = "Red"),A2 + 14,AND(B2="Honda",C2="Blue"), A2 + 28,AND(B2="Honda",C2="Green"), A2 + 42,AND(B2 = "Tesla"),A2 + 7), "")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.