将列添加到现有数据源
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 ""
}
我想向 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 ""
}