Excel 替换另一个列表中包含的字符串中的每个字符

Excel replace each char in a string contained in another list

我有 2 个 tables,table A 和 table B,在 G 列上我只想编码希伯来语和空格,但是使用 ENCODEURL 编码整个字符串.我找到了一个解决方法,并在 Table A 中写入了我要替换的每个字符和编码值。 我想在 F 列中的字符串中搜索 B 列中的任何字符,并用 C 列中的值替换(或替换)它们。

任何帮助将不胜感激。

我图像中的数据为文本:

description DECODED ENCODED
letter  א   %D7%90
letter  ב   %D7%91
letter  ג   %D7%92
letter  ד   %D7%93
letter  ה   %D7%94
letter  ו   %D7%95
letter  ז   %D7%96
letter  ח   %D7%97
letter  ט   %D7%98
letter  י   %D7%99
letter  כ   %D7%9B
letter  ל   %D7%9C
letter  מ   %D7%9E
letter  נ   %D7%A0
letter  ס   %D7%A1
letter  ע   %D7%A2
letter  פ   %D7%A4
letter  צ   %D7%A6
letter  ק   %D7%A7
letter  ר   %D7%A8
letter  ש   %D7%A9
letter  ת   %D7%AA
letter  ן   %D7%9F
letter  ם   %D7%9D
letter  ץ   %D7%A5
letter  ף   %D7%A3
letter  ך   %D7%9A
space       %20


Link
test/ם/   

想要的结果应该是:test/%D7%9D/而不是test/%D7%9E/
D最后不是E)

使用 Microsoft365,尝试:

F2中的公式:

=LET(X,MID(E2,SEQUENCE(LEN(E2)),1),CONCAT(IFERROR(INDEX(C:C,MATCH(X,B:B,0)),X)))

我尝试将 IFERROR()INDEX()MATCH() 部分与 XLOOKUP() 交换,但它没有用,因为后者不会将数组作为查找值。


好的,在你更新问题后我认为你可以使用:

=LET(X,MID(E2,SEQUENCE(LEN(E2)),1),CONCAT(IF(ISNUMBER(MATCH(X,B:B,0)),ENCODEURL(X),X)))

现在您也可以将第 1 列和第 3 列一起删除。