删除重复的列数据

时间:2013-06-02 00:15:52

标签: excel excel-formula

我正在努力做一些非常简单的事情,但是如果可能的话,我还没有能够并希望得到一些帮助。我为提出这样一个基本问题而道歉,但我之前发现的答案需要基本的视觉基础,而且我不太理解将其付诸实施。

我有两列。 A列是公司名称,B列是公司名称,也是地址。我只需要从B中删除公司名称并保留地址

示例:

The Aaron M. Priest Literary Agency | The Aaron M. Priest Literary Agency 708 Third Ave., 23rd Fl. New York, NY 10017

所需格式:

The Aaron M. Priest Literary Agency | 708 Third Ave., 23rd Fl. New York, NY 10017 

谢谢, 布赖恩

2 个答案:

答案 0 :(得分:1)

我不确定您是在谈论在数据库中还是在Excel中执行此操作。 在数据库中,您可以执行以下操作

UPDATE MyTable
SET ColB =ltrim(rtrim(SUBSTRING(COlB,len(ColA)+1,len(colb))))

您可以通过检查代理机构名称和地址末尾之间的空格,检查接触长度等来改进它,但这样可以。

如果这是一个excel问题,那么如果有ColA和ColB,你可以创建一个新的ColC并添加以下公式

=MID(ColC,LEN(ColA)+1,LEN(ColB))

然后,您必须将此公式复制到您需要的列。

请注意,在这两种情况下,+1都是将起始位置从代理商名称的最后一个字符向前移动。

答案 1 :(得分:1)

C2中的公式= "= TRIM(MID(B3;SEARCH(A3;B3) + LEN(A3);LEN(B3)-LEN(A3)))"

如果您使用VBA,请尝试此功能

Function CutTheSame(Cell1 As Range, Cell2 As Range)        
    Dim sC1 As String: sC1 = Cell1.Value
    Dim sC2 As String: sC2 = Cell2.Value
    Dim n As Integer: n = InStr(sC2, sC1)

    CutTheSame = Trim(Mid(sC2, n + Len(Trim(sC1))))        
End Function

并使用函数

的结果填充C列(在C列中测试结果)

单元格C2 is "= CutTheSame(A2 ; B2)"

中的公式