Excel 删除重复的列数据

Excel 删除重复的列数据,excel,excel-formula,Excel,Excel Formula,我试图做一些表面上很简单的事情,但是我没有做到,如果可能的话,我希望得到一些帮助。很抱歉,我提出了这样一个基本的问题,但我以前找到的答案需要visual basic,我不太理解如何将其付诸实施 我有两个专栏。A列是公司名称,B列是公司名称和地址。我只需要从B中删除公司名称并保留地址 例如: The Aaron M. Priest Literary Agency | The Aaron M. Priest Literary Agency 708 Third Ave., 23rd Fl. New Y

我试图做一些表面上很简单的事情,但是我没有做到,如果可能的话,我希望得到一些帮助。很抱歉,我提出了这样一个基本的问题,但我以前找到的答案需要visual basic,我不太理解如何将其付诸实施

我有两个专栏。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 
谢谢,
布莱恩

我不确定你说的是在数据库中还是在Excel中。 在数据库中,您可以执行以下操作

UPDATE MyTable
SET ColB =ltrim(rtrim(SUBSTRING(COlB,len(ColA)+1,len(colb))))
您可以通过检查代理名称和地址的末尾之间的空格、检查extact长度等来改进它,但这会起作用

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

=MID(ColC,LEN(ColA)+1,LEN(ColB))
然后,您必须将此公式复制到所需的列

注:在这两种情况下,+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中的公式是“=CutTheSame(A2;B2)”

首先,感谢您的帮助。所以我想到的是这个,但我得到了一个循环参考误差。我正在用excel工作。我的公式是:=MID(C9,LEN(A9)+1,LEN(B9))代替C9,应该有B9。谢谢你,Jüri。这正是我所需要的。如果解决方案令您满意,请勾选“接受”,那么每个人都可以看到问题已经解决了(回答者将得到分数)。这是我应用公式时c列中的输出。不知道我做错了什么。A管理层| A管理层12001文图拉有限公司,Ste。加利福尼亚州工作室城340号,邮编:91604|aaaaaaaaaaamanagementmanagementmanagementmanagementmanagementmanagementmanagementmanagementmanagementmanagementmanagementmanagement@user2444249:juri Ruut也是。。再次抱歉。。错误的方向。。它是updated@JüriRuut:你试过这个吗?@JüriRuut:对不起,我没有用小写或大写,也没有重复空格。。这只是mid()函数实现这里的代码不太可读:
function MultipleSpacesRemoved(InputString作为String)作为String,而InStr(InputString,“””)>0 InputString=Replace(InputString,“,”)Wend MultipleSpacesRemoved=InputString End函数