我想知道 1000-10,000 之间的数字在一列中出现了多少次。例如,数字 1000 出现了 5 次,数字 1010 出现了 6 次,1100 出现了 4 次,等等。现在,我正在手动创建一个列,列出 1000-10,000 之间的每个数字,以及另一个使用 COUNTIF 函数查找该数字存在的数量的列。
是否存在一个公式可以汇总 1000 到 10,000 之间的每个数字出现的次数,这样我就不必手动执行此操作了?
任何帮助,将不胜感激!
答案1
如果你需要计数或频率,你可以制作一个数据透视表每个值. 得到总体总结:
=COUNTIF(A1:A10750,"<10001")-COUNTIF(A1:A10750,"<1000")
如果您喜欢当前的表格,但又想避免手动劳动,请尝试这个简短的宏:
Sub tablemaker()
For i = 1000 To 10000
Cells(i - 999, "B").Value = i
Next i
Range("C1").Formula = "=COUNTIF(A$1:A$10750,B1)"
Range("C1").AutoFill Destination:=Range("C1:C9001")
End Sub
答案2
实现这一目标的方法有很多种,我建议以下几种:
方法 1:
它包括,
- 唯一的数字列表。
- 工作
COUNTIF
表功能。
单元格中的数组(CSE)公式
E41
:{=IFERROR(INDEX($D$41:$D$56, MATCH(0,COUNTIF($E$40:E40, $D$41:$D$56), 0)),"")}
完成公式Ctrl+Shift+Enter& 向下填充。
在单元格中输入此公式
F41
:=IF(COUNTIF(D$41:D$56,E41)=0,"",COUNTIF(D$41:D$56,E41))
方法 2:
它包括,
- 唯一的数字列表。
- 工作
FREQUENCY
表功能。 - 单元格
E41
具有与上面显示的相同的数组公式。
单元格中的数组(CSE)公式
G41
:{=IF(FREQUENCY(D$41:D$56,E$41:E$43)=0, "",FREQUENCY(D$41:D$56,E$41:E$43))}
怎么运行的:
- 在单元格中输入上面显示的公式
G41
,然后填写直至所需内容,按F2
,最后完成Ctrl+Shift+Enter。
方法 3:
它正在创建一个数据透视表。
- 使用行中的数字。
- 应用数字计数作为值。
方法 4:
它包括,
- 动态命名范围。
- 和
COUNTIFS
工作表公式。
怎么运行的:
- 选择范围
D41:D56
。 - 按Ctrl+F3
提供一个合适的名称(我已使用
MYNumber
)。可以参考一下这个公式。
=OFFSET(Sheet1!$D$41, 0, 0, COUNTA(Sheet1!$D:$D), 1)
单元格中的数组(CSE)公式
J41
:{=INDEX(MYNumber,MATCH(TRUE,MYNumber<>"",0))}
完成Ctrl+Shift+Enter。
单元格中的公式
J42
:=LOOKUP(2,1/(MYNumber<>0),MYNumber)
最终公式为
J44
:=COUNTIFS(MYNumber,">="&J41,MYNumber,"<="&J42)
一旦您向范围中添加或删除新值MYNumber
, D41
Excel 将自动更新单元格和中的Firs
t &Last
值。J41
J42
注意:
您需要根据需要调整上面显示的公式中的单元格引用。