Ich versuche, eine bedingte Multi-Verkettung einzurichten und bin fast da.Bedingte Verkettung eines Zellenbereichs
Das Prinzip ist (wie ein SUMMIF) Sie laufen eine Zeile/Spalte und wenn der Wert der Bedingung entspricht, nehmen Sie den entsprechenden Wert aus dem Summenbereich und addieren sie zusammen. Obwohl dieses Mal wir sie verketten (sie buchstäblich addieren!) Dieses Bild zeigt das erwartete Ergebnis und mein tatsächliches Ergebnis, das besser erklären sollte, als ich kann. Das Problem ist, ich habe, dass, egal was ich Eingang als letzte Parameter gibt es noch ein Komma ohne Leerzeichen ...
Hier ist der Code („#“ gibt noch ein Komma usw. Eingabe): hier
/**
* 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;
}
Was bin ich? Danke.
Danke, das funktioniert und ist viel einfacher als meine Methode. Ich wäre auch interessiert zu wissen, wo mein Fehler im Code ist, wenn Sie können, damit ich meine GSCripting verbessern kann. – Zaberi