Excel 2010条件格式不会使用INDEX / MATCH公式

我有一个表使用以下公式从两个其他表中提取数据:
=IF(INDEX(InitASIPTable,MATCH([@[EFH JST]],InitInspJST,0),MATCH(HeaderRow,TailNumberRow,0))="INITIAL CW",INDEX(SortieTime[CW-13R],MATCH(HeaderRow,SortieTime[Tail],0)),INDEX(InitASIPTable,MATCH([@[EFH JST]],InitInspJST,0),MATCH(HeaderRow,TailNumberRow,0)))

基本上,看第一张桌子,看是否已经完成了初步检查。 如果是,则进入第二个表格以提取循环检查剩余时间,如果没有,则提供剩余的时间直到初始检查。 我遇到的问题是获取Excel 2010中的条件格式,以突出显示表格中的单元格,以显示我看到的时间是从初始表格还是循环表格中提取的。 我在这个表格中有12行x 15列,我试图把这个格式化。

我已经尝试使用此公式的条件格式:
=ISNUMBER(INDEX(InitASIPTable,MATCH([@[EFH JST]],InitInspJST,0),MATCH(HeaderRow,TailNumberRow,0)))
但是,Excel会拒绝使用“input的名称无效”错误消息的公式,即使在表中间放置该公式时,它会正确返回“TRUE”或“FALSE”。

我也尝试明确定义每个范围,而Excel接受规则,它不适用条件格式。 这是Excel正在接受的修改公式:
=ISNUMBER(INDEX('SHEET 1'!$G$5:$U$16,MATCH($A$2:$A$13,'SHEET 1'!$A$5:$A$16,0),MATCH($D$1:$R$1,'SHEET 1'!$G$2:$U$2,0)))
在这里定义范围:
Sheet 1 G5:U16是初始时间数据表
A2:A13是要格式化的表中的[EFH JST]列(唯一键)
Sheet 1 A5:A16是初始表的JST列
D1:R1是要格式化表格的标题行
Sheet 1 G2:U2是初始数据表的标题行

任何时候我把这个公式放到表格中间,它就会正确地返回true或false,所以我知道这个公式在这里工作。 我想处理一个比Excel更复杂的公式吗?还是我错过了别的东西?

您不能在条件格式公式中使用表引用。 [@ [EFH JST]]

您可以尝试将公式保存到一个命名的范围,然后使用它

在MSDN Technet论坛上提出同样的问题后,最终解决问题的答案是将条件格式设置为=SUMPRODUCT((InitASIPTable=D2)*1)>0 。 这不是一个坚实的解决scheme,因为它取决于两个表从不具有相同的值,但它确实工作。