在电子表格中提取精确的单词

尝试将单元格a中的数据分隔到单元格b

我有大约38000行,在这些行中,我有需要从描述中提取的数据,例如大小,颜色,适合度等。

下面是一个例子。

Shirt color: blue size: xl Shirt BLACK Shirt - Black 

或者任何数据的组合。

我想在尺寸为:xl颜色:蓝色的行上提取并放入bcde列。

同样只有-Black xl想要那些提取并放在一个单独的行。

首先创build一个简单的UDF()从一个短语中提取一个颜色词:

 Public Function GetColor(inpt As String) As String ary = Array("red", "green", "blue", "white", "black", "gray", "grey", "yellow") GetColor = "" For Each a In ary If InStr(1, LCase(inpt), a) > 0 Then GetColor = a Exit Function End If Next a End Function 

并将其应用于列:

在这里输入图像说明

你自然会修改这个样本UDF()来包含你的一组颜色词。 然后,您将创build并使用类似的UDF()来提取大小,文章types等。

编辑#1:

用户定义的函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. closuresVBE窗口

从Excel中使用UDF:

= GETCOLOR(A1)

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关UDF的具体信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

macros必须启用这个工作!