根据其他单元格的内容更改Google电子表格单元格内容

时间:2015-02-06 14:51:22

标签: google-apps-script google-sheets

在“新”Google电子表格中,我想监控特定单元格的内容,让“状态”单元格自动显示订单的进度。

根据细胞L8:L,R8:R,Y8:Y,AA8:AA和AB8:AB的含量,任何人都可以帮助我自动改变细胞K8:K的含量吗?

请原谅语法,我从未学过脚本语言...... 逻辑将是这样的:

If L<>0 then K="Awaiting order"
If R<>0 or Q<>0 then K="In progress"
If AA<>0 and Y=0 then K="Sent for invoicing (docs incomplete)"
If AA<>0 and Y<>0 then K="Sent for invoicing (docs complete)"
If AB<>0 and Y<>0 then K="Closed (complete)"

我正在使用“&lt;&gt; 0”表示已输入某些内容,而“= 0”表示该单元格为空。 如果多个参数为真,那么序列中的后一个参数应该优先。

当我知道如何编程时,您可以使用大量的IF / ELSE语句来实现所需的优先级,但我真的不知道从哪里开始这些日子,除了谷歌,在寻找有关如何获取的信息时实现复杂的Google Spreadsheet任务,通常会引导我进入Stack Overflow!

感谢您的任何帮助!

2 个答案:

答案 0 :(得分:1)

听起来你想在列K的公式中使用嵌套的if函数和isBlank函数的组合。

因此,为了模拟您尝试做的第一部分,K8中的公式可能类似于:

if( not(isBlank(L8)), "Awaiting Order", if( not(isBlank(R8)), "In Progress", "Other conditions go here" ) )

您在评论中表示您也希望执行or功能。该部分的语法可能是

or( isBlank(Q9), isBlank(R9) )

答案 1 :(得分:1)

不可否认,这是一个公式,而不是一个脚本,但请在K8中尝试并复制到适合:

=if(and(AB8<>"",Y8<>""),"Closed (complete)",if(and(AA8<>"",Y8=""),"Sent for invoicing (docs complete)",if(and(AA8<>"",Y8<>""),"Sent for invoicing (docs incomplete)",if(R8<>"","In progress",if(L8<>"","Awaiting order","")))))