首先使用Lookup进行条件格式化

时间:2015-10-16 09:16:21

标签: excel if-statement match conditional-formatting

任何人都可以帮我正式执行以下操作:

  1. Table1 [@Counter]
  2. 的条件格式

    格式化公式:

    1. 与Table1 [@Sex] M vs F。
    2. 分开
    3. 如果" M",只格式化表1 [@Counter]中的最高值,其中range =" M" (范围已排序,但会经常调整大小,因此结果必须是动态的)
    4. 如果" F",只格式化表1 [@Counter]中的最高值,其中range =" F" (范围已排序,但会经常调整大小,因此结果必须是动态的)
    5. 重做步骤1-3,但仅突出显示具有第二高值的单元格
    6. 重做第4步,第3个最高值。
    7. 我为步骤1 - 3尝试了什么:
      =IF(TABLE1[@SEX] = "M"; LARGE(OFFSET(ADDRESS(MATCH("M"; TABLE1[@SEX]; 0); 1); 0; 1; COUNTIF(TABLE1[@SEX]; "M")); 1); NA)

      表1:

      +------------+-----------+---------------+ | Name (Str) | Sex (Str) | Counter (Int) | +------------+-----------+---------------+

1 个答案:

答案 0 :(得分:0)

我假设数据已经排序,所以所有的M都是第一个,从最高到最低。然后所有的F都是下一个,从最高到最低。这个假设将允许我们简单地查找特定行的位置。即:找到第一行包含" M" - 那排是最高的;排在第二位以下;下面的行是第三高。然后重复包含" M"的第一行。对于三个" M"规则(" F"将是相同的,只有" M"与" F"切换。

我假设M / F id仅在A列中 - 不需要表格识别。

规则1 - 最高" M":

=ROW()=MATCH("M",$A:$A,0)

规则2 - 第二高" M"

=ROW()=MATCH("M",$A:$A,0)+1

规则3 - 第3高" M"

=ROW()=MATCH("M",$A:$A,0)+2