2017-03-24 85 views
0

我经常处理跨多列的数据,并需要一种方便的方式来突出显示包含特定列中相同值的多行,但我需要在突出显示和非突出显示之间切换。如何突出显示与匹配相邻单元格的单元格

例如,我会在列的数据几行,如: 700105862 700105862 700105862 700103235 700103235 700108783 700108783 700108783

什么我想要做的就是突出前三行(700105862),则没有突出700103235,然后再次突出700108783. 我想知道是否有一个条件格式公式,使这成为可能。

任何帮助将不胜感激!

谢谢

+1

这是Excel的?没有看到任何方式条件格式可以实现这一点。所以你将不得不研究VBA方法。 – June7

回答

0

,如果你的号码分成的总是不同的号码重复的块,那么你可以使用这个VBA代码:

Sub main() 
    Dim item As Variant 
    Dim startRow As Long 
    Dim okHighlight As Boolean 

    With Range("A1", Cells(Rows.count, 1).End(xlUp)) 
     For Each item In GetUniqueValues(.Cells).Items 
      If okHighlight Then .Range(.Cells(startRow, 1), .Cells(item, 1)).Interior.ColorIndex = 48 
      startRow = item + 1 
      okHighlight = Not okHighlight 
     Next 
    End With 
End Sub 


Function GetUniqueValues(rng As Range) As Dictionary 
    Dim cell As Range 
    Dim dict As Dictionary 

    Set dict = New Dictionary 
    With dict 
     For Each cell In rng 
      .item(cell.Value) = cell.row - rng.Rows(1).row + 1 
     Next 
    End With 
    Set GetUniqueValues = dict 
End Function 

一个条件格式的做法有可能在与帮手 column

假设:

  • 你的数据是在列A和从行开始2

  • 塔B是免费

然后:

  • 写如下式辅助柱B细胞:

    =IF(A2<>A1,B1+1,0)

  • 应用条件格式列A用下面的公式:

    =INT(B2/2)=B2/2

    ,并选择您喜欢的格式来突出显示单元格

+0

@EricJang,你通过了吗? – user3598756

+0

Hi @ user3598756, 这个宏很完美。为了适应我的具体需求,我不得不编辑脚本,但我想我理解它的逻辑。非常感谢你的帮助!! –

+0

不客气 – user3598756

0

当然,如果你知道你想突出你只需设置条件格式为x和y的值之间有什么范围。用你没有得到的东西评论这个问题,我会相应地修改答案。

相关问题