=IF(AND(COUNTIF(上线版本!G:G,""&B6&""),COUNTIF(上线版本!A:A,"20230513")),"是","")在上线版本内,将A列为20230527的内容也统计出来了
时间: 2023-11-21 22:26:16 浏览: 58
这是因为公式中只指定了A列的条件为20230513,而没有限制其他列的条件。如果要同时限制A列和G列的条件,可以将公式改为如下:
=IF(AND(COUNTIFS(上线版本!G:G,""&B6&"",上线版本!A:A,"20230513")),"是","")
其中COUNTIFS函数可以同时指定多个条件,用逗号分隔。
相关问题
=IF(AND(COUNTIF(上线版本!G:G,"*"&B6&"*"),COUNTIF(上线版本!A:A,"=20230513")),"是","")公式内COUNTIF(上线版本!A:A,"=20230513")没有生效
公式内的COUNTIF函数中,条件参数应该是字符串类型的,因此你需要将条件参数改为"20230513",即用双引号引起来,这样才能正确匹配到单元格A列中的值。修改后的公式如下:
=IF(AND(COUNTIF(上线版本!G:G,"*"&B6&"*"),COUNTIF(上线版本!A:A,"="&"20230513")),"是","")
'计算区间计数 countVal = WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=20 and <40") Range("c2").Value = "大于等于20的数量:" & countVal countVal = WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=40 AND <60") Range("c3").Value = "大于等于40的数量:" & countVal countVal = WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=60") Range("c4").Value = "大于等于60的数量:" & countVal '计算所占比例 countRatio = countVal / WorksheetFunction.CountA(Range("A1:A" & lastRow)) Range("d2").Value = "大于等于20的数量占比:" & Format(countRatio, "0.00%") countRatio = countVal / WorksheetFunction.CountA(Range("A1:A" & lastRow)) Range("d3").Value = "大于等于40的数量占比:" & Format(countRatio, "0.00%") countRatio = countVal / WorksheetFunction.CountA(Range("A1:A" & lastRow)) Range("d4").Value = "大于等于60的数量占比:" & Format(countRatio, "0.00%"),统计错误
看起来你在计算区间计数和占比时出现了错误。对于区间计数,你使用了错误的语法。应该使用以下语法:
```
countVal = WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=20") - WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=40") + WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=60")
```
这将计算所有大于等于20的数减去所有大于等于40的数加上所有大于等于60的数,从而得到所需的区间计数。
对于占比,你在每个计算中都使用了相同的变量 `countVal`,这是不正确的。应该使用以下语法:
```
countRatio = countVal / WorksheetFunction.CountA(Range("A1:A" & lastRow))
Range("d2").Value = "大于等于20的数量占比:" & Format(countRatio, "0.00%")
countRatio = (countVal - WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=20 AND <40")) / WorksheetFunction.CountA(Range("A1:A" & lastRow))
Range("d3").Value = "大于等于40的数量占比:" & Format(countRatio, "0.00%")
countRatio = WorksheetFunction.CountIf(Range("A1:A" & lastRow), ">=60") / WorksheetFunction.CountA(Range("A1:A" & lastRow))
Range("d4").Value = "大于等于60的数量占比:" & Format(countRatio, "0.00%")
```
这将计算每个区间的占比,并将其放置于正确的单元格中。
希望这能帮助你解决问题!
阅读全文