2015-02-06 191 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

相關問題