我有一个字符串列表A,我想知道是否以及是否在每个字符串在范围B中表示的行数。我的数据看起来像这样:
列表A:
E
1 aaa
2 bbb
3 ccc
范围B:
A B C
1 aaa --- ---
2 bbb ccc bbb
3 aaa --- ---
我想要的结果是在列表A中为“aaa”它会告诉我2,对于“bbb”1和“ccc”1。一直尝试使用下面的数组公式但是它没有好像在起作用:
=SUM(IF(COUNTIF(Range B,List A($A1)>0,1,0))
答案 0 :(得分:4)
尽管我不想鼓励使用不稳定的OFFSET¹ function,但在这种情况下,这似乎是最有可能的候选人。
F2中的数组公式是
=SUM(SIGN(COUNTIF(OFFSET(A$2, ROW($1:$99)-1, 0, 1, 3), E2)))
需要使用 Ctrl + Shift + Enter↵来最终确定数组公式。一旦正确进入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。
¹ OFFSET被认为是一个易失性函数,只要工作簿中的任何内容发生更改,就会重新计算。
答案 1 :(得分:3)
在下图中
B
是范围A1:C4
的名称。在F1(列表A
中的第一个元素旁边)中,输入:
=SUM(IF(COUNTIF(OFFSET(B,ROW(B)-1,0,1),E1)>0,1,0)
(使用Ctrl + Shift + Enter输入)并复制。
它应该足够灵活,可以处理B
,它会增长到更多的行和列。
答案 2 :(得分:1)