在Google Sheets中组合不同的列和单元格。

问题描述 投票:0回答:1

我正试图使用Google Sheets创建一个产品列表。 每种类型的产品都有一些属性(或变化),这些属性组合在一起创建一个单一的产品。

例如,有

  • 直径:14寸、12寸、34寸等。
  • 长度:12英寸、1英寸、1 12英寸等。
  • 材料:钢,不锈钢 钢,不锈钢
  • 等等。

一个特定的产品就是这些变化的特定组合。 所以,比如说

  • 14英寸X12英寸的钢制马车螺栓。
  • 14英寸X1英寸钢制马车螺栓。
  • 14英寸X1 12英寸钢制马车螺栓。
  • 等等。

我想做的是创建一些列,只是属性。因此,一个直径列,一个长度列,材料列等。

然后,我想通过将这些不同的列组合在一起,创建一个新的工作表。

这可能吗? 如果可以,怎么做?

谢谢。

注意:我目前不知道如何使用 我目前不知道如何使用Google Sheets API。 如果需要,我可以学习(或聘请开发人员)。 但是,如果有可能在没有任何编码的情况下做到这一点,那将是最好的(至少现在)。

澄清以下是我所说的 creating a number of columns just with the attributes.

Column A .   Column B .   Column C
Diameter .   Length .     Material
1/4 .        1/2 .        Steel
1/2 .        1 .          Stainless Steel
3/4 .        1 1/2
1 .          2
Etc.         Etc.
google-sheets google-sheets-api google-sheets-formula google-sheets-query google-sheets-macros
1个回答
0
投票

你可以创建这个与应用程序脚本。进入工具--> 脚本。给你的项目起个名字,然后删除你在脚本中看到的所有内容(function myFunction),用下面这段代码代替。改变必要的范围和表名。

function combinations() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName('input'); //Choose your own input tab
  var output = ss.getSheetByName('output'); //Choose your own output tab, and change it in script line 17
  var rangeA = sheet.getRange('A1:A3').getValues(); //Change the desire range
  var rangeB = sheet.getRange('B1:B3').getValues(); //Change the desire range
  var rangeC = sheet.getRange('C1:C3').getValues(); //Change the desire range
  var data = [];

  for(var i=0; i < rangeA.length; i++){
    for(var j=0; j < rangeB.length; j++){
      for(var k=0; k < rangeC.length; k++)
       data.push([rangeA[i]+" X "+rangeB[j]+" "+rangeC[k]]);
    }
  }

  output.getRange(1, 1, data.length, 1).setValues(data);
}

然后点击脚本上方的小播放按钮。

© www.soinside.com 2019 - 2024. All rights reserved.