【发布时间】:2017-06-14 22:12:28
【问题描述】:
在“A”列中,我有“要搜索的文本”。
在“B”列中,我有“要替换的文本”。
在“C”列中,我想显示“B”列的文本,但如果它有一个文本字符串出现在“A”列的任何行中,则应将其替换为
B列的平行行。
即使 A 列的值被 A 列中的另一个值替换,它也应该被替换(替换功能应该继续,直到“A”列中的每个单词都被替换,它可以在 4级别)。
我希望这是一个简单的函数,而不必使用电子表格脚本。
这是一个显示我想要实现的目标的 Google 电子表格示例:
https://docs.google.com/spreadsheets/d/1kS9Mm_OOv1kanG8Y3-uW-u3yQEHJPbCVT1V5HB7LhOw/pubhtml
如您所见,我需要执行多个循环才能得到我想要的。我想为文档中的所有级别和所有行自动添加一个函数,因为我将添加多行。
单元格 D2
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(**B2:B**;$A2;$B2);$A3;$B3);$A4;$B4);$A5;$B5);$A6;$B6);$A7;$B7);$A8;$B8);$A9;$B9);$A10;$B10);$A11;$B11);$A12;$B12);$A13;$B13))
单元格 E2
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(**D2:D**;$A2;$B2);$A3;$B3);$A4;$B4);$A5;$B5);$A6;$B6);$A7;$B7);$A8;$B8);$A9;$B9);$A10;$B10);$A11;$B11);$A12;$B12);$A13;$B13))
单元格 F2
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(**E2:E**;$A2;$B2);$A3;$B3);$A4;$B4);$A5;$B5);$A6;$B6);$A7;$B7);$A8;$B8);$A9;$B9);$A10;$B10);$A11;$B11);$A12;$B12);$A13;$B13))
等等……
【问题讨论】:
-
我的例子只适用于一层。
-
我看到你也在 freelancer.com 上发布了这个问题:D
-
还只是为了确认一下,您希望它在 Google 电子表格而不是 Excel 上工作?
-
感谢您的评论。我希望它是一个公式,而不是谷歌脚本。如果它在谷歌电子表格中工作就足够了,但如果它也能在 Excel 中工作,那就太好了。实际上,@Jeeped 的答案非常接近我想要的。我只是不知道如何解决它。
标签: excel excel-formula google-sheets