简化COUNTIFS公式

时间:2013-09-20 19:18:08

标签: excel excel-formula

  A  B  C  D
1 Y  Y  Y  "332212"
2 Y  N  Y  "231223"
3 N  Y  Y  "122131"
4 Y  Y  Y  "231132"

A,B和C列表示测试是否完成(Y =是,N =否)。

测试分为两部分,D栏保存结果:

  • 列D的前两位数字保存A列的结果,即“AA ----”
  • 列D的中间两位数字保存列B的结果,即“--BB - ”
  • 列D的最后两位数字保存列C的结果,即“---- CC”

我试图分别计算包含Y的列A,B和C中的单元格:

  • 在D列的适当位置含有22,23或32个
  • 在列D的适当位置含有11,12,21,13或31

我有以下内容可行,但我很好奇是否有更简单的方法来实现相同的目标:

=COUNTIFS(A,"=Y",D,"=22*")   + COUNTIFS(A,"=Y",D,"=23*")   + COUNTIFS(A,"=Y",D,"=32*")
+COUNTIFS(B,"=Y",D,"=??22*") + COUNTIFS(B,"=Y",D,"=??23*") + COUNTIFS(B,"=Y",D,"=??32*")
+COUNTIFS(C,"=Y",D,"=*22")   + COUNTIFS(C,"=Y",D,"=*23")   + COUNTIFS(C,"=Y",D,"=*32")

=COUNTIFS(A,"=Y",D,"=1*")    + COUNTIFS(A,"=Y",D,"=?1*")
+COUNTIFS(B,"=Y",D,"=???1*") + COUNTIFS(B,"=Y",D,"=???1*") 
+COUNTIFS(C,"=Y",D,"=*1")    + COUNTIFS(C,"=Y",D,"=*?1")

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题是正确的,你可以使用mid函数

分隔列d

= mid(列d,1,2)将给出d ......列中的前两位数字= mid(列d,2,2),第二列2等等。

你可以从那里算起来。

答案 1 :(得分:1)

我建议使用Text to Columns解析ColumnD的副本(固定宽度:“| nn | nn | nn |)和:

在I1中的

=IF(AND(A1="Y",OR(E1=22,E1=23,E1=32)),1,"")
在N1中:=IF(AND(A1="Y",OR(E1=11,E1=12,E1=21,E1=13,E1=31)),1,"")

每个都向右复制两列以适应,然后复制=SUM(I1:K4)=SUM(N1:P4)

SO18924286 example