在 Excel 中计算唯一值

2024-04-02

我需要在 Excel 中计算范围 (C2:C2080) 中的唯一值。谷歌搜索公式:

=SUM(IF(FREQUENCY(MATCH(C2:C2080;C2:C2080;0);MATCH(C2:C280;C2:C2080;0))>0;1)) 

返回不正确的值。

UPD:蹩脚的解决方案:

Sub CountUnique()

Dim i, count, j As Integer

count = 1
For i = 1 To 470
    flag = False
    If count > 1 Then
        For j = 1 To count
            If Sheet1.Cells(i, 3).Value = Sheet1.Cells(j, 11).Value Then
                flag = True
            End If
        Next j
    Else
        flag = False
    End If

    If flag = False Then
        Sheet1.Cells(count, 11).Value = Sheet1.Cells(i, 3).Value
        count = count + 1
    End If

Next i

Sheet1.Cells(1, 15).Value = count

End Sub

这是一个适合我的 VBA 函数。

您可以将其用作工作表功能 http://msdn.microsoft.com/en-us/library/office/hh211481%28v=office.14%29.aspx,引用任何范围,例如“=CountUnique(N8:O9)”

它处理文本和数值,并将空白单元格视为一个值

它不需要处理数组函数。

它需要引用 Microsoft 脚本库,用于字典对象 http://support.microsoft.com/kb/187234.

    Public Function CountUnique(rng As Range) As Integer
        Dim dict As Dictionary
        Dim cell As Range
        Set dict = New Dictionary
        For Each cell In rng.Cells
             If Not dict.Exists(cell.Value) Then
                dict.Add cell.Value, 0
            End If
        Next
        CountUnique = dict.Count
    End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Excel 中计算唯一值 的相关文章

  • 使用VBA复制垂直列并沿对角线粘贴

    我有一列数据 我们称之为 A 列 其中有 35 行数据 如何在此列上循环 然后将每个数据点粘贴到另一张工作表中 同时为每个循环循环增加列和行 换句话说 我寻求对角粘贴在第二张纸中 有没有一种简单的方法可以在 VBA 中执行此类操作 不要循环
  • VBA 激活 Internet Explorer 窗口

    我正在制作一个宏 用于打开 Internet Explorer 导航并登录网站 一切正常 但我需要将 IE 窗口放在前面并激活它 这样我就可以使用SendKeys在上面 我发现网站和视频在名为的命令上有不同的方法AppActivate我已经
  • 从网站上的表格中抓取数据,而无需搜索标签

    这是这个问题的延续使用 InStr 搜索引号 空格 冒号等 https stackoverflow com questions 52673819 using instr to search for quotes spaces colons
  • MS Access 表单按钮,允许用户浏览/选择文件,然后将文件导入到表中

    在我的数据库中 我可以使用以下命令创建命令按钮导入文件 DoCmd TransferText acImportDelim 导入的原始数据 导入规范 导入的原始数据 D Users Denise Griffith Documents Grif
  • Perforce Excel 文件差异

    我有一堆 excel 文件放在 perforce 上 我想对这些 excel 文件进行 diff 类似于我在 perforce 中对其他文件 如 java cs 等 所做的操作 我尝试寻找一个插件 发现 P4OFC 只适合对 word 文件
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • 在 Excel 表格中选择多列的代码

    我是 Excel VBA 新手 我需要修改我的代码 以便我能够进一步进行 我想在 Excel 表格中选择多个表格列 这是我的代码 Dim ws As Worksheet Dim tbl As ListObject Set ws Sheets
  • 当时间为 00:00 时,Pandas 读取 excel 返回类型对象

    在更新版本的 Pandas 中 我使用的是 1 2 3 当从 Excel 文件读取时间时 时间为 00 00 00 时会出现问题 下面的脚本 其中 filepath 是我的 Excel 文件的路径 其中包含一个标题名为 Time 的列 im
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 使用 ObjPtr(Me) 返回自定义类实例的名称?

    我明白那个ObjPtr http support microsoft com kb 199824将返回内存中对象的地址 并且它指向一个名为 IUNKNOWN 的结构 并且其中编码了某种接口定义以公开对象结构 但我不知道如何确定一个对象的接口
  • SQL Server,插入 Excel“链接服务器”时出现“无效列名”错误

    我有一个简单的 Excel 电子表格文档 运行 Office 2013 我使用 Microsoft Office 15 0 Access 数据库引擎 OLE DB 提供程序 将其用作数据库 我可以使用 MS SQL Server Manag
  • VBA 中的匈牙利语好吗?

    我在 Net 中不使用匈牙利语 str int 前缀 但我仍然发现它在 VBA 中很有用 因为在 VBA 中很难看到类型 这很糟糕吗 不必要 也许我错过了一些东西 我真的很感激任何反馈 我想知道有一段时间了 谢谢大家 我想说 这种匈牙利符号
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 我如何以更好的方式编码而不是像这样的VBA编码

    我正在 Excel 中创建一个仪表板 但是我想知道是否有比这更好的编码方式 我想对其进行模块化 而不是这样做以使其更加整洁 Private Sub Afford If af Value True Then af afr Value Shee
  • 检查未绑定控件是否具有值的正确方法

    简单场景 一个表单和一个文本框 未绑定 Text1 If lt gt Text1 Then MsgBox Not Empty End If 上面的代码有效 表达方式 lt gt Text1如果文本框包含字符 则计算结果为 True 无论文本

随机推荐

  • 鲁比:空白?不带导轨

    我想做这个测试 if line blank do stuff 但我使用的是直接红宝石 而不是 Rails 达到相同效果的公认习惯用法是什么 我正在为一个字符串执行此操作 在哪里测试 empty 与测试 blank 不一样吗 全空白字符串不是
  • Spring Security - 多个身份验证提供者

    我的 Web 应用程序有多个身份验证管理器 一个用于 API 一个用于 WEB 访问 api 应该只有一个基本的身份验证服务 通过 spring security 标记进行配置 如下所示
  • 通过仅知道其宽度权重来设置视图的高度以使其成为正方形

    我有这样的场景 填充容器的水平 LinearLayoutweightSum 100 以及内部的两个视图 每个视图的权重为 50 现在我如何使这两个视图成为正方形 例如 高度必须等于它们的宽度 LinearLayout 行数未知 所以基本上
  • xpath:包含()一组答案

    我正在尝试学习 XPath 但在进行嵌套搜索 使用 contains 时遇到问题 具体来说 我被问到以下问题 根据以下 dtd 有一个作者列表和一个书籍列表 编写一个 XPath 表达式 返回撰写书籍的作者数量 可以假设没有两个作者 ID
  • $浏览器未定义

    我正在尝试使用 jquery 进行浏览器检测 但它说 未捕获的引用错误 browser 未定义 代码就像 if browser msie condition browser 在 jquery 1 9 中被删除 看http jquery co
  • quotename 在 exec 内部不起作用吗?

    我正在尝试做类似的事情这个问题 https stackoverflow com questions 837358 sql create logon cant use parameter as username 答案建议在 exec 内部使用
  • 集合已修改;枚举操作可能无法执行[重复]

    这个问题在这里已经有答案了 我收到错误 集合已修改 枚举操作可能无法执行 我正在尝试删除除当前对象之外的所有打开的表单对象 FormCollection fc Application OpenForms foreach Form form
  • Apache 的 Velocity — getTemplate() 。如何传递字符串/对象而不是 .VM 文件

    Apache 的 Velocity getTemplate 实际上它允许传递 vm 文件名 我可以在这里传递字符串 对象吗 有什么方法可以传递字符串 对象吗 这是一个对我有用的示例代码 速度版本 1 7我使用 log4j 作为记录器 imp
  • 当我尝试使用 Facebook 或 Google 登录时,GetExternalLoginInfoAsync 始终返回 null

    我有一个问题OWIN验证 我总是收到空值GetExternalLoginInfoAsync 当我尝试使用 Facebook 或 Google 登录时 但是有一些神秘的情况 当我打开 Fiddler 时 我使用这种方法得到了正确的数据 我不明
  • 在代码中设置静态资源

    我的作品里有几种风格App xaml file
  • 如何对 pandas 数据框中的一组行执行函数?

    我正在尝试实施一个算法 https github com sebleier RDP 假设该算法作为函数 xyz 执行 该函数专门设计用于对轨迹数据 即 x y 坐标 进行操作 该函数有两个参数 第一个参数是list of tuples x
  • Bootstrap 3.0 少于 12 列的网格

    我正在尝试使用只有 7 列的网格创建一个日历 我想让这 7 列均匀分布并适合整行 目前 7 列加起来不等于 12 我得到 12 列 其中 5 列为空 Bootstrap 3 有没有办法让所有 7 分布在一行中 您最好的选择可能是创建您自己的
  • 为什么基于 Glass/GDK 的 VoiceListener 在 XE16 中只能捕获一次 VoiceCommand?

    在寻找一种使用 Google GDK 实现上下文语音命令的方法时 我遇到了这个post https stackoverflow com questions 21168267 然而 示例代码似乎仅适用于 XE12 不适用于 XE16 我最近测
  • 使用一对多关系在 Django 中创建 2 种不同的用户类型

    我正在创建一个篮球统计应用程序 我希望有两种不同的用户类型 教练和球员 我希望教练能够登录并仅查看他的球员的统计数据 因此 一名教练将拥有多名球员 我希望能够为每个教练创建用户个人资料 并仅显示他们的球员 而不是数据库中的所有球员 到目前为
  • 谷歌地图数据层,点击多边形并更改不透明度(Chrome Bug)

    我有一个谷歌地图 我使用 addGeoJson 将几何数据 加载到数据层 一切正常 直到我尝试在多边形上绑定事件以更改 opactiy 设置 我从OSM检索城市边界来绘制多边形 我认为我的json对象格式很好 我以Google作为参考 ht
  • TypeScript 编译中缺少 in-memory-data.service.ts

    浏览 Angular 教程 了解如何在中使用 http 请求https angular io tutorial toh pt6 https angular io tutorial toh pt6 我到了这一点 使用以下命令生成类 src a
  • Sublime Doctype HTML 片段

    有没有办法可以将下面的 作为片段插入 我尝试使用 首选项 gt 键绑定 用户 但引号确实很重要 您可以通过创建一个新的代码片段Tools gt New Snippet
  • onSharedPreferenceChanged 不会一直触发

    我对这个方法有一个奇怪的问题 当我编辑 EditTextPreference 时 仅当我更改值时才调用它 而在 MultiSelectListPreference 上 仅当我第一次更改时才调用它 这是我的片段代码 public class
  • Excel 解算器具有非相邻单元格约束?

    我是 Excel 求解器的新手 只是在拿起一本数据科学书籍后才了解它 我想更熟悉这个工具 所以我一直在尝试解决不同的问题 但我被困在一个问题上 我什至不确定是否可以使用求解器 基本上 我需要检查的约束是两个单元格是否相邻 我的问题 我有一堆
  • 在 Excel 中计算唯一值

    我需要在 Excel 中计算范围 C2 C2080 中的唯一值 谷歌搜索公式 SUM IF FREQUENCY MATCH C2 C2080 C2 C2080 0 MATCH C2 C280 C2 C2080 0 gt 0 1 返回不正确的