首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Sheets:有没有可能为另一个数组的每个元素重做一个数组函数?

Google Sheets:有没有可能为另一个数组的每个元素重做一个数组函数?
EN

Stack Overflow用户
提问于 2021-02-04 02:26:30
回答 1查看 49关注 0票数 0

我正在尝试在Google Sheets中创建一个关键字生成器,从一些输入数据和一组乐高积木中动态生成它们,我正在使用一个替换函数来填充它们。到目前为止,我对如何让这部分工作很在行。当我尝试使用一个单词列表来填充字符串时,问题就出现了。我需要它为给定数组中的每个单词生成整个lego列表。

这对于填充列表,然后在列表末尾添加一些额外的、预定义的单词非常有用:

代码语言:javascript
复制
={ARRAYFORMULA(REPLACE(Legos, find("{1}",Legos),3, VLOOKUP("Service Name", Houdini,2,FALSE)));transpose(split(VLOOKUP("Other Words",Houdini,2),","))}
代码语言:javascript
复制
|Keywords|
|:-------|
|Best Houdini Render Farm|
|Cheap Houdini Renderfarm|
|Houdini renderfarm|
|Houdini farm|
|Mantra|
|Simulation|

但当我尝试使用乐高积木上的单词列表时,如下所示:

代码语言:javascript
复制
=arrayformula(REPLACE(Legos, find("{1}",Legos),3, transpose(split(VLOOKUP("Other Words",Houdini,2),","))))
代码语言:javascript
复制
|Keywords|
|:-------|
|Best Mantra Render Farm|
|Cheap Simulation Renderfarm|
|#N/A|
|#N/A|

我需要的输出是:

代码语言:javascript
复制
|Keywords|
|:-------|
|Best Mantra Render Farm|
|Cheap Mantra Renderfarm|
|Mantra renderfarm|
|Mantra farm|
|Best Simulation Render Farm|
|Cheap Simulation Renderfarm|
|Simulation renderfarm|
|Simulation farm|
EN

回答 1

Stack Overflow用户

发布于 2021-02-09 03:03:56

所以我只是通过编写我自己的函数来做这件事。它比我想象的要简单得多,省去了我的头疼。

以下是代码,以防有人想自己使用它:

代码语言:javascript
复制
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“的形式,您可以给它一个用逗号分隔的单元格来填充所有模板。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66033524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档