是否有更快的方法来计算列中的唯一值? 我公式的第二次迭代使用了一个速度范围,但收到一个#NAME?错误。感谢。
我使用以下公式来计算第5列中唯一IP地址的数量。 - 在msdn上由Jeeped解释 -
ActiveCell.Formula = "=sumproduct((ipsheet!C[5]<>"""")/ipsheet(ACAS!C[5],ipsheet!C[5]&""""))"
论坛工作但是它超过5000多个条目真的很慢。我尝试实现与
相同的公式With Sheets("ipsheet") 'create range for ip addresses
Set rngOfFindings = .Range(.Range("e1"), .Range("e1").End(xlDown))
End With
"=sumproduct((rngOfFindings<>"""")/countif(rngOfFindings,rngOfFindings&""""))"
结果是#NAME?
答案 0 :(得分:1)
将列中的数据命名为命名范围。
保存文件。
转到数据&gt;来自其他来源&gt;来自Microsoft Query
选择Excel文件,然后导航到Excel文件。打开它,选择您的范围,然后在Microsoft Query中继续并进行编辑。
单击SQL按钮,然后键入
SELECT COUNT(DISTINCT rangename.columnheader) FROM rangename rangename
答案 1 :(得分:0)
对于大范围,此公式更长但更快
=SUM(IF(FREQUENCY(IF(range<>"",MATCH(range,range,0)),ROW(range)-MIN(ROW(range))),1))
使用 CTRL + SHIFT + ENTER确认