因此,我们在excel中的一个列中包含具有订阅数据,日期开始和日期结束数据的单元格中的数据。
例如:
2017年11月14日; 2018年1月8日;中级,2018年1月11日;;基本,2018年1月12日;;基本
我想删除2017年11月14日; 2018年1月 - 2018年;在此示例中为中级并保存任何具有基本价值及其日期的内容。也是昏迷在每个数据块之间分隔值。
答案 0 :(得分:1)
假设有几件事:
<date>;;Basic
在excel中按Ctrl + F11调出VBE(我们写VBA或&#34;宏&#34;) 右键单击工作簿左上角的Project-VBAProject窗格,然后选择&#34; Insert&gt;&gt; Module&#34;。这将在Modules文件夹中创建Module1。
现在粘贴以下UDF:
Function cleancell(strCell As String) As String
For Each el In Split(strCell, ",")
If IsDate(Split(el, ";")(0)) And Split(el, ";")(2) = "Basic" Then
cleancell = IIf(cleancell = "", cleancell, cleancell & ",") & el
End If
Next
End Function
这将为您的工作簿提供一个新的自定义公式(用户定义的公式)。保存您的工作簿以确保UDF已准备就绪。
假设您在单元格14-Nov-2017;08-Jan-2018;Intermediate,11-Jan-2018;;Basic, 12-Jan-2018;;Basic
中有值A1
,那么在A2
中您可以使用新公式:
=cleancell(A1)
这将吐出:
11-Jan-2018;;Basic, 12-Jan-2018;;Basic