首页
学习
活动
专区
圈层
工具
发布

Excel公式练习47: 根据单元格区域中出现的频率和大小返回唯一值列表

本次的练习是:有一个包含数字和空的单元格区域,如下图1所示示例的单元格区域A1:F6,要求生成这些数字的唯一值,并按数字出现的频率顺序排列,出现频率高的排在前面,如果几个数字出现的频率相同,则数字小的排在前面...单元格H1中为返回的数字数量,公式为: =SUMPRODUCT((Range1"")/COUNTIF(Range1,Range1&"")) 公式解析 在公式中,使用了3个名称,分别为: 名称:Range1...I1中的公式向下拖拉时,超过6个单元格将返回空,也就是公式的开头部分: =IF(ROWS($1:1)>$H$1,"", 下面看看公式中的主要构造: MIN(IF(IF(Range1"",COUNTIF...COUNTIF(Range1,Range1)+1/(Range1*10^6) 将为单元格区域内的每个值生成一个计数数组,这很重要,因为问题的症结在于根据值在该区域内的频率返回值。...使用额外的子句的原因是为我们提供一种方法,使我们可以区分在区域内两个或多个值出现频率相同的情况。更重要的是,此子句的目的是在这种情况下首先返回较小的值。

2.2K20

Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格

前往sheets.google.com在你的账户下创建电子表格,然后从地址栏获取 ID。...图 14-6:将列数改为 4 之前(左)和之后(右)的纸张 根据的说法,谷歌表格电子表格中可以有多达 500 万个单元格。但是,最好只制作所需大小的工作表,以最大限度地减少更新和刷新数据所需的时间。...转到docs.google.com/forms开始新的形态;它将是空白的。向表单中添加要求用户输入姓名和电子邮件地址的字段。...然后点击右上角的发送按钮,获得一个到你的新表单的链接,比如goo.gl/forms/QZsq5sC2Qe4fYO592。尝试在此表格中输入一些示例回答。...请记住,Google 工作表中的行号从 1 开始,而不是从 0 开始。单元格的值将是字符串,所以您需要将它们转换成整数,以便您的程序可以使用它们。

12.2K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel编程周末速成班第3课:Excel对象模型

    如果没有命名参数,则该方法只能根据其在参数列表中的位置来标识一个参数,因此你必须为要忽略的所有可选参数包括占位符(逗号)以使用默认值。...当到达Next语句时,执行将循环回到ForEach语句,将Item设置为引用集合中的下一个元素,然后重复该过程,直到处理完集合中的所有元素为止。如果开始时该集合为空,则执行仅跳过循环。...该方法返回对新创建的工作簿的引用,该引用可以使用或忽略: Dim MyWB As Workbook Set MyWB = Workbooks.Add 与前面一样,使用Set关键字是因为该语句赋值一个对象引用...参数PrToFileName,输出文件的名称(仅在PrintToFile为True时相关)。 提示:PrintOut方法可用于其他几个Excel对象,包括图表、单元格区域、窗口和工作表。...通过电子邮件发送工作簿 使用Workbook对象的SendMail方法,你可以通过电子邮件将工作簿发送给一个或多个收件人。使用系统上安装的任何电子邮件系统,将工作簿作为电子邮件的附件发送。

    7.2K30

    杨老师课堂之Excel VBA 程序开发第六讲根据部门列创建工作表

    '根据部门建表 For i = 2 To irow ' i 代表整数 从2到有效数据的最后进行循环 k = 0 ' k 代表一个标记 初始化时...Sheets(Sheets.Count).Name = Sheet1.Cells(i, m) ' 添加后的表的名字wie 第一个表的单元格(行,列) End If '结束如果语句 Next...' 结束循环语句 '拷贝数据 :j 代表的是表的序号 For j = 2 To Sheets.Count ' 第一个表的单元格区域为 a1 到 f 有效数据最后一行 执行筛选...(j).Name ' 第一个表的单元格区域为 a1 到 f 有效数据最后一行执行拷贝 到 循环到的某张表的a1单元格 Sheet1.Range("a1:f" & irow).Copy...Sheets(j).Range("a1") ' 第一个表的单元格区域为 a1 到 f 有效数据最后一行 执行筛选(取消筛选操作) Sheet1.Range("a1:f" & irow

    1.5K51

    Vba菜鸟教程

    在单元格输入公式 利用单元格公式返回值 调用工作表函数 利用vba函数 自定义函数 操作对象 类模块 excel应用对象 操作工作簿 操作工作表 操作单元格 图形对象 事件 关闭事件 工作簿事件..., Sheets(2).Range("a:h"), 8, 0) End Sub 利用vba函数 Sub test() 'E在A22单元格的位置,没有返回0 Range("A1") = VBA.String.InStr...0) With Sheet1 'DateSerial根据数字转化为日期,取字符串的左边,中间,右边,取得地址,字符串个数,mid第二个参数从第几个字符串开始取...(“工作表名称”) Sheets(N),打开的第n个工作表,在左下角的位置 Sheet1 第一个插入的工作表,与位置无关,相当于本名 ActiveSheet 正在操作的工作表 Worksheets 不包括宏的工作表...:=Sheets(Sheets.Count) 属性 Sheets.Count `表的数量 Sheet1.Name = "1月" `表的名称 Sheet1.Visible = xlSheetVeryHidden

    20.7K40

    Excel 宏编程的常用代码

    不过,也不是真懒啦,只是用智慧(脑力劳动)将自身从体力劳动中解放出来而已,人类也是这样进步的。我有这样的感觉,就是每见到一个语句或函数,都会激发出偷懒的灵感来,哈哈,很自恋了,其实好玩而已。...Sub My_Select Selection.CurrentRegion.Select End sub 返回当前单元格中数据删除前后空格后的值 sub my_trim msgbox Trim(ActiveCell.Value...Sheets(“sheet1”).Range(“a1”).Value = “hello” 说明: 1.sheet2被选中,然后在将“HELLO”赋到A1单元格中。...= 20 End With With 语句 With 对象 .描述 End With 清除单元格 ActiveCell.Clear ‘删除所有文字、批注、格式 返回选定区域的行数 MsgBox Selection.Rows.Count...返回选定区域的列数 MsgBox Selection.Columns.Count 返回选定区域的地址 Selection.Address 忽略所有的错误 ON ERROR RESUME NEXT 遇错跳转

    3.5K10

    使用Google App Script和Google Sheet自动生成数据仪表盘

    步骤2:创建Google App Script从API拉取数据 Google App Script 是一门基于JavaScript的语言,你可以用它来对Google Sheets(以及其他Google套件...首先让我们创建一个函数来向Github的API发送请求。下面给出的代码片段通过访问Github的API获取到了xtract的stargazers数目并将值填充到A2单元格当中。...其中一个方法是在A1单元格中指定一个键值。举例来说,如果键值的内容为Github,意味着我们会向Github的API发送请求并存储指定字段的值。下面给出本教程中我们做出的合约。...xtract的SUBSCRIBE值对应的就是前面获取到的数组中的最大值,如果某月范围内没有值,那么就会执行IF语句并在相应的位置填充0或者保持空值。 最后,我们可以根据格式化的数据创建得到仪表盘。...其中的细节和技巧可以查阅 How to Make a Killer Data Dashboard with Google Sheets 。下面的仪表盘就是根据该文中的原则创建的。

    8K60

    Application主程序对象基础

    大家好,前面已经介绍了常见的几种VBA对象,包括range单元格对象、worksheet工作表对象和workbook工作簿对象。本节介绍Application主程序对象。...以最底层的range单元格对象的引用:如引用工作簿“工作”这个文件的工作表“表1”中的A1单元格的具体语句就是:application.workbooks(”工作.xlsx“).worksheets("...1、activecell属性 activecell属性用来返回一个range对象,代表动动窗口或者指定窗口中的活动单元格。...7、selection属性 selection属性返回活动工作窗口中选定的对象,返回的对象类型取决于当前所选的内容。(例如,如果选择了单元格,此属性就返回range对象)。...8、sheets属性 sheets属性用来返回一个sheets集合,代表活动工作簿中所有的工作表。

    1K20

    用Python玩转Excel | 批量读取数据

    上一次分享了读取一个单元格中的数据,今天继续分享批量读取Excel文件数据。 我们知道,一个工作簿至少由一个工作表构成,而一个工作表由多个单元格构成,单元格中存放具体的数据。...工作表中的每个单元格都可以通过“行号+列号”的方式定位。如果想要批量读取单元格中的信息,那么必然需要使用循环语句。...现在我们来编写具体的程序: import xlrd data = xlrd.open_workbook("file.xlsx") # 获取工作簿中所有工作表 sheets = data.sheets(...) for sheet in sheets: # 获取工作表中有值单元格的行数 nrow = sheet.nrows # 获取工作表中有值单元格的列数 ncols = sheet.ncols...通过上述代码获取的数据,可以使用循环语句将整个工作簿中的所有工作表中的所有数据读取出来。

    1.3K30

    Spread for Windows Forms高级主题(4)---自定义用户交互

    number 表示其他数字的组合(例如6 = 2 + 4,行和列) 单元格,区域单元格或者多区域单元格 OperationMode.Normal,根据SelectionPolicy属性决定 只选择行,不允许编辑...使用表单的GetSelections方法获取以选择形式显示的区域单元格。使用表单的GetSelection方法返回一个特定选择。 使用表单的ClearSelection方法删除所有的选择。...一旦 UndoAction对象被创建,指定行为的变量将被固定(根据传入构造函数中的变量)。...如果CanUndo返回的是false,这意味着撤销栈是空的,并没有行为准备好被撤销。如果你的应用拥有编辑菜单,你可以使用该方法使编辑菜单中的撤销菜单失效。...一些UndoAction类将会替换动作映射中的行为对象,所以这些行为将会通过UndoManager按路径发送并且成为可撤销的。

    2.3K60

    Excel VBA项目实战

    这位同学,你说的这个项目实战案例,今天它来了。 1.案例 某电力公司的财务人员,每个月需要根据当月的每一条明细数据,生成一个费用分摊证明票证。...其中,「站名」和「站号」二者合并写入一个单元格且各占一行。 2.分析思路 职场里遇到类似这样的业务需求,该怎么办呢?...「Sheets("1-基础数据").Range("B" & i).Value」也是一个比较长的语句,我们一句句拆解来看: 「「Sheets("1-基础数据")」表示是“工作表1-基础数据”; 「Range...因此,整句话连接起来,我们可以大胆推测就是:将工作表B1-Bn某个单元格的值提取出来,然后赋值给「zhanhao」这个变量。...其次,「zhanming = Sheets("1-基础数据").Range("C"& i).Value」也按照这个思路推测就是:将工作表C1-Cn某个单元格的值提取出来,然后赋值给「zhanming」这个变量

    2.3K50

    Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值

    在《Excel公式练习32:将包含空单元格的多行多列单元格区域转换成单独的列并去掉空单元格》中,我们讲述了一种方法,给定由多个列组成的单元格区域,从该区域返回由所有非空单元格组成的单个列。...D2:D10"),"Y"))) 可以根据实际情况,修改工作表列表和数据范围(D2:D10)。...在工作表Master的单元格G1中,输入下面的公式: =SUMPRODUCT(COUNTIF(INDIRECT("'"&Sheets&"'!...工作原理 先看看相对简单的单元格G1中的公式,该公式用于确定返回结果的数量: =SUMPRODUCT(COUNTIF(INDIRECT("'"&Sheets&"'!...D2:D10"}),"Y")) 因为COUNTIF函数能够操作三维单元格区域,并且SUMPRODUCT函数提供了必要的强制转换,使得INDIRECT函数返回一组单元格引用,而不仅仅是一个,因此公式转换为

    13.3K21

    Excel之VBA简单宏编程

    3.3设置单元格、某一行或某一列颜色 3.4获取表格有用列数和有用行数 4、调试运行 1、准备工作 打开开发工具面板(excel的主选项卡默认是没有开发工具选项卡的) 文件->选项->自定义功能区-...'标识 3、常用功能 3.1获取表格数据 获取第i行j列单元格数据 Sheets(‘表格名’).Cells(i,j).Value 获取第i行数据 Sheets('表格名').Rows(i) 获取第j...列 Sheets('表格名').Columns(j) 获取一块 Range("a1:b60") 3.2复制单元格且保留原单元格列宽 Sheets(name_1).Cells(i, k).copy Sheets...(name_result).Cells(i,k).PasteSpecial xlPasteColumnWidths 3.3设置单元格、某一行或某一列颜色 Sheets(name_1).Rows(i).Interior.ColorIndex...icolumns1 = Sheets(name_1).UsedRange.Columns.Count 4、调试运行 快捷键 功能 F8 逐语句运行 Shift+F8 逐过程运行 Ctrl+F8 运行到光标处

    4.4K31

    Excel VBA宏的使用

    3、属性与方法的区分下面这张对比表可以帮你理清两者的区别:比较项属性/Property方法/Method本质描述对象的状态或特征执行对象的动作或操作使用格式对象.属性名对象.方法名(参数)是否有返回值通常有不一定全有是否会改变对象状态一般不会直接改变通常会改变...ThisWorlBook 代码所在的工作薄2)工作表Sheets(“工作表名称”)Sheet1 表示第一个插入的工作表,Sheet2 表示第二个插入的工作表Sheets(n) 表示按排列顺序,第n个工作表...3)单元格Cells 所有单元格Range(“单元格地址”),比如Range(“A1,C8,D0:D10”)Cells(行数,列数)ActiveCell 正在选中或编辑的单元格Selection 正被选中或选取的单元格或单元格区域​四...五、VBA语句1、VBA语句概述1)宏语句Sub 按钮1_Click() ' 给名为 "Sheet2" 的工作表 A1 单元格赋值 ' ThisWorkbook.Worksheets("Sheet2...) ' ActiveSheet.Range("A1").Value = 10 End Sub2)函数语句Function SheetCount() SheetCount = Sheets.CountEnd

    63510

    Make Excel Fly,python库xlwings的使用。

    单个工作簿用Book表示,工作簿集合用Books表示; 单个工作表用Sheet表示,工作表集合用Sheets表示; 区域用Range表示,既可以是一个单元格,也可以是一片单元格区域。...读取Excel文件的操作; 读取需要先实例化一个App对象,执行以下语句: app = xw.App(visible=True, add_book=False); 实例化一个app并设置可见 app.display_alerts...=False 设置不显示警告 wb = app.books.open('H://test.xlsx') 传入Excel文件路径打开文件; 获取第一个sheet表,执行语句:sht = wb.sheets...[0] 获取sheet表中单元格数据的方式如下: print(sht.range('A1').value) 读取单个 print(sht.range((1, 1), (5, 5)).expand().value...="A"给指定的单元格赋值 使用book.save('文件路径.xlsx')保存文件; def writeExcel(): #使用with打开excel,可以不关心关闭的问题,参数标识操作可见

    1.5K20
    领券