2016-01-18 142 views
0

我想突出顯示Excel中每個人的重疊日期範圍。單獨突出顯示重疊日期範圍

到目前爲止,我想出了這個公式:

enter image description here

=SUMMENPRODUKT(($D3<=$E$3:$E$10000)*($E3>=$D$3:$D$10000))>1 

但我有麻煩,只突出那些給定的人,比如傑夫,有重疊的日期範圍行。

+0

如果你要做一些VBA而不是條件格式化,我只需要在Range(「C6:C12」)上運行'for'循環(使用'offset(0,1)'來引用列'D')檢查是否有任何給定的開始或結束日期落在您當前考慮的日期之間。您需要爲當前行創建一個例外,例如'If currentcell.address = considerationcell.address Then _ Next _ End If'。 – Kyrubas

+1

我發佈了一個答案,但後來不確定我是否理解了這個問題。你的意思是你想選擇一個人(傑夫),並只突出他們的條目(即只是第6行而不是第9行),或者只是突出傑夫,如果他出現兩次重疊的日期? –

+0

您的問題將從更明確的解釋中得到突出顯示。向我們展示一些您希望行突出顯示的情況,並解釋原因。例如,我無法在圖像中分辨爲什麼托馬斯的作品沒有被突出顯示,因爲它與傑夫的時間框架重疊。 –

回答

1

非VBA

​​

或者參照至C &整個列d

=AND(COUNTIFS($D:$D,">="&$C6,$C:$C,"<="&$D6)>1,$B6="Jeff") 

參照細胞圖像和應用條件格式細胞A6:D12

(如果你的意思是強調只有傑夫如果他有重疊與任何人範圍)

OR

=COUNTIFS($D$6:$D$12,">="&$C6,$C$6:$C$12,"<="&$D6,$B$6:$B$12,$B6)>1 

或引用整個列B,C & d

=COUNTIFS($D:$D,">="&$C6,$C:$C,"<="&$D6,$B:$B,$B6)>1 

(如果你的意思是突出顯示任何與自己重疊的人)

通常使用COU會更好如果可能的話,與使用SUMPRODUCT的陣列類型解決方案相比,NTIFS具有這種問題。

+0

謝謝湯姆!假設使用'COUNTIFS'的第二個公式標記除了一個以外的所有重疊日期範圍是否正確?所以,如果我有傑夫和傑夫有三個重疊的日期範圍兩個突出顯示? – JimBoy

+0

對不起,回覆緩慢。不,它會突出顯示與自己重疊的所有日期範圍。 –

+0

沒問題! :)但第二個公式似乎在某些情況下關閉。現在不能說爲什麼。 – JimBoy

1

使用VBA

Dim currentcell, considerationcell as Range 
For each currentcell in Range("C6:C12") 
    For each considerationcell in Range("C6:C12") 
     If currentcell.Address=considerationcell.Address Then 
      GoTo nextiteration 
     End If 
     If currentcell >= considerationcell and currentcell <= considerationcell.Offset(0,1) Then 
      Range(considerationcell.Offset(0,-2), considerationcell.Offset(0,1)).Interior.Color = RGB(111,111,111) 
     End If 
     If currentcell.Offset(0,1) >= considerationcell and currentcell.Offset(0,1) <= considerationcell.Offset(0,1) Then 
      Range(considerationcell.Offset(0,-2), considerationcell.Offset(0,1)).Interior.Color = RGB(111,111,111) 
     End If 
nextiteration: 
    Next 
Next 
+0

謝謝!這看起來很有希望。 :)不幸的是,當我執行代碼時出現錯誤消息:'Next for For'。你能幫我嗎? – JimBoy

+0

對不起。我之前沒有像VBA那樣跳過for循環,並假設Next會像那樣工作,但顯然不是。此更新現在可以運行(我自己測試過)。 – Kyrubas

+0

我對它進行了測試,雖然它對我的問題很好*工作*解決方案,但對於我擁有的數據量來說,它似乎有點計算浪費。因此,如果我接受湯姆的回答,我希望你能夠接受。 – JimBoy

相關問題