2014-01-07 100 views
5

我不能發佈一個鏈接,由於敏感信息,但我可以提供結構:谷歌電子表格:數組公式,如果/並返回「否」,如果前3個單元格爲空

|Id |PT/DOT |Primary Employee |From |To |Per x Days |Frequency Data Complete? | 
------ --------- ----------------- ------- ----- ------------ ------------------------- 

這些都是列標題。在列A,B和C中有文本值。在D,E,& F中有數字值或空白值,取決於最小頻率(From),最大頻率(To)和週期(每x天)是否已由主要員工完成。如果所有3個與頻率相關的列都不爲空白,G列應提供「是」或「否」值。

簡單版本將是=if(and(D1<>"",E1<>"",F1<>""),"Yes","No")。這在簡單版本中起作用,但是,我需要它自動填充數據行數,因爲它們是基於腳本動態更改的。

我試過的下一步是=arrayformula(if(and(D2<>"",E2<>"",F2<>""),"Yes","No")),它不會自動填充(繼續),因爲它不是一個真正的數組。

我它修飾以=arrayformula(if($D2:$F="","No","Yes")),其填充下到數據的結束,但它不返回一個YesNo到G列,而是YesNo用於每個3列至G,H的,和I.我可以隱藏這些列並在J上做一個=countif("Yes"),但我仍然在自動填充的同一條船上。

我可以通過在G列中設置公式的腳本來完成此操作,但是當我想要在運行選項卡上保存D,E時是否添加了另一個腳本和另一個觸發器的運行,F完成。

我不太確定這裏最簡單的方法是什麼。我真的需要這個自動填充,而不需要用戶額外的努力。 onEdit腳本可能是唯一的選擇,但我寧願不必這樣做。

我試過了所有我能想到的,並且已經搜索了這個話題,直到任何遠程相關的鏈接都是紫色的。我找不到任何我甚至可以爲了達到相同目的而修改的東西。

回答

10

最簡單的方法是使用*運算符,它模擬了一個邏輯與一個數組:

=ARRAYFORMULA(IF((D2:D<>"")*(E2:E<>"")*(F2:F<>""),"Yes","No"))

+0

啊!我嘗試過,但是我沒有將範圍本身包含在圓括號中。我做了這樣= Arrayformula(if(D2:D <>「」* E2:E <>「」* F2:F <>「」),「Yes」,「No」))我太親密了! – thoughtcrime

+0

你剛剛救了我一天,非常感謝! – mTorres

0

使用ISBLANK功能與IF

=IF(ISBLANK(F1)=FALSE;"YES";IF(ISBLANK(E1)=FALSE;"YES";IF(ISBLANK(D1)=FALSE;"YES";"NO"))) 
相關問題