如何筛选包含日期/时间为字符串的Excel列

时间:2017-06-14 10:12:43

标签: excel vba excel-vba

我有一张excel表来过滤一个列。该专栏涉及一个人的总体经验。值类似于5年2个月,32年6个月等...所有值都是字符串格式。我需要以下功能。

    1. 当我在文本框中输入> 5(我将在表单中创建)时,它应该只显示小于5(过滤)的体验。我想知道如何在vba中做到这一点。

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

Screenshot of the column

1 个答案:

答案 0 :(得分:3)

请考虑以下屏幕截图。 a栏中有不幸的文字,有数年和数月。

enter image description here

B栏分出了这些年份。 C列拆分了几个月。 D列具有时间范围的总月数。有了这个,您可以使用Excel表格中内置的自动过滤器的过滤器选项按任何列进行过滤。

公式如下:

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

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

以月为单位的持续时间:=([@years]*12)+[@months]

现在只需使用列标题的下拉按钮中的过滤器,根本不需要VBA。