用于确定唯一表值的最新有序输入的公式

时间:2017-01-04 02:51:09

标签: excel-formula excel-2010

我正在寻找一些帮助来创建一个填充了1的列(在此示例中)'最新的'每个唯一条目的修订(在另一栏中)。

Project #   Rev    Flag
=========================
  FCA1       A  
  FCA1       D       1
  FCA1       B  
  FCA1       B  
  FCA1       C  
  FCA1       C  
  BRS1       A  
  BRS1       B       1
  BRS2       A       1
  FCA2       A  
  FCA2       A  
  FCA2       B  
  FCA2       B  
  FCA2       C       1
  FCA2       C       1
  BRS3       A       1
  FCA1       D       1
  FCA1       D       1
  FCA1       A       

我想要的输出是在'标记'上例中的列。例如,所有Rev D用于项目编号FCA1,所有Rev C用于FCA2。对于Project#下的其他值也是如此。请注意,我这样做完全独立于条目的顺序或排序。为了清楚起见,这个例子恰好以某种顺序显示它们。

我正在使用Excel 2010。

谢谢!

1 个答案:

答案 0 :(得分:1)

您想要的公式是:

=IF(MAX(INDEX(($A$2:$A$20=$A2)*CODE($B$2:$B$20),0))=CODE($B2),1,"")

E.g:

enter image description here

修改

问题如果Rev列中有空白条目,我该如何处理错误?如果您使用的是AB,{{ 1}}和C作为修订代码,因为D函数不会处理我提供的公式中的空字符串。如果您切换到基于数字的修订版,那么它将使用以下公式:

CODE

注意这与上面的公式相同,但没有使用=IF(MAX(INDEX(($A$2:$A$20=$A2)*$B$2:$B$20,0))=$B2,1,"") 函数。例如。如果CODEA=1B=2C=3则:

enter image description here