根据另一个单元格中的值排除等级范围内的单元格值

我正在组织一个高尔夫球社会得分和障碍表。 我很难排除成员分数排名中的非成员分数。

非会员不能赢,即使他们得分最高。 我想忽略/排除结果位置的非成员分数。 即如果一个非会员的得分最高,他们将不会被排在第一位(或者就此而言)

所以这是交易:

非会员标有“n”。 我想看看“Members”列单元格是否有“n”。 如果是这样,我想排除他们的“ 分数 ”forms被包括在整个“职位”列中。

以下是我到目前为止:

=IF(AND(C2="",D2<>""),RANK(D2,$D$2:$D$39,0),IF(AND(C2="",D2=""),"",IF(AND(C2<>"",D2=""),"",IF(AND(C2<>"",D2<>""),"")))) 

这是我得到的结果:

在这里输入图像说明

但是这是我想要的结果:

在这里输入图像说明

两个表格之间的差异是“位置”列中的值。 我只圈出了一个区别,但如果仔细观察,您会发现两个表中“位置”列中的值都是不同的。 这是由于第二个表中的“职位”排名排除了非会员分数。 第二张表是我想达到的结果。

这是一个公式,我search“条件的Excel排名”后,从这个答案修改:

 =IF(B2<>"n",COUNTIFS(B$2:B$100,"<>n",A$2:A$100,">"&A2)+1,"") 

请注意,这适用于Excel 2007或更高版本。

我会build议使用一个额外的帮手列(可以隐藏)来过滤掉非会员分数。

例如,在“位置”列的左侧,在插入的新列E中使用以下内容,并将其复制到列表的底部:

 =IF(C2="n","",D2) 

从那里,你可以引用这个'帮助'列,将返回非会员分数的空白,可以用来排名只有你的成员分数,如下面计算您的'位置'列:

 =IF(E2<>"",RANK(E2,$E$2:$E$39,0),"") 

希望这可以帮助。

干杯!