2015-02-06 156 views
1

在“新的”Google电子表格中,我想监视特定单元格的内容以使“状态”单元格自动显示订单的进度。根据其他单元格的内容更改Google电子表格单元格内容

任何人都可以帮助我一个脚本,可以自动更改单元格K8:K的内容,具体取决于单元格内容L8:L,R8:R,Y8:Y,AA8:AA和AB8:AB?

请原谅语法,我从来没有学到的脚本语言... 逻辑会去是这样的:

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)" 

我使用“<> 0”,以表明有些事情已输入到单元格中,“= 0”表示单元格为空。 如果多个参数为真,则序列中后面的一个应该优先。

当我知道如何编程时,可以使用大量的IF/ELSE语句来实现期望的优先级,但我真的不知道现在从哪里开始,除了Google,它在寻找关于如何要实现复杂的Google Spreadsheet任务,通常会导致Stack Overflow!

任何帮助将受到感谢!

+0

所以,这是做监控的电子表格不与数据相同的电子表格? – 2015-02-06 15:19:17

+1

@Sandy我读了''new''来表示Google Spreadsheets的最新版本(右下角有绿色勾号的那个)。 – pnuts 2015-02-06 15:56:20

+1

它只是一个电子表格。当我说“新”时,我的意思是带有绿色勾号的那个。 – 2015-02-06 17:01:58

回答

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",""))))) 
+0

工作得很好,谢谢 – 2015-02-06 16:06:07

+0

我该如何做到这一点,如果Q8或R8 <> 0,那么“进行中”? – 2015-02-06 16:06:39

+0

假设你正在继续你的'<> 0'约定,尝试用'if(或(R8 <>“”,Q8 <>“”)'替换'if(R8 <>“”') – pnuts 2015-02-06 16:08:19

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)) 
+0

我不相信这符合“后面的顺序应该优先”的含义。 – pnuts 2015-02-06 15:53:04

+0

谢谢囚徒,这真的很有帮助。现在几乎在工作......我使用简单的isBlank,而不是NOT。你能告诉我如何包含一个逻辑OR运算符?我试图这样做(isBlank(Q9))*(isBlank(R9)),但它似乎忽略了Q9部分? – 2015-02-06 15:54:52

+0

答案更新以包含有关“或”运算符的信息。 – Prisoner 2015-02-06 16:02:35

相关问题