Excel将区域中的值按出现次数的多少提取到一列

时间:2022-08-01 02:07:10 

对于一个包含重复数值的区域,要将其中的数值按出现次数的多少提取到一列,通常可以用包含MODE函数的数组公式。例如数值区域为A1:E10,要将其中的数值提取到G列,如图。


在G2中输入:

=MODE(IF(COUNTIF($G$1:G1,A$1:E$10)=0,A$1:E$10))

公式输入完毕按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充公式,直到出现“#N/A”为止。

受MODE函数的限制,该公式仅对数值有效,且不能提取只出现一次的数值。要将区域中所有的数据按出现次数提取到一列,可用VBA代码来实现。如将下图A1:E10区域中的文本按出现次数多少提取到G列:


按Alt+F11,打开VBA编辑器,在代码窗口中输入下列代码并运行,即可G列得到按出现次数降序排序的文本,在H列得到对应文本的出现次数。

Sub 按出现次数排序()
Dim d As Object
Dim Arr
Dim i As Integer, j As Integer
Application.ScreenUpdating = False

‘提取不重复值并计算出现次数
Set d = CreateObject("Scripting.Dictionary")
Arr = Range("A1:E10")
For i = 1 To UBound(Arr, 1)
For j = 1 To UBound(Arr, 2)
If Not d.Exists(Arr(i, j)) Then
d.Add Arr(i, j), 1
Else
d.Item(Arr(i, j)) = d.Item(Arr(i, j)) + 1
End If
Next
Next

‘输出并排序
Range("G2").Resize(d.Count) = Application.Transpose(d.keys)
Range("H2").Resize(d.Count) = Application.Transpose(d.items)
Range("G2:H2").Resize(d.Count).Sort key1:=Range("H2"), Order1:=xlDescending

Set d = Nothing
Application.ScreenUpdating = True
End Sub

说明:如果文本出现的次数相同,将按先行后列的顺序依次提取。

标签:区域,提取,数值,次数,Excel函数
0
投稿

猜你喜欢

  • Word中图片打印不出来的详细解决办法

    2023-02-22 16:37:09
  • Word题注和交叉引用功能

    2023-12-09 00:02:09
  • 如何解决Word删除还原问题?

    2023-11-12 20:30:00
  • word如何转换pdf?

    2023-12-13 03:28:13
  • win7excel只读模式如何修改模式教程

    2022-12-21 22:54:11
  • Excel数据太大该怎么瘦身?

    2022-02-14 01:13:30
  • EXCEL表中#N/A是什么意思?#N/A是什么?

    2023-05-07 01:48:59
  • WPS插入空白方框的方法

    2023-08-20 04:24:22
  • 如何关闭Word批注框

    2023-11-27 21:09:53
  • 在Word2007中如何更正拼写时忽略Internet和文件地址

    2022-12-28 12:31:11
  • 购买新电脑激活office时微软账号出现异常怎么办?

    2023-11-05 21:03:55
  • Word文档打印过程各参数意义及设置详解

    2023-04-17 00:50:25
  • Excel自动填充序列的几种方法

    2022-04-22 07:56:14
  • Word如何批量删除多余空行?

    2023-11-12 17:17:06
  • excel表格怎么做表格斜线表头

    2023-07-14 14:07:44
  • 如何导入excel通讯录的教程

    2022-02-28 23:52:58
  • 如何解决Word打开时“请选择使文档可读的编码”的提示

    2023-03-29 04:18:34
  • 为图表选择数据

    2023-12-14 02:54:32
  • Excel表格中提示"#####"错误

    2023-03-10 04:08:10
  • 2003版excel数据透视的教程

    2023-10-13 02:28:23
  • asp之家 电脑教程 m.aspxhome.com