原始图像.. http://screencast.com/t/jk3IIbuuV
需要从约 500 行中抓取 5 种类型的数据并粘贴到 5 个单独的行中。理想情况下,数据将被转换,如屏幕截图右侧所示。
- 诊所名称
- 诊所电子邮件地址
- 网站
- 代表姓名
- 诊所类型
我正在考虑某种类型的 If 公式/宏,它搜索大写字母,另一种搜索 @ 并返回字符串,另一种搜索 www,另一种搜索项目符号。可能的?
原始图像.. http://screencast.com/t/jk3IIbuuV
需要从约 500 行中抓取 5 种类型的数据并粘贴到 5 个单独的行中。理想情况下,数据将被转换,如屏幕截图右侧所示。
我正在考虑某种类型的 If 公式/宏,它搜索大写字母,另一种搜索 @ 并返回字符串,另一种搜索 www,另一种搜索项目符号。可能的?
好的,您只给出了 500 百行中的一小部分,所以我假设了一些模式:
我想我得到了“诊所名称”、“网站”和“电子邮件”,
数据在列A
。将显示一个单元格的示例,但公式对于其他单元格是可重现的(只需拖动它们)。
诊所名称。
将所有字符串转换为大写字符串。
B1 =UPPER(A1)
检查新字符串 (B1) 是否与原始字符串 (A1) 不同。
C1 =IF(EXACT(A1,B1),A1,"")
网站
跟踪字符位置:“www.”
B1 =SEARCH("www.",A1,1)
在“www.”之后裁剪字符串
C1 =MID(A1,B1,100)
跟踪字符位置:“.cl” (假设您提供的所有示例的网站仅以“.cl”结尾)。
D1 =SEARCH(".cl",C1,1)
替换“.cl”右侧的所有内容(以防字符串未在“.cl”中完成),仅用于“.cl”。
E1 =REPLACE(C1,D1,100,".cl")
电子邮件
与网站相同的想法,但现在对原始数据做出更强有力的假设:
- 所有电话号码的格式为 (2) XXXX XXXX 或 (2) XXXX-XXXX;
- 电子邮件信息就在电话号码的右侧。
B1 =FIND("(2)",A1,1)
C1 =MID(A1,B1,100)
D1 =MID(K18,14,100) #remove the phone number (13 characters)#
E1 =SEARCH(".cl",L18,1)
F1 =REPLACE(D1,E1,100,".cl")
我没有尝试收集“诊所类型”,因为我无法在 Excel 上重现项目符号(实际上,我从 MS Word 复制并粘贴了项目符号,但我不确定它是否与您的数据格式相同)。我的第一次尝试是使用公式B1 =left(A1,1)
来提取每个字符串的第一个字符。对于所有带有项目符号的文本/字符串,可能会有一个模式(相同的字符)。然后,只需过滤选择项目符号字符的单元格并复制/粘贴“诊所类型”信息。
我不知道如何检索“联系人姓名”,但是根据我在这里提出的建议,可以消除带有“诊所类型”和“诊所名称”信息的行。