代码之家  ›  专栏  ›  技术社区  ›  user3153443

如何使用条件格式与动态工作表进行比较?

  •  0
  • user3153443  · 技术社区  · 6 年前

    我尝试使用条件格式来比较动态引用工作表中一个单元格的值与另一个单元格的值,同时使用动态单元格引用,并在值不匹配时高亮显示该单元格。

    我已经创建了一个主工作表,其中包含一个单元格,带有我希望引用的工作表的名称。此单元格将使用相关工作表的名称定期更新。我能够编写一个正确返回我希望比较的值的公式,但当我在条件格式规则(如果不等于,则设置单元格格式)中输入此表达式时,我会收到一个红色轮廓,并显示消息“Invalid formula”。

    我尝试过各种组合,比如使用自定义公式和使用(当前单元格=(此处的公式)),虽然没有给出错误,但它仍然无法按预期工作。

    我正在比较工作表4719中单元格C2的值与工作表4717中单元格C2的值。工作表Mastersheet中的一个单元格包含B1中的条目“4717”,这是一个将定期更改为类似4717的单元格。

    能够成功返回我想要的值的公式是 =indirect(Mastersheet!B1&"!"&"C2") 但我只能通过把 "C2" 引号中的引用,它不是动态的,因此必须手动更改以适用于C列中的任何其他值。

    我预计工作表4719中的单元格C1会变成绿色,因为其中的值与工作表4718中的单元格C1不同。

    如果我的解释没有足够的道理,我会制作一份公开的谷歌页面副本 https://docs.google.com/spreadsheets/d/1s0oaGas46akmGV7hapnDOdhndcWudyq239kmCrLnt3U/edit?usp=sharing

    1 回复  |  直到 6 年前
        1
  •  2
  •   player0    6 年前

    试着这样做:

    =INDIRECT(Mastersheet!$B$1&"!"&ADDRESS(ROW(C2), COLUMN(C2), 4))
    

    0


    这可以用于条件格式,但是,引用的图纸不能完全处于活动状态,因此:

    =INDIRECT(INDIRECT("Mastersheet!B1")&"!"&ADDRESS(ROW(C2),COLUMN(C2),4))
    

    0


    这可以进一步调整,以便B1也可以是动态的:

    =INDIRECT(INDIRECT("Mastersheet!"&ADDRESS(ROW(B1),COLUMN(B1)))&"!"&
     ADDRESS(ROW(C2),COLUMN(C2),4))=19 
    

    0

    推荐文章