Excel 2010 公式输入单元格参数的特定单元格

Excel 2010 公式输入单元格参数的特定单元格
     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

以下是其他一些选项:

这是基于索引号的:

=SUM(INDEX(((COLUMN(A3:C3) = 1)+(COLUMN(A3:C3) =3))*(A3:C3="a"),))

这是基于其他每一个模式的:

=SUM(INDEX((MOD(COLUMN($A$3:$C$3),2)=1)*($A$3:$C$3="a"),))

这是基于第 1 行的值:

=SUM(INDEX(($A$1:$C$1="Yes")*($A$3:$C$3="a"),))

在此处输入图片描述

答案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))

相关内容