首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Excel中使用VBA从日期提取连续且唯一的年份列表

,可以通过以下步骤实现:

  1. 创建一个新的Excel工作表,并在其中输入日期数据。
  2. 打开Visual Basic for Applications(VBA)编辑器,可以通过按下Alt + F11快捷键来打开。
  3. 在VBA编辑器中,插入一个新的模块。可以通过点击“插入”菜单,然后选择“模块”来实现。
  4. 在新的模块中,编写以下VBA代码:
代码语言:txt
复制
Sub ExtractUniqueYears()
    Dim rng As Range
    Dim cell As Range
    Dim years As Collection
    
    ' 设置日期范围
    Set rng = Range("A1:A10") ' 将范围更改为实际的日期范围
    
    ' 创建一个集合来存储唯一的年份
    Set years = New Collection
    
    ' 遍历日期范围并提取年份
    On Error Resume Next
    For Each cell In rng
        years.Add Year(cell.Value), CStr(Year(cell.Value))
    Next cell
    On Error GoTo 0
    
    ' 将唯一的年份列表输出到新的列中
    For i = 1 To years.Count
        Cells(i, 2).Value = years(i)
    Next i
End Sub
  1. 在代码中,将Range("A1:A10")更改为实际包含日期的单元格范围。如果日期位于不同的单元格范围,请相应地更改代码。
  2. 运行宏。可以通过按下F5键或点击“运行”菜单中的“运行子过程”来运行宏。
  3. 运行后,将在选定的单元格范围旁边的新列中提取出连续且唯一的年份列表。

这是一个简单的VBA代码示例,用于从日期中提取唯一的年份列表。根据实际需求,可以根据这个示例进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel公式练习44: 从多列中返回唯一且按字母顺序排列的列表

本次的练习是:如下图1所示,单元格区域A2:E5中包含一系列值和空单元格,其中有重复值,要求从该单元格区域中生成按字母顺序排列的不重复值列表,如图1中G列所示。 ?...图1 在单元格G1中编写一个公式,下拉生成所要求的列表。 先不看答案,自已动手试一试。...在单元格H1中的公式比较直接,是一个获取列表区域唯一值数量的标准公式: =SUMPRODUCT((Range1"")/COUNTIF(Range1,Range1&"")) 转换为: =SUMPRODUCT...:上述数组中非零值的位置表示在该区域内每个不同值在该数组中的首次出现,因此提供了一种仅返回唯一值的方法。...统计列表区域中唯一值数量。 2. 将二维区域转换成一维区域。 3. 强制INDEX返回数组。 4. 确定字母排序。 5. 提取唯一值并按字母排序。

4.2K31

Excel常用函数

1、指定数值求和 =SUM(10,20,30) 2、指定单元格求和:输入=sum(),在括号中间按住ctrl连续点击即可选择需要求和的数据 =SUM(C5,C9,C3) 3、也可以将指定单元格直接相加...1(星期一)到 7(星期日)表示的一周中的第几天 (4) 4 =WEEKDAY(A2, 3) 使用数字 0(星期一)到 6(星期日)表示的一周中的第几天 (3) 3 18、日期函数 DATE() 返回表示特定日期的连续序列号...*year* 参数的值可以包含一到四位数字。Excel 将根据计算机正在使用的日期系统来解释 *year* 参数。...如果 *year* 小于 0 或大于等于 10000,则 Excel 返回 错误值 #NUM!。 Month 必需。一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。...注意: Excel 可将日期存储为连续序列号,以便能在计算中使用它们。

3.6K40
  • Power BI创建日期表的几种方式概览

    但这种方式还是存在明显缺点的,一方面如果日期列有两个及以上且分散在不同的table中,无法使用一对多关系来管理这些数据,更何况如果一个table中出现两个时间列(如订单日期和发货日期等)时就无法处理;另一方面...今天给大家介绍三个创建Power BI日期表的途径,分别对应着一种语言,Excel中的VBA语言,适用于Power BI和PowerPivot的DAX语言,适用于Power BI和PowerQuery的...第一种是VBA语言: 直接用excel中的vba语言编写,通过添加简单的按钮可以实现一键创建日期表,并灵活修改起止日期。...,日期表从开始年份1月1日起。"...1.VBA语言最大的好处是只需要修改原始文件,无需重新发布新的报表,缺点是需要用到另一门语言; 2.DAX是最灵活的,也是日常都在用的,且用CALENDARAUTO函数可以自动识别模型中的最大最小日期

    6.6K21

    VBA还能活多久?——完美Excel第169周小结

    从在Excel 5中推出的第一个版本起,VBA的存在将近30年。无论你是否学习过编程,这都是一种非常容易学习的编程语言,并且能够快速应用到具体的工作场景中。 为什么学VBA?...当然,最实用且快捷的是能够方便地进行数据分析、快速搭建满足自已需要的个性化平台。 3.Excel是世界上最流行使用最广泛的电子表格应用软件,有许多基于Excel使用VBA开发的产品。...因为正是VBA,让Excel与众不同,也让更多的人选择了Excel,已经有大量的VBA开发者且Excel开发人员也都非常喜欢使用VBA,也有大量正在使用的VBA开发的Excel应用程序和加载项。...使用JavaScript,可以编写在任何设备上运行的脚本程序。此外,JavaScript从外部源提取数据的速度很快。 OK!这个话题到此为止。上面的内容大多来自网上一些专家的看法,也有我的一些拙见。...(续) Excel小技巧45:2个工作表操作习惯,利已也利他 Excel公式技巧45:按出现的频率依次提取列表中的数据 Excel小技巧46:在单元格中输入连续数字的6种方法 资源分享:电子地图下载与拼接器

    4.7K40

    简单的Excel VBA编程问题解答——完美Excel第183周小结

    End If块中的某些VBA语句总会执行吗? 不一定,除非还有Else子句。在条件为False时,If … End If语句内的语句不会被执行。...17.VBA可以识别通用格式的日期,例如2020/11/11。在VBA代码中,如何表明该值是日期? 通过将其括在#字符中。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。...22.如何从字符串开头提取一定数量的字符? 使用Left函数。 23.在VBA程序中使用哪个Excel对象引用的工作表单元格区域? Range对象。...完美Excel微信公众号本周内容 在完美Excel公众号中,本周推出的内容清单如下: 一些基本的Excel VBA编程问题,答案来了 Excel小技巧66:快速求和 Excel实战技巧92:快速获取指定目录下所有文件清单...Excel公式技巧64:为重复值构造包含唯一值的辅助列 Excel小技巧67:列出工作表中所有定义的名称 完美Excel社群本周内容 本周完美Excel社群内容更新不是很多,仍然是《Excel编程周末速成班

    6.6K20

    用ChatGPT处理Excel问题,效率狂升

    作为一名资深打工者,平时工作中 Word、PPT、Excel 等必不可少,要是能将 ChatGPT 整合进这些应用软件简直不要太开心。这方面微软已经在紧锣密鼓的进行了。...而 Word,Excel、PPT 这办公三大件中,当属 Excel 最难搞,想要熟练掌握它,需要记住很多公式。但是使用提示就简单多了,和 ChatGPT 聊聊天就能解决问题。...在使用 Excel 时,我们常常会利用其自带的计算函数,包括数据库函数、日期与时间函数、统计函数等。...有时,我们对一个 Excel 表格有多个问题,这时我们也可以对 ChatGPT 连续提问。例如对于上面的收入支出数据表,想知道 1. 月支出超过 100000 美元的次数;2....SUMPRODUCT (1/COUNTIF (B2:B9, B2:B9)) 使用 ChatGPT 创建宏 接下来让我们尝试使用 VBA 创建一个简单的宏,按 tab 名对 sheet 进行排序。

    1.1K10

    用ChatGPT处理Excel问题,效率狂升

    作为一名资深打工者,平时工作中 Word、PPT、Excel 等必不可少,要是能将 ChatGPT 整合进这些应用软件简直不要太开心。这方面微软已经在紧锣密鼓的进行了。...而 Word,Excel、PPT 这办公三大件中,当属 Excel 最难搞,想要熟练掌握它,需要记住很多公式。但是使用提示就简单多了,和 ChatGPT 聊聊天就能解决问题。...在使用 Excel 时,我们常常会利用其自带的计算函数,包括数据库函数、日期与时间函数、统计函数等。...有时,我们对一个 Excel 表格有多个问题,这时我们也可以对 ChatGPT 连续提问。例如对于上面的收入支出数据表,想知道 1. 月支出超过 100000 美元的次数;2....=SUMPRODUCT (1/COUNTIF (B2:B9, B2:B9)) 使用 ChatGPT 创建宏 接下来让我们尝试使用 VBA 创建一个简单的宏,按 tab 名对 sheet 进行排序。

    1.6K60

    在数据框架中创建计算列

    标签:Python与Excel,pandas 在Excel中,我们可以通过先在单元格中编写公式,然后向下拖动列来创建计算列。在PowerQuery中,还可以添加“自定义列”并输入公式。...在Python中,我们创建计算列的方式与PQ中非常相似,创建一列,计算将应用于这整个列,而不是像Excel中的“下拉”方法那样逐行进行。要创建计算列,步骤一般是:先创建列,然后为其指定计算。...图1 在pandas中创建计算列的关键 如果有Excel和VBA的使用背景,那么一定很想遍历列中所有内容,这意味着我们在一个单元格中创建公式,然后向下拖动。然而,这不是Python的工作方式。...图2 数据框架中的日期时间操作 为便于演示,我们使用下面网站中的数据: http://fund.eastmoney.com/company/default.html 图3 我们要计算基金公司成立的年数...由于今年是2021年,我们将用它来估算公司的年龄,从2021年减去每个“成立年份”。

    3.8K20

    示例讲字典(Dictionary):获取唯一值

    标签:VBA,Dictionary 字典(Dictionary)是一种通过键(key)和项(item)(注:键和项是字典中的术语)存储唯一项的方法。...它是一种基于唯一键存储数据的极好工具,它的强大之处在于可以使用键来存储和合并数据。 在本文中,讲解如何在字典中捕获一个单元格区域并将其引用回Excel。...这里,将存储一个10行的单元格区域,然后只输出该区域中唯一的项目。 示例如下图1所示。获取其数据区域,使用字典将数据存储,然后使用VBA数组提取我们选择需要获取唯一值的列。...图2 下面的VBA代码从数据单元格区域中生成唯一数据。它将从数组的当前区域获取数据,并将数据汇总到一个唯一值列表中,输出到所选择的单元格区域内。....Item(ar(i, 1)) = .Item(ar(i, 1)) + ar(i, 3) 当循环完成后,所要做的就是将数据从字典中提取到想要的位置。

    4.9K50

    《Python for Excel》读书笔记连载17:使用读写器包进行Excel文件操作(上)

    每个包使用不同的语法(通常与原始的Excel对象模型有很大的差异)这一事实并没有使它变得更容易——在下一章中详细介绍Excel对象模型。这意味着可能需要查找大量命令,即使是经验丰富的VBA开发人员。...OpenPyXL OpenPyXL是本节中唯一一个既可以读取又可以写入Excel文件的包,甚至可以使用它编辑Excel文件,尽管只是简单的文件。...首先,需要从Anaconda提示符上的现有Excel文件中提取宏代码(示例使用macro.xlsm文件,可以在配套文件的xl文件夹中找到该文件): 对于Windows,首先切换到xl目录,然后找到vba_extract.py...你可以根据你的实际情况作相应的调整) 这将保存文件vbaProject.bin到运行命令的目录中,也包括了在配套文件的xl文件夹提取的文件。...但它目前也无法通过Conda获得,因此使用pip进行安装: pip install pyxlsb 读取工作表和单元格值如下: pyxlsb目前无法识别带有日期的单元格,因此必须手动将日期格式单元格中的值转换为

    3.9K20

    Excel公式练习93:计算1900年前的日期

    引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。 本次的练习是:给1900年前的日期加上或者减去一定的天数。...示例数据如下图1所示,列A中的日期,加上或减去列B中的天数,返回正确的日期。 图1 假设所有的日期都使用mm/dd/yyyy格式,并且都大于0年。...不应该使用任何辅助单元格、中间公式、命名区域或者VBA。 写下你的公式。...解决方案 公式1: 在单元格C2中输入公式: =REPLACE(TEXT(DATE(MID(A2,7,4)+2000,MID(A2,1,2)+0,MID(A2,4,2)+0)+B2,"MM/DD/YYYY...公式中: DATE(MID(A2,7,4)+2000,MID(A2,1,2)+0,MID(A2,4,2)+0) 得到年份、月份和日,年份加上2000以满足Excel表示日期的要求。

    1.6K20

    精通数组公式16:基于条件提取数据

    excelperfect 在Excel中,基于AND或OR条件从数据集中提取数据是经常要做的事。...要减小计算时间,考虑使用辅助列、布尔逻辑构造和有效的函数。 5.这里没有考虑使用VBA解决方案,有时使用它们是自动执行数据提取的好方法。 为何提取数据的公式如此复杂?...当从表中提取数据时,实际上是在执行查找。在Excel中,标准的查找函数例如INDEX、MATCH、VLOOKUP等都非常好,但当存在重复值时就比较困难了。...,使用INDEX和MATCH函数仅提取部分列的数据 如下图7所示,使用AND和OR条件的辅助列,只从日期和商品数列中提取数据。...图7:AND和OR条件,双向查找从日期和商品数列中获取数据 未完待续>>> 注:本文为电子书《精通Excel数组公式(学习笔记版)》中的一部分内容节选。

    4.3K20

    Excel应用实践03:使用Excel进行个人计划执行记录与统计分析

    图1 在列G中,使用了“数据验证”功能(即原来的“数据有效性”),可以直接在列表中选择分类,如下图2所示。 ? 图2 “数据验证”设置如下图3所示。 ?...图4 在图4中,单元格C4是统计的起始日期,命名为startDate;单元格D4是统计的结束日期,命名为endDate,这是我们在这个工作表中唯一要输入的两个数值。...输入日期后,单击其右侧的“更新”按钮,自动统计这两个日期之间的相应数据。该按钮关联了下文所讲的用于实现自动统计的VBA程序。...单元格区域C7:D21是输出区域,通过VBA程序自动生成各分类上花费的时间和做的次数。 单元格区域B7:B21除作为上文介绍的分类下拉列表项来源外,还设置了条件格式,如下图5所示。...当统计的次数不符合要求时,相应分类的字体会显示红色。 ? 图5 在VBA代码中,使用了高级筛选功能。

    1.9K20

    精选100个Pandas函数

    描述统计信息 duplicated() 判断是否有重复元素 drop_duplicates() #删除重复值 dropna() # 删除缺失值 diff() 一阶差分 dt.date() 提取日期...dt.time() 提取时间 dt.year() 提取年份 dt.month() 提取年份 dt.day() 提取天/日 dt.hour() 提取小时 dt.minute()...() # 哑变量 h hist() 绘制直方图 hasnans() 判断元素中是否存在缺失值;返回的是True或者False i isnull() # 判断序列元素是否为缺失值,返回bool...replace() 替换值(不能使用正则) str.replace() 值替换(可使用正则) round() 四舍五入 read_csv() # 读取csv文件 read_excel()...transpose .T # 转置 u unique() 元素唯一值(去重) unstack # 不要堆叠,多行转列 v var() 计算方差 value_counts() # 统计每个元素的值

    27530

    Excel实战技巧67:在组合框中添加不重复值(使用ADO技巧)

    很多情况下,我们需要使用工作表中的数据来填充组合框,但往往这些数据中含有许多重复值。如何去除重复值并得到唯一值,这是一个永恒的话题,大家也会用到各式各样的方法得到结果。...本文讲解一种技巧,使用Recordset(记录集)来获取唯一值并将其填充到组合框中。 示例数据如下图1所示。在工作表中有一个组合框,需要包含列A中的省份列表,但是列A中有很多重复的省份数据。 ?...图1 这里可以使用简单的记录集快速提取不同的省份名并将其装载到组合框。...单击功能区“开发工具”选项卡中“插入”按钮下ActiveX控件中的“组合框”,在工作表中插入一个组合框,可以看到Excel将其自动命名为“ComboBox1”,如下图2所示。 ?...然而,上面的方法更容易,并且使用记录集允许从装载的记录集中快速调整查询来捕获另一个字段或者创建另一个组合框。

    5.7K10

    Power Query 真经 - 第 7 章 - 常用数据转换

    列表是同类记录的集合,作为列表中的行的记录,有同样的结构,结构由完全不同的属性构成。从透视表的表头来看,它并不满足属性不同的特质。...【注意】 为了便于演示这个解决方案且具有扩展性,在 Excel 中演示这一点,但要注意,这些概念对于 “逆透视” 过程是通用的,无论使用哪个工具来操作这个过程,都是一样的。...单击这个选项会要求 Power Query 扫描更多的数据,它会这样做,直到它扫描达到 1000 个唯一值为止,因为这是可以在下拉列表中显示的最大值。...因为现在对应【今年】的年份是 2022 年,而不是 2021 年。 此外 Excel 的默认筛选器允许用户选择【年】、【月】或【日】,即使数据集中只有一个日期列。...筛选 “Date” 列,【日期筛选器】【且】。 按如图 7-26 所示,设置筛选器。 图 7-26 筛选出 2021 年内的日期 【注意】 或者,也可以添加一个新的列,提取年份,然后筛选到特定年份。

    7.5K31

    个人永久性免费-Excel催化剂功能第34波-提取中国身份证信息、农历日期转换相关功能

    内容为关于身份证的信息提取和关于日期相关的农历、公历的额外信息。...身份证相关函数 1、身份证号15位转18位 2、提取身份证入户的地区信息,最详细可达省市区信息 3、提取身份证出生日期 4、提取身份证出生日期后,计算当前年龄,未过生日不算一年 5、提取身份证出生日期后...,计算当年的干支年 6、提取身份证的性别信息 7、提取身份证出生日期后,计算所属生肖 8、提取身份证出生日期后,计算所属星座 ?...身份证相关函数 日期相关函数 1、获取当前年龄或工龄计算 2、农历日期转公历日期 3、公历日期转农历日期 4、根据公历日期算农历24节气 5、根据年份和24节气名称,计算当年的节气所在日期 6、根据公历日期计算干支年份...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据

    1.7K40

    一步一步教你制作销售业绩分析报告

    1、使用Excel文件创建日期表   新建Excel文件,在Excel工作表中手动填写相应日期字段(注意:第一列日期列是必须列,其他日期字段大家可以按需求添加即可) ?   ...在PowerBI中会自动识别业务数据中涉及的日期范围生成日期表。在本文中业务数据的日期范围从2018-1-1到2019-12-31的所有日期。当然我们还需要添加日期列,如年份,月份等。...操作和Excel中操作方式相同,用Year函数创建年份,用Month函数创建月份即可,这里就不做展现了大家可以看销售目标中的公式参考。创建完成后将该表标记为日期表。 ?   ...使用M函数List.Dates可以创建指定起始日期和天数的日期表。这种方式不需要使用公式,直接在功能列表中操作提取年份,季度,月份等字段。...2、制作KPI图表业绩完成率 KPI图表可以从应用商店进行下载图表控件 ? 我们要处理的是KPI指标,在搜索框中输入KPI。

    5.4K21

    Python~Pandas 小白避坑之常用笔记

    、loc、iloc的使用 1.根据列名提取数据 import pandas as pd sheet1 = pd.read_excel(io='非洲通讯产品销售数据.xlsx', sheet_name=...[:5]) # 二维列表 2.loc数据提取 import pandas as pd sheet1 = pd.read_excel(io='非洲通讯产品销售数据.xlsx', sheet_name...# sheet1['年度'] = sheet1['日期'].dt.year # 根据日期字段 新增年份列 # sheet1['季度'] = sheet1['日期'].dt.quarter # 根据日期字段...提取前5行, 日期、国家列 sheet1.to_csv(path_or_buf='test.csv') ---- 总结 以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法...,续有常用的pandas函数会在这篇博客中持续更新。

    3.1K30
    领券