我正在尝试在Google Sheets中创建一个关键字生成器,从一些输入数据和一组乐高积木中动态生成它们,我正在使用一个替换函数来填充它们。到目前为止,我对如何让这部分工作很在行。当我尝试使用一个单词列表来填充字符串时,问题就出现了。我需要它为给定数组中的每个单词生成整个lego列表。
这对于填充列表,然后在列表末尾添加一些额外的、预定义的单词非常有用:
={ARRAYFORMULA(REPLACE(Legos, find("{1}",Legos),3, VLOOKUP("Service Name", Houdini,2,FALSE)));transpose(split(VLOOKUP("Other Words",Houdini,2),","))}|Keywords|
|:-------|
|Best Houdini Render Farm|
|Cheap Houdini Renderfarm|
|Houdini renderfarm|
|Houdini farm|
|Mantra|
|Simulation|但当我尝试使用乐高积木上的单词列表时,如下所示:
=arrayformula(REPLACE(Legos, find("{1}",Legos),3, transpose(split(VLOOKUP("Other Words",Houdini,2),","))))|Keywords|
|:-------|
|Best Mantra Render Farm|
|Cheap Simulation Renderfarm|
|#N/A|
|#N/A|我需要的输出是:
|Keywords|
|:-------|
|Best Mantra Render Farm|
|Cheap Mantra Renderfarm|
|Mantra renderfarm|
|Mantra farm|
|Best Simulation Render Farm|
|Cheap Simulation Renderfarm|
|Simulation renderfarm|
|Simulation farm|发布于 2021-02-09 03:03:56
所以我只是通过编写我自己的函数来做这件事。它比我想象的要简单得多,省去了我的头疼。
以下是代码,以防有人想自己使用它:
function fillReplace(a, b) {
output = []
b.forEach(function(template) {
sp = a.toString().split(",")
sp.forEach(function(word){
out = template.toString().replace("{1}",word.toString())
output.push(out)
})
})
return output
}这些模板采用类似于"Best {1} Thing“的形式,您可以给它一个用逗号分隔的单元格来填充所有模板。
https://stackoverflow.com/questions/66033524
复制相似问题