将列添加到现有数据源

Add columns to an existing source of data

我想向 sheet 中显示的现有数据源添加几列。但是作为数据源,行数可以增加。我不想在设置后更新 sheet,它应该是自动的。在那些新专栏中,我想要公式。

请在下方查找预期结果。

我该怎么办?

谢谢你的帮助

在 E1 中使用:

={"new col 1"; ARRAYFORMULA(IF(C2:C="";;IF((ISNUMBER(C2:C))*(C2:C>=2); 1; 0)))}

在 F1 中使用:

={"new col 2"; ARRAYFORMULA(IF(D2:D="";;IF((ISNUMBER(D2:D))*(D2:D>=2); 10; 0)))}

我尝试使用自定义函数并使用另一个项目对其进行个性化设置,但它不起作用...

在这个简单的例子中,它起作用了。如果不为空,则 returns G 单元格大写 :

={"Feature"; ARRAYFORMULA(SI(G2:G="";;IF((NOT(ISEMPTY(G2:G))); UPPERCASE(G2:G); "-")))}

在其他情况下使用自定义函数,则不会。它被命名为“getFeature”

={"Feature"; ARRAYFORMULA(SI(G2:G="";;IF((NOT(ISEMPTY(G2:G))); getFeature(G2:G); "-")))}

当我以经典方式使用它时,我的功能有效:=getFeature(G7)

这是我的自定义函数:

function getFeature(searchString)  {

  if (searchString === "")  {
    return ""
  }

  var sFeature = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("raw feature")
  var rFeatureCol = sFeature.getRange(2, 1, sFeature.getLastRow(), 1)
  
  array = searchString.split(";")

  for (let i = 0; i < array.length; i++) {
    try  {
      var textFinder = rFeatureCol.createTextFinder(array[i])
      var search_row = textFinder.findNext().getValue()
      return array[i]
    }
    catch {
      // erreur détectée
    }
  }

  return ""
}