用表中的相应数据替换文本字符串中的数据

用表中的相应数据替换文本字符串中的数据

我有一串文本,其中有一组电路编号。例如,“2,4,6,8”

每个电路都是独立的电路,具有独立的值(载流量)。

我将这些值全部描述在一个表中,其中一列是 CKT # (2),其右边的一列是载流量 (20)。

因此,如果我有电路 2、4、6 和 8,并且它们的载流量分别为 20、25、30 和 40,我希望 Excel 能够查看“2”的值并将其替换为“20”,以及 4、“25”、6、“30”等等。

因此我将以“2,4,6,8”开头,以“20,25,30,40”结尾

有没有办法做到这一点?

谢谢你!

答案1

首先在标准模块中输入以下用户定义函数:

Public Function xLate(s As String, rng As Range) As String
    Dim temp As String, arr(), i As Long

    temp = "," & s & ","
    arr = rng
    For i = LBound(arr, 1) To UBound(arr, 1)
        temp = Replace(temp, "," & arr(i, 1) & ",", "," & arr(i, 2) & ",")
    Next i
    xLate = Mid(temp, 2, Len(temp) - 2)
End Function

然后将翻译表放在工作表中的某个位置(说F1:G6.然后使用数据A1, 在B1进入:

=xlate(A1,F1:G6)

在此处输入图片描述

从示例中可以看到,该函数将逗号分隔的字符串中的每个元素替换为表中定义的另一个元素。

如果源元素未出现在表中,则保持不变。

相关内容