-1

我正在尝试做一些非常简单的事情,但如果可能的话,我无法并且希望得到一些帮助。对于提出这样一个基本问题,我深表歉意,但我之前找到的答案需要 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 

谢谢,布莱恩

4

2 回答 2

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)"

于 2013-06-02T11:13:33.623 回答
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 是将起始位置从机构名称的最后一个字符向前移动。

于 2013-06-02T00:37:49.977 回答