Excel 计算一个值在一组列中出现的次数,但每行只计算该名称的一个实例
Excel counts the number of times a value appears in a group of columns but counts only one instance of the name per row
我需要查找某个名称出现在此列表中的次数,但我只想为每一行计算该名称的一个实例一次,而不计算该行中的重复名称。
例如:我有以下范围...
Red Bill Jack Ruby Bill
Blue Ruby Ivan Raul Ted
Green Ted James Rick Ted
Red Ted Phil Ruby Bill
在这个工作表中,我想计算名字 Bill 的实例数并得到答案 2,因为 Bill 的名字出现在两行中。同理,如果我选择统计Ted这个名字,答案应该是3,因为Ted的名字出现在三行中。
非vba 解决方案,在 F 列中有辅助列。
F 列公式=IF(COUNTIF(B1:E1,$I)>0,1,0)
J2公式=SUM(F1:F4)
根据需要更改 I1 的名称。
假设您输入您选择的名字,例如"Ted",在G1
,数组公式**:
=SUM(0+(MMULT(0+(A1:E4=G1),TRANSPOSE(COLUMN(A1:E4)))>0))
此致
**数组公式的输入方式与 'standard' 公式不同。您不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 将大括号 {} 放在公式周围(尽管不要尝试自己手动插入)。
将 OFFSET 与 SUMPRODUCT 结合使用。在 F7 中(根据提供的图像)作为,
=SUMPRODUCT(SIGN(COUNTIF(OFFSET(B:E, ROW(:)-1, 0), E7)))
SIGN 函数将每一行的任何正数变为 1。 ROW(1:4)
循环遍历每一行。
我需要查找某个名称出现在此列表中的次数,但我只想为每一行计算该名称的一个实例一次,而不计算该行中的重复名称。
例如:我有以下范围...
Red Bill Jack Ruby Bill
Blue Ruby Ivan Raul Ted
Green Ted James Rick Ted
Red Ted Phil Ruby Bill
在这个工作表中,我想计算名字 Bill 的实例数并得到答案 2,因为 Bill 的名字出现在两行中。同理,如果我选择统计Ted这个名字,答案应该是3,因为Ted的名字出现在三行中。
非vba 解决方案,在 F 列中有辅助列。
F 列公式=IF(COUNTIF(B1:E1,$I)>0,1,0)
J2公式=SUM(F1:F4)
根据需要更改 I1 的名称。
假设您输入您选择的名字,例如"Ted",在G1
,数组公式**:
=SUM(0+(MMULT(0+(A1:E4=G1),TRANSPOSE(COLUMN(A1:E4)))>0))
此致
**数组公式的输入方式与 'standard' 公式不同。您不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 将大括号 {} 放在公式周围(尽管不要尝试自己手动插入)。
将 OFFSET 与 SUMPRODUCT 结合使用。在 F7 中(根据提供的图像)作为,
=SUMPRODUCT(SIGN(COUNTIF(OFFSET(B:E, ROW(:)-1, 0), E7)))
SIGN 函数将每一行的任何正数变为 1。 ROW(1:4)
循环遍历每一行。