Google sheets 如何将一列中的非数值乘以相应列中的数字来编译列表?

Google sheets 如何将一列中的非数值乘以相应列中的数字来编译列表?,google-sheets,Google Sheets,我有一个谷歌表单,要求人们输入自己的名字,并在1和10之间选择一个数字。该表单将响应填充到一张表格中,如下所示: Name1 3 Name2 5 Name3 7 Name4 1 ETC. 我需要编制一份这些名字的列表,其中包括重复次数与他们选择的号码相同的名字。像这样: Name1 Name1 Name1 Name2 Name2 Name2 N

我有一个谷歌表单,要求人们输入自己的名字,并在
1
10
之间选择一个数字。该表单将响应填充到一张表格中,如下所示:

Name1                    3
Name2                    5
Name3                    7
Name4                    1
ETC.
我需要编制一份这些名字的列表,其中包括重复次数与他们选择的号码相同的名字。像这样:

Name1
Name1
Name1
Name2
Name2
Name2
Name2
Name2
ETC.
这可能吗


我的一些列表非常长,手动将它们放入列表非常耗时,而且很容易出错。

这里有一个脚本应该会有所帮助


编辑: 进行一些更改以控制列

此版本指定B列(名称)和D列(数字)


要将脚本添加到电子表格中,请执行以下操作:

  • 单击“工具”菜单,然后选择“脚本编辑器…”
  • 删除所有内容并粘贴此脚本
  • 保存脚本
  • 重新加载电子表格
  • 将有一个新的菜单项称为“多重名称”。在表单填充的工作表上使用它。它将创建一个名称相乘的新图纸



    如果您有任何问题,请告诉我。

    首先,创建两个逗号分隔的列表(每个列表位于单个单元格中)。一个代表姓名,一个代表姓名的发生。左派 and-2从列表中删除最后一个“,”

    =arrayformula(左(串联(过滤器(A2:A,A2:A“”)和“,”),len(串联(过滤器(A2:A,A2:A“”)和“,”))-2))

    =数组公式(左(串联(过滤器(B2:B,B2:B“”)和“,”),len(串联(过滤器(B2:B,B2:B“”)和“,”))-2))

    然后将下面的公式添加到最终列表的起始位置。D2引用逗号分隔的名称列表 从上面的第一个公式。D3引用上述第二个公式中的发生列表。拆分创建数组 和REPT重复创建的字符串


    =转置(拆分(联接(“,”,数组形式)(报告(拆分(D2,“,”&“,”,拆分(D3,“,”)),“,”)),”,”)

    假设A列中有名称,B列中有数字,另一种方法是使用以下公式:

    =ArrayFormula(transpose(split(Join(char(9), rept(A2:A&char(9), B2:B)), char(9))))
    

    为每行创建一个分隔列表:

    =拆分(报告(A1&“;”,B1),“;”)

    =拆分(报告(A2&“;”,B2),“;”)

    然后,在一个单独的列中,您希望转置该数组,以便它在列中列出它们:


    =转置(拆分(join(“;”,C1:C2),“;”)

    谢谢大家!我会全部尝试,看看哪一个对我来说最简单。非常感谢你的时间!如果它们在不同的列中?姓名在B栏,数字在D栏。
    var names = sheet.getRange('B:B').getValues();
    var numbers = sheet.getRange('D:D').getValues();
    
    =ArrayFormula(transpose(split(Join(char(9), rept(A2:A&char(9), B2:B)), char(9))))