如何在Excel中从一个文本单元格中减去一个文本单元格?

Sat*_*uga 1 excel

我在Excel中有两个文本单元,如下所示,其中包含字符串(A1和A2),我试图从A1单元格字符串中删除A2单元格字符并将结果存储在A3中.

在此输入图像描述

我尝试过使用SEARCH(),TEXT(),RIGHT()等少数函数但是无法实现我需要的结果.

我可以使用任何编程语言(Python,C等)轻松完成这项工作 - 只需要一个循环和几个字符串函数.但无法弄清楚使用Excel公式获得相同的方法.

有什么想法我们怎么能得到这个?

Gar*_*ent 5

在B2中输入:

=MID($A$2,COLUMN()-1,1)
Run Code Online (Sandbox Code Playgroud)

并复制(这会隔离字符)在B3中输入:

=SUBSTITUTE($A$1,B2,"")
Run Code Online (Sandbox Code Playgroud)

C3中输入:

=SUBSTITUTE(B3,C2,"")
Run Code Online (Sandbox Code Playgroud)

并复制(这会删除每个字符)

在此输入图像描述

  • 如果有一个数组公式,那也超出了我的范围。您可以使用数组来迭代第二个单元格字符,但由于它始终引用第一个字符串而不是其本身,因此只会显示最后一个字母替换。但我仍在学习,所以也许我错了。 (2认同)

JNe*_*ill 5

通过UDF执行此操作非常简单.基本上只是ins逐个字符循环,并replace()用来交换字符,什么也没有;

Function textSubtract(startString As String, subtractString As String) As String
    'Function to subtract characters in one string from another string

    'Loop through every character in subtractString
    Dim charCounter As Integer
    For charCounter = 1 To Len(subtractString)

        'Replace out the character in startString
        startString = Replace(startString, Mid(subtractString, charCounter, 1), "")

    Next charCounter

    'Return
    textSubtract = startString

End Function
Run Code Online (Sandbox Code Playgroud)

然后你可以这样称呼它:

在此输入图像描述