在电子表格中提取精确的单词
尝试将单元格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)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- 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必须启用这个工作!