Col A Col B Col C
Row 1 a a a
Row 2 a a a
Row 3 a a a
我正在尝试在 COUNTIF 函数 =COUNTIF(range,criteria) 中设置特定范围。
示例 1:使用上面的示例数据,我想查看第 1 行、A 列中字母“a”出现了多少次。只需查看单个单元格 A2 即可完成此操作。
=COUNTIF(A1,"a")
例 2:我想查看第 2 行中出现了多少个“a”。可以使用 A2:C2 范围来完成。
=COUNTIF(A2:C2,"a")
示例 3:这就是我被困住的地方。我想看看第 3 行、A 列和 C 列中出现了多少个“a”。我不知道如何将其输入到公式中。
=COUNTIF(????????,"a")
编辑:感谢大家的快速回复。我之所以问这个问题是因为我确实在研究以下问题:
我已在 A - H 列中手动输入数据。A 列和 B 列合并生成四个评级中的一个。C 和 D 生成第二个评级。E 和 F 生成第三个评级。G 和 H 生成第四个评级。我已将这四个评级合并起来,并显示在 I - L 列中。在这四个以不同顺序出现的评级中(共 25 种组合,可以重复),我需要将最高值(1=高,4=低)分配到 N 列。M 列是我需要的一个额外列,以完成所需的功能。它将四个评级中的最高评级以 1-25 之间的数字(可能的选项总数)输出。然后,我从这个数字中从评级表中索引出相应的评级。
下面的公式工作得很好。我寻求帮助的原因有两个。我想将所有工作合并到一个单元格中(如果可能的话),并删除添加的 I - L 列,这样我就可以轻松地在一个函数中 CONCATENATE() 每个评级的两个手动输入。我以为可以做到,但主要阻碍我的是下面的代码部分:
COUNTIF(I1:L1,Ratings!$A$1:$A$25)
它阻碍了我,因为 COUNTIF() 可以将范围作为输入参数,但不能将单独的单元格作为输入参数。我希望将 (A1&B1)、(C1&D1)、(E1&F1)、(G1&H1) 作为 COUNTIF() 函数参数的“范围”部分。每个可用组合的评级都位于标有“评级”的第二张工作表上。
Sheet 1: Sheet1
Columns: A B C D E F G H I J K L M N
Row 1: D 2 A 5 E 3 E 3 D2 A5 E3 E3
-AH 列是手动输入的。
-第 I 列为 (A1&B1)
-J 列为 (C1&D1)
-K 列是 (E1&F1)
-L 列为 (G1&H1)
-M 列是
{=IFERROR(MATCH(1,IF(COUNTIF(I1:L1,Ratings!$A$1:$A$25)>0,1,0),0),"")}
第 N 列是
=IFERROR(INDEX(Ratings!$B$1:$B$25,M1),"")
第二张标有“评级”的工作表如下:
Sheet 2: Ratings
Columns: A B
Row 1: A5 1
Row 2: A4 1
Row 3: B5 1
Row 4: A3 1
Row 5: A2 1
Row 6: B4 2
Row 7: B3 2
Row 8: C5 2
Row 9: C4 2
Row 10: D5 2
Row 11: A1 3
Row 12: B2 3
Row 13: B1 3
Row 14: C3 3
Row 15: C2 3
Row 16: D4 3
Row 17: E5 3
Row 18: C1 4
Row 19: D3 4
Row 20: D2 4
Row 21: D1 4
Row 22: E4 4
Row 23: E3 4
Row 24: E2 4
Row 25: E1 4
希望通过解决手头的所有问题,大家可以更好地理解我想要完成的任务。
答案1
=countif(A3,"a")+countif(C3,"a")
或者更简单地说:
=(A3="a")+(C3="a")
即使你定义了一个不相交的命名范围,COUNTIF()
也不会接受它。
然而类似这样的事情:
=SUMPRODUCT(COUNTIF(INDIRECT({"A3","C3"}),"a"))
可以,但是它并不比COUNTIF()
s 的总和更好。
答案2
答案3
在朋友的帮助下,我找到了一个更好的解决方案。它包括用 MIN(VLOOKUP(),VLOOKUP(),VLOOKUP(),VLOOKUP()) 替换 COUNTIF() 方法,以查找 4 个给定值中的最高评级。我还能够连接 2 列,从而使用该方法消除 4 个额外的组合列和 1 个“中间步骤”列。
=MIN(VLOOKUP((A1&B1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((C1&D1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((E1&F1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((G1&H1),Ratings!$A$1:$B$25,2,FALSE))