Excel:條件格式,簡化從一系列行擷取數據

Excel:條件格式,簡化從一系列行擷取數據

我正在嘗試為有限數量的培訓(大約50 次)創建一個時間表,這些培訓分佈在有限數量的場地(大約15 個)之間,並且我正在尋找一種比我目前使用的方法更聰明的方法。

此時間表由兩個電子表格組成:

電子表格 1 包含培訓資料。每次訓練一行。包含訓練地點名稱、開始日期和結束日期的欄位。

電子表格 2 應該是電子表格 1 中資料的視覺化表示,可適應原始資料的變化。到目前為止,它包含一年中的每一天的一列和每個訓練場地的一行。因此,每個單元格代表特定訓練場地的特定日期。

目標是,如果工作表 1 表示訓練地點為AZ1 April 2017到,則表 2 中訓練地點行中表示從到 的27 April 2017日期的單元格將透過條件格式標記。 1 April27 AprilAZ

我目前用於代表訓練場地的行的條件格式化函數AZ是:

=IF(OR(AND(Sheet1!$C$5="AZ";Sheet1!$F$5>=B$6;Sheet1!$E$5<=B$6);AND(Sheet1!$C$6="AZ";Sheet1!$F$6>=B$6;Sheet1!$E$6<=B$6); ...... AND(Sheet1!$C$50="AZ";Sheet1!$F$50>=B$6;Sheet1!$E$50<=B$6));TRUE;FALSE)

因此,重複 AND 部分檢查每個儲存格的列日期(包含在第 6 行)是否落在表 1 中任何訓練的開始日期和結束日期內,以及此訓練是否在訓練地點進行AZ。如果表 1 中的任何訓練都是如此,則 IF 函數為真且單元格被標記。

令人驚訝的是,到目前為止這仍然有效。然而,這是一個非常耗時且不優雅的解決方案。因此,現在我正在尋找一種方法,不再需要為 15 個訓練場地中的每一個重複該函數的 AND 部分 50 次。

廣泛的谷歌搜尋建議,數組公式可能是一種方法,並且條件格式預設被視為數組公式,所以我嘗試:

=IF(AND(Sheet1!C3:C54="AZ";AND(B$6>=Sheet1!E3:E54;B$6<=Sheet1!F3:F54));TRUE;FALSE)

=IF(OR(AND(Sheet1!C3:C54="AZ";AND(B$6>=Sheet1!E3:E54;B$6<=Sheet1!F3:F54)));TRUE;FALSE)

但到目前為止還沒有任何運氣。我想我可能還沒有完全掌握陣列公式的工作原理。因此,如果您在我的函數中發現任何明顯的錯誤,對我可以嘗試什麼有任何想法,或者可以建議我嘗試做的任何替代方法,請告訴我。

否則我可能會失去理智,無限地複製和改編這個血腥的 AND 部分。

相關內容