如何筛选包含date/时间string的Excel列

我有一个Excel表筛选一个列。 该专栏涉及一个人的总体经验。 数值是5年2个月,32年6个月等…所有的值都是string格式。 我需要以下function。

    1. 当我在一个文本框(我将在窗体中创build)中input> 5时,它应该只显示小于5的经验(过滤)。 我需要一个想法如何在vba中做到这一点。

任何人都可以帮助..? 我只需要一种方法来做到这一点。

该列的屏幕截图

考虑下面的截图。 专栏a有不幸的文字与年和月。

在这里输入图像说明

B列拆分了多年。 C列将这几个月分开。 D列在时间范围内总共有几个月。 有了这个function,您可以使用内置在Excel表格中的Autofilter的filter选项来过滤任何列。

公式如下:

年: =MID([@total],1,FIND("Years",[@total])-1)+0

个月: =MID(SUBSTITUTE([@total],"Months",""),FIND(" ",[@total])+1,99)+0

月份持续时间: =([@years]*12)+[@months]

现在只需在列标题的下拉button中使用filter,根本就不需要VBA。