CountIf 公式不匹配
CountIf formula mismatch
你能帮我算一下 COUNTIF
公式吗?
我有这些条件 - 就像我在应用过滤器一样:
- 在 K 栏中,select
Tablet
和 NA
- 在 Col I 中,select
<>Duplicate TT
(即 select 一切都期望重复 TT)
- 在 G 栏中,select
Yes
我正在使用以下公式,但计算错误:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "Tablet", .Range("K:K"), "NA") + wf.CountIf(.Range("I:I"), "<>Duplicate TT") + wf.CountIf(.Range("G:G"), "Yes")
End With
试试这个:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "=Tablet", .Range("K:K"), "=NA") + _
wf.CountIf(.Range("I:I"), "<>Duplicate TT") + _
wf.CountIf(.Range("G:G"), "=Yes")
End With
我已经在您的测试中添加了 =
,因为如果没有它,它将计算所有包含 平板电脑、NA、是的所有单元格,...
您的第一个子句是问题所在,因为 K 列中的值不会同时为 Tablet
和 NA
:
wf.CountIfs(.Range("K:K"), "Tablet", .Range("K:K"), "NA")
所以你需要re-arrange公式:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "Tablet", .Range("I:I"), "<>Duplicate TT", .Range("G:G"), "Yes") + _
wf.CountIfs(.Range("K:K"), "NA", .Range("I:I"), "<>Duplicate TT", .Range("G:G"), "Yes")
End With
您的 Range("I:I"), "<>Duplicate TT"
将一直选择所有空白到 sheet 的底部,因此您应该将范围限制在底行:Range("I2:I & Range("I" & Cells.Rows.Count).End(xlUp).Row), "<>Duplicate TT"
(假设由于 headers),您要在第二行进行检查,您可能也应该为其余的公式这样做
你能帮我算一下 COUNTIF
公式吗?
我有这些条件 - 就像我在应用过滤器一样:
- 在 K 栏中,select
Tablet
和NA
- 在 Col I 中,select
<>Duplicate TT
(即 select 一切都期望重复 TT) - 在 G 栏中,select
Yes
我正在使用以下公式,但计算错误:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "Tablet", .Range("K:K"), "NA") + wf.CountIf(.Range("I:I"), "<>Duplicate TT") + wf.CountIf(.Range("G:G"), "Yes")
End With
试试这个:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "=Tablet", .Range("K:K"), "=NA") + _
wf.CountIf(.Range("I:I"), "<>Duplicate TT") + _
wf.CountIf(.Range("G:G"), "=Yes")
End With
我已经在您的测试中添加了 =
,因为如果没有它,它将计算所有包含 平板电脑、NA、是的所有单元格,...
您的第一个子句是问题所在,因为 K 列中的值不会同时为 Tablet
和 NA
:
wf.CountIfs(.Range("K:K"), "Tablet", .Range("K:K"), "NA")
所以你需要re-arrange公式:
With ActiveWorkbook.Worksheets("TT")
[AH124] = wf.CountIfs(.Range("K:K"), "Tablet", .Range("I:I"), "<>Duplicate TT", .Range("G:G"), "Yes") + _
wf.CountIfs(.Range("K:K"), "NA", .Range("I:I"), "<>Duplicate TT", .Range("G:G"), "Yes")
End With
您的 Range("I:I"), "<>Duplicate TT"
将一直选择所有空白到 sheet 的底部,因此您应该将范围限制在底行:Range("I2:I & Range("I" & Cells.Rows.Count).End(xlUp).Row), "<>Duplicate TT"
(假设由于 headers),您要在第二行进行检查,您可能也应该为其余的公式这样做