Excel计算值在一组列中出现的次数,但只计算每行名称的一个实例

我需要find一个名字出现在这个列表中的次数,但是我只想为每一行计算一次名字的一个实例,而不需要在行中计算重复的名字。

例如:我有以下范围…

Red Bill Jack Ruby Bill Blue Ruby Ivan Raul Ted Green Ted James Rick Ted Red Ted Phil Ruby Bill 

在这个工作表中,我要计算Bill的实例数,并得到2的答案,因为Bill的名字出现在两行中。 在同样的方面,如果我selectTed的名字,答案应该是3,因为Ted的名字出现在三行中。

与SUMPRODUCT一起使用OFFSET。 在F7(每张提供的图像)中,

 =SUMPRODUCT(SIGN(COUNTIF(OFFSET(B$1:E$1, ROW($1:$4)-1, 0), E7))) 

SIGN函数将每一行的正数转为1。 ROW(1:4)循环遍历每一行。

在这里输入图像说明

假设你在G1你的名字,例如“Ted”, 数组公式**

=SUM(0+(MMULT(0+(A1:E4=G1),TRANSPOSE(COLUMN(A1:E4)))>0))

问候

**数组公式不是以与“标准”公式相同的方式input的。 按住CTRL键和SHIFT键,而不是按下ENTER键,然后按ENTER键。 如果你做得对,你会注意到Excel在公式周围放置了大括号(尽pipe不要试图自己手动插入这些)。

F列中有帮助列的非vba解决scheme

列F公式=IF(COUNTIF(B1:E1,$I$1)>0,1,0)

J2公式=SUM(F1:F4)

根据需要更改名称。

在这里输入图像说明