Excel 使用COUNTIFS作为公式的VBA
我使用Excel 使用COUNTIFS作为公式的VBA,excel,vba,excel-formula,Excel,Vba,Excel Formula,我使用=COUNTIF($B$2:$B$8,“>”&$B2)+COUNTIF($B$2:B2,B2) 此函数用于在组中进行排名。 我试着把它当作 Worksheets("A").Range("A1").Formula ="=COUNTIF($B$2:$B$8,">"&$B2)+COUNTIF($B$2:B2,B2)" 但它只返回真/假,而不是函数。 我想在单元格上写下这个函数,并自动填充到最后一行 谢谢第一个COUNTIF中的$B2必须是文本,以“>表示。所以公式应该是这样的
=COUNTIF($B$2:$B$8,“>”&$B2)+COUNTIF($B$2:B2,B2)
此函数用于在组中进行排名。
我试着把它当作
Worksheets("A").Range("A1").Formula ="=COUNTIF($B$2:$B$8,">"&$B2)+COUNTIF($B$2:B2,B2)"
但它只返回真/假,而不是函数。
我想在单元格上写下这个函数,并自动填充到最后一行
谢谢第一个COUNTIF中的$B2必须是文本,以“>表示。所以公式应该是这样的 希望这有帮助 这里发生了什么事? 如果仔细查看代码并将其添加到编辑器中
Worksheets("A").Range("A1").Formula ="=COUNTIF($B$2:$B$8,">"&$B2)+COUNTIF($B$2:B2,B2)"
它将自动添加一些空格,如下所示
Worksheets("A").Range("A1").Formula = "=COUNTIF($B$2:$B$8," > "&$B2)+COUNTIF($B$2:B2,B2)"
因此,您可以清楚地看到它由4个部分组成:
工作表(“A”).范围(“A1”).公式
对单元格公式的引用=
操作员“=COUNTIF($B$2:$B$8,”
String1
另一个操作员“&$B2)+COUNTIF($B$2:B2,B2)”
String2
进行比较,因为这不是以第二个“
结尾的公式的一部分。因此String1>String2
要么是True
要么是False
解决方案
要将
包含到公式中,需要将字符串中的引号加倍
Worksheets("A").Range("A1").Formula = "=COUNTIF($B$2:$B$8,"">""&$B2)+COUNTIF($B$2:B2,B2)"
现在,
“=COUNTIF($B$2:$B$8,“>”&$B2)+COUNTIF($B$2:B2,B2)“
被视为一个完整的字符串。您需要将公式中的引号加倍为什么要将公式添加为图像?请编辑您的答案并将其作为文本。除了@FunThomas所说的之外,这可能会解释为什么:•实际上我不明白为什么您在该公式中添加了一个额外的&“&
,这是不需要的。OP只需将其代码中的“>”和$B2
替换为“>”和$B2
。此外,如果将字符串与数字连接起来,例如result=“>”&5
,则该数字将隐式转换为字符串,与result=“>5”
相同。