如何将Excel工作薄中区域内的值按出现次数提取到同一列的方法

时间:2022-04-30 14:57:42 

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

如何将Excel工作薄中区域内的值按出现次数提取到同一列的方法

在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列:

如何将Excel工作薄中区域内的值按出现次数提取到同一列的方法

按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
投稿

猜你喜欢

  • 重装Win10系统找不到硬盘怎么解决?

    2023-09-16 08:04:16
  • excel提取空格前后数据小技巧

    2023-09-24 12:30:23
  • 为什么打开word出错,word文档打开出错?

    2023-12-12 05:48:28
  • excel表格加减乘除的运算方法

    2022-03-16 01:54:33
  • Word中进行段落设置的操作方法

    2022-05-25 07:41:35
  • 如何设置Word2010中从其他程序粘贴时的格式

    2023-09-03 00:53:53
  • 怎么删除Word 2010库中不需要的自定义内容

    2023-11-10 21:11:03
  • iOS 14 收到的信息没有自动进行分类怎么办?

    2023-10-02 15:45:05
  • 如何将word表格转换为文本

    2022-02-12 06:53:00
  • word中竖向输入文字的方法图解教程

    2023-08-27 15:57:46
  • iOS端Office新预览版发布:引入离线PDF阅读等诸多新功能

    2023-11-10 19:56:17
  • 在Word文档里插入Excel的方法

    2022-10-04 15:23:52
  • Excel拆分单元格的方法图解步骤

    2022-02-08 07:12:18
  • Win10夜间模式不能使用怎么办?Win10夜间模式不能使用的解决方法

    2022-06-27 05:51:11
  • Word怎么把文字转换成表格

    2023-11-09 23:18:38
  • excel2003多窗口显示的教程

    2023-12-12 10:39:32
  • Excel表格怎么加密

    2022-05-15 11:51:52
  • Win10系统没有指纹解锁设置选项怎么办?

    2023-11-23 06:07:59
  • excel表格内容进行分行操作的方法

    2022-07-25 08:04:02
  • 怎样使用Word2010的屏幕截图功能插入图片

    2023-01-11 14:27:27
  • asp之家 电脑教程 m.aspxhome.com