2017-08-16 70 views
-2

我試圖確定如何格式化一列值的參考表。如果這是可能的,我覺得它會需要使用「論壇」條件格式樣式;然而,我沒有太多的經驗,我一直無法找到我正在尋找什麼 - 不知道我是否正確地說明我的問題。Excel條件格式與參考表

Example - Data and Reference Table

的意圖是能夠「紅/綠」,這取決於「水平」是在細胞B1指示的小區中的B欄:如果在列B中的值大於或等於到該級別的參考圖表中的值時,B列中的值應變爲綠色,否則它應變爲紅色。

我有這樣的數百列的信息,所有這些都需要以相同的方式格式化。這些信息也將定期更新(B1中的「Level」值,B列中的「1/2/3」值)。

我使用Excel 2016,如果這是相關信息。

任何幫助將不勝感激 - 如有必要,我可以提供更多信息。

回答

0

爲此做了一個非常基本的VBA腳本,如果你只是想使用它。代碼如下。

Public Sub UpdateTheLevel() 
Dim Currentlevel, templevel As String 
Dim i, j, MaxLevel, column, MaxSkill, currlevel, wantedlevel As Integer 
column = 0 
''Need to set MaxLevel, MaxSkill 
Currentlevel = ActiveSheet.Cells(2, 1).Value 
For i = 4 To MaxLevel 
    templevel = ActiveSheet.Cells(2, i).Value 
    If templevel = Currentlevel Then 
     column = i 
     Exit For 
    Else 
     Next i 
If column = 0 Then 
    MsgBox "Level Not Found." 
Else 
    For j = 3 To MaxSkill 
     currlevel = Cells(j, 2).Value 
     wantedlevel = Cells(j, column).Value 
     If currlevel < wantedlevel Then 
      Range (Cells(j, 2)), Interior.ColorIndex = 3 
     Else 
      Range (Cells(j, 2)), Interior.ColorIndex = 4 
     Next j 
End Sub 

您可以將它綁定到表單中,以便按下按鈕或打開文件時運行。

0

這可以在不使用VBA的情況下使用兩個使用公式確定格式的條件格式規則來完成。

選擇B3到B17,注意B3是活動單元格。然後創建兩個規則。

公式紅:

=AND(ISNUMBER(B3),B3<INDEX($D$3:$H$17,ROW(B3)-2,MATCH($B$1,$D$2:$H$2,0))) 

公式綠色:

=AND(ISNUMBER(B3),B3>=INDEX($D$3:$H$17,ROW(B3)-2,MATCH($B$1,$D$2:$H$2,0))) 

enter image description here