gpt4 book ai didi

google-apps-script - 单元格范围的条件连接

转载 作者:行者123 更新时间:2023-12-04 14:41:53 28 4
gpt4 key购买 nike

我正在尝试建立一个有条件的多重连接,并且几乎就在那里。

原则是(如 SUMIF)您沿着一行/列运行,如果该值与条件匹配,则从总和范围中获取相应的值并将它们相加。虽然这次我们将它们连接起来(实际上是将它们加在一起!)
这张图片显示了预期的结果和我的实际结果,这应该比我能解释的更好。
Spreadsheet
我遇到的问题是,无论我输入什么作为最后一个参数,它仍然给出一个没有任何空格的逗号(输入“#”仍然给出一个逗号等)...

这是代码:

/**
* Concatenates a range of cells where the condition is met.
*
* @param {A4:A6} cRange The dynamic cell range to test.
* @param {"Condition"} cCondition The string that the cell should match.
* @param {A4:A6} pRange The dynamic cell range to concatenate.
* @param {", "} interspace A string to insert between each entry.
* @return The a concatenated range of cells
* @customfunction
*/
function conditionalMultiConcat(cRange, cCondition, pRange, interspace){
var ss = SpreadsheetApp.getActiveSpreadsheet(); //get the active workbook
var sheet = ss.getSheets()[0]; //get the active sheet
//var values = sheet.getRange(pRange).getValues(); //debug line - uncomment to see the values
var values = "" //set the return value to blank
for(var cc = 0; cc < pRange.length; ++cc) { //For each value in the array
if ((cc == 0 || cc == pRange.length - 1) && (cRange[cc] = cCondition)) { //if it's the first or last value AND it matches our condition
values = values + pRange[cc].toString();// concatenate without interspace
}
else if (cRange[cc] = cCondition){ //else if it matches our condition then concatenate with the interspace
values = values + interspace + pRange[cc].toString();// concatenate
}
}
return values;
}


我在这里错过了什么?
谢谢。

最佳答案

我认为一个公式可以为您做到这一点:
=JOIN(",",FILTER(B1:D1,B2:D2="Y"))

关于google-apps-script - 单元格范围的条件连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886122/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com