2

在此处输入图像描述

原始图像.. http://screencast.com/t/jk3IIbuuV

需要从约 500 行中抓取 5 种类型的数据并粘贴到 5 个单独的行中。理想情况下,数据将被转换,如屏幕截图右侧所示。

  1. 诊所名称
  2. 诊所电子邮件地址
  3. 网站
  4. 代表姓名
  5. 诊所类型

我正在考虑某种类型的 If 公式/宏,它搜索大写字母,另一种搜索 @ 并返回字符串,另一种搜索 www,另一种搜索项目符号。可能的?

4

1 回答 1

1

好的,您只给出了 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)来提取每个字符串的第一个字符。对于所有带有项目符号的文本/字符串,可能会有一个模式(相同的字符)。然后,只需过滤选择项目符号字符的单元格并复制/粘贴“诊所类型”信息。

我不知道如何检索“联系人姓名”,但是根据我在这里提出的建议,可以消除带有“诊所类型”和“诊所名称”信息的行。

于 2013-07-29T04:59:22.040 回答