You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Excel单元格区域中移除月份部分以提取年份区间

如何在Excel单元格区域中移除月份部分以提取年份区间

嗨,我来给你几个实用的方法搞定这个需求,根据你的数据格式(都是MM.YYYY-MM.YYYY的固定样式),选适合你的操作就行:

方法一:快速替换法(最省心,适合格式完全统一的情况)

这是最快的操作,不用写公式:

  • 选中你要处理的所有单元格区域
  • 按下快捷键Ctrl+H打开「查找和替换」对话框
  • 在「查找内容」框里输入 ??. (两个问号+一个点,问号代表任意单个字符,刚好匹配两位月份加小数点的格式)
  • 「替换为」框留空,直接点击「全部替换」
    瞬间就能把所有月份部分(比如11.03.这类)删掉,得到你想要的年份区间。

方法二:公式法(适合需要保留原数据,在新列生成结果的场景)

如果你不想改动原数据,想在旁边新列生成处理后的内容,可以用公式:

针对Excel 365/2021及以上版本(函数更简洁)

在空白单元格(比如B1)输入公式:

=TEXTAFTER(A1,".")&"-"&TEXTAFTER(TEXTAFTER(A1,"-"),".")

解释一下:

  1. TEXTAFTER(A1,".") 提取第一个.之后的内容,得到2008-12.2011
  2. TEXTAFTER(A1,"-") 提取-之后的内容,得到12.2011,再套一层TEXTAFTER(..., ".")就拿到结束年份2011
  3. 最后把起始年份和结束年份用-拼接起来

适合所有Excel版本的通用公式

如果你的Excel版本比较旧,没有TEXTAFTER函数,用这个:

=MID(A1,FIND(".",A1)+1,4)&"-"&MID(A1,FIND(".",A1,FIND("-",A1))+1,4)

解释:

  1. FIND(".",A1)+1 找到第一个.的位置,往后挪1位就是起始年份的开头,再用MID取4位得到起始年份
  2. FIND("-",A1) 先找到-的位置,再从这个位置往后找.,挪1位后用MID取4位得到结束年份
  3. 同样用-拼接两个年份

输入公式后,下拉填充就能批量处理所有单元格。

方法三:Power Query批量处理法(适合大量数据,后续可能重复操作的情况)

如果你的数据量很大,或者以后还会处理类似格式的数据,用Power Query更高效:

  • 选中数据区域,点击Excel顶部「数据」选项卡→「从表格/区域」(会弹出对话框,确认数据有表头的话勾选,没有就取消,然后进入Power Query编辑器)
  • 在编辑器里选中目标列,点击「转换」选项卡→「拆分列」→「按分隔符」,选择-作为分隔符,拆分成两列
  • 对拆分后的两列分别重复拆分操作:选中列→「拆分列」→「按分隔符」,选择.作为分隔符,然后在弹出的选项里选「最右侧的列」,这样就只保留年份部分
  • 现在你有两列年份了,选中这两列,点击「转换」选项卡→「合并列」,选择-作为分隔符,自定义列名比如「年份区间」
  • 最后点击编辑器顶部「关闭并上载」,处理好的数据就会导入到新的工作表里

备注:内容来源于stack exchange,提问作者Andrew Harlan

火山引擎 最新活动