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)
根据需要更改名称。