将Excel工作薄中区域内的值按出现次数提取到同一列的方法
发布时间:2022-09-20 08:13:45
对于Excel工作薄中一个包含重复数值的区域,要将其中的数值按出现次数的多少提取到一列,通常可以用包含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
说明:如果文本出现的次数相同,将按先行后列的顺序依次提取
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- win10系统是大多数电脑使用时都会选择的优秀系统。强大的兼容性可以使win10系统跨平台运行,但没有什么是完美的。即使是优秀的win10系
- 在Word文档中创建表格后,用户往往需要根据输入的内容调整表格的行高和列宽,有时也需要对整个表格的大小进行调整。实际上,Word 2013会
- 问题:如何批量去除Excel中无法看不见的空格? 解答:利用替换和专门“清理”函数的快速搞定。 在Excel数据处理中碰到清理空格或一些特殊
- 文档的目录是一个很重要的页面,很多的长文档都需要我们拥有目录,这样我们可以很方便的找到我们需要的内容所在的页面,下面小编就为大家详细介绍一次
- Word文档中怎么插入屏幕截图1、在“插入”选项卡的“插图”组中单击“屏幕截图”按钮,打开的列表的“可用视窗”栏中将列出当前打开的所有程序窗
- 有时候我们会因为一些工作原因外接一台显示器,但最近有不少小伙伴再说自己Win10系统的电脑另一个显示器插电后没有显示出屏幕,那么碰到这种情况
- Word文档是一款使用人群广泛的办公软件,主要用于编辑和处理文本内容。在Word文档中可以对以文字,段落,章节等为单位的内容进行设置。比如我
- 相信小伙伴们在日常生活中都看到过各种数字上有删除线的效果,比如各种商品的售卖价格,降价前的数字上一般都会有一条删除线。其实这种效果我们在Ex
- 安全模式是Windows系统中最后的保护措施,可以帮助用户轻松修复系统问题,是电脑中毒后最好的修复方法。但是因为一些设置问题,在修复完问题后
- 在Word2010文档中进行邮件合并时,往往需有选择地选中收件人,这就需要排除特定收件人记录,具体操作步骤如下所述:第1步,打开Word20
- 如果不希望创建的图表被修改,可以应用复制的方法,将excel2013图表转换为图片格式。转换后的图表将不会随着源数据的改变而发生改变,具体操
- 对于一些重要的excel表格,我们经常需要用到密码,但这是如何设置的呢?下面随小编一起来看看吧。Excel表格设置密码的步骤打开excel。
- 在Excel中只是用数字显示任务的进度是不是很枯燥乏味?教你一招让你的Excel进度条变得更直观、更好看。1、选择任务进度一栏的数据,点击【
- 在Excel中也跟WORD文档一样都需要进行调整段落,具体该如何调整段落呢?下面是小编带来的关于excel中调整段落的教程,希望阅读过后对你
- excel2010如何建立迷你图?现在,就和小编一起来看看下面的教程吧。excel2010excel20102、打开“创建迷你图”。3、在“
- 许多合作伙伴下载了win10镜像系统,但不能使用。因为不能解冻,win10系统的镜像应该如何解冻压缩?其实解压的方法是非常简单的,小编带来了
- 苹果官宣,WWDC21 全球开发者大会将于北京时间 6 月 8 日凌晨 1 点开幕。在 2021 年的 WWDC 上,苹果将正式宣布其下一轮
- win10系统的用户都知道微软会对win10系统推出定期更新,但是这些更新经常会“翻车”,导致系统无法正常启动或者某些功能出现严重bug,下
- 日常的工作和生活中离不开文件的输入,如果输入简短的文件后就会自动转换成较成的词句,那就可以很大程度地提升输入的效率,尤其是经常需要输入的邮箱
- 在Word表格中录入序号,你是一个个敲入吗?若是,那你太傻了,其实在Word中有一个隐藏的工具可以快速录入,下面与Word小编一同来看看相应