2011-09-21 80 views
0

我試圖自動化任務管理的一些流程,但我沒有成功。我不能使用宏或類似的公式,只是公式,我不擅長電子表格黑客攻擊。電子表格多個公式混搭

不管怎麼說,這是我的工作簿,其** **

**Form** 
TASK  LI DE X 
Test  1  3 
Test2 2 

**LI** 
WEEK  TASK COMPLETED 
1  Test 
2  Test 
2  Test * 
4  Test2 * 

**DE** 
WEEK  TASK COMPLETED 
1  Test * 

我一直試圖做的是:

  • 表格,檢查哪些列,來自LI或DE,大於0.
  • 對於每個> 0,檢查其相應工作表(LI或DE)上是否存在TASK。
  • 如果有,請檢查它是否有*。
  • 如果它有一個*,取該行的WEEK號碼,將它與另一張表中的WEEK進行比較,取較大的數字,並將其加載到Form上的TASK的X列中。這裏的命令並不重要。我只需要一個帶*的周。

對於這個例子,爲了讓X改變,TASK必須在它所在的工作表中帶*。例如,如果在表單上,​​測試在LI和DE中有數字,並且測試在LI表單中有*,但在DE表單中沒有,則X必須保持爲空。但是如果兩者都帶有*,X必須在LI和DE之間加載更大的WEEK。

如果我要用宏來做,我只需用循環檢查每列,但對於公式,我認爲嵌套的IF就足夠了。

我試過用VLOOKUP,但它只接受數組中的第一項,雖然順序無關緊要,但它通常(我認爲我會制定這個策略)是最後一個值。

有任何疑問,只需告訴我們!我希望我明確提出我的問題。

非常感謝您提前!

回答

2

我認爲你可以用公式來做,但因爲你將不得不循環,你將需要SUMPRODUCT或數組公式。

這裏有一個公式,你可以嘗試(與按Ctrl輸入驗證):

=MAX((LI!$C$2:$C$5="*")*(LI!$A$2:$A$5)*(LI!$B$2:$B$5=Form!A2),(DE!$C$2:$C$5="*")*(DE!$A$2:$A$5)*(DE!$B$2:$B$5=Form!A2)) 

一些解釋:

  • MAX公式將發現的最大價值這兩個數字的兩個數組公式
  • 數組公式就像一個多回路測試:
    • (LI!$C$2:$C$5="*")檢查是否有在第三列
    • (LI!$A$2:$A$5)明星將返回星期數
    • (LI!$B$2:$B$5=Form!A2)將檢查任務是相同的

我希望我深知你打算做:)

[編輯]另一種嘗試感謝ŧ o您的評論(這兩項任務應完成出現)

=IF(AND((LI!$C$2:$C$5="*")*(LI!$A$2:$A$5)*(LI!$B$2:$B$5=Form!A2),(DE!$C$2:$C$5="*")*(DE!$A$2:$A$5)*(DE!$B$2:$B$5=Form!A2))),MAX((LI!$C$2:$C$5="*")*(LI!$A$2:$A$5)*(LI!$B$2:$B$5=Form!A2),(DE!$C$2:$C$5="*")*(DE!$A$2:$A$5)*(DE!$B$2:$B$5=Form!A2)),"") 
+0

如何......!我從來沒有找到答案只是閱讀「公式」的說明。非常感謝你!出於好奇,如果其中一個數字是錯誤的,是否有辦法打破MAX(使單元保持空)?我的意思是,正如我所說的,如果任務分配給兩張紙,那麼BOTH必須帶有*的任務,否則X列應保持空白。再次感謝! –

+0

我在閱讀有關數組公式的更多信息。真是太好了,太模糊不明。感謝您的提示! –

+0

我已經添加了另一個嘗試,但我不能在這裏測試它(也許明天)。告訴我,如果這樣更好。 – JMax