2017-06-27 25 views
0

我有在列m中它已經訪問日期的片材,然後我已經把一個公式,然後添加6個月至其上顯示在列N.Excel的IF Statments或VBA

然後,我有日期在一個隱藏的兩列,計算出日期,並從該日期開始評估RAG紅色琥珀色綠色。

  • 列M是訪問日期
  • 列N是下一個訪問
  • q列是多少天超過或低於
  • R列是基於其中的Q列,如果它是告訴你的公式G,A,R(綠色,黃色或紅色)

我有此式,其中列出所有的日期,並刪除任何空白單元格在N列

= IFERROR(INDEX(Sheet2!$ N $ 3:$ N $ 78,SMALL(IF(LEN(Sheet2!$ N $ 3:$ N $ 78)= 0,「」,ROW(Sheet2!$ N $ 3:$ N $ 78)-MIN(ROW(Sheet2的$ N $ 3:$!N $ 78)!)+ 1),ROW(Sheet2的N2))), 「」)

我想是當以下公式爲真然後上述被觸發,但僅針對在列R 2具有R細胞

= IF(CNI!R3 = 「R」,SHEET2!N3, 「」)

希望這是有意義。

我不介意使用VBA如果是比較容易實現

+0

爲了理解,我會重複我認爲我正在閱讀的內容。請糾正不正確的地方。您可以通過If/Then和工作簿中的條件格式處理項目。如果他們缺少數據(基於N列),您還希望刪除/刪除行。關於If/Then,你可以嵌套if語句,如果sheet CNI cell R3 =「R」,那麼你的真實語句就是IFERROR ...))),「」),你的假陳述是「」 。如果你想刪除行,VBA可以接受這些代碼(注意每個「需要」),這在VBA或Excel中是相似的。 – Cyril

+0

一張紙的名稱是什麼,其中紙張是這個公式,什麼是真實的? – pnuts

+0

@pnuts Sheet1是公式所在的位置,Sheet2是所有數據所在的位置。 –

回答

0

對不起,我後面幾天的迴應你這一點。

=IFERROR(INDEX(Sheet2!$N$3:$N$78, SMALL(_ 
IF(LEN(Sheet2!$N$3:$N$78)=0,"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78)_ 
)+1), ROW(Sheet2!N2))),"") 

但是你想,如果你有一個額外的標準,這樣的事情發生,這一點:

=IF (CNI!R3="R",SHEET2!N3,"") 

你可以有多個標準,你的if語句使用AND()。我想,你可以使用以下,假設你只想要那個特定的if語句應用(從上方拍攝,打破瞭如果在我的崗位的第一編碼部分語句):

IF(AND(CNI!R3="R",LEN(Sheet2!N$3:$N$78)=0),"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78) 

如果你的目標是更換(從您的代碼的第二位)在Sheet2的N3(你的真實情況),那麼你就看看下面的線,這包括你的代碼的兩行:

=IF (CNI!R3="R",IFERROR(INDEX(Sheet2!$N$3:$N$78, SMALL(IF(LEN(Sheet2!$N$3:$N$78)=0,"", ROW(Sheet2!$N$3:$N$78)-MIN(ROW(Sheet2!$N$3:$N$78))+1), ROW(Sheet2!N2))),""),"") 

讓我知道這是否有助於解決問題!