Wenn ich eine Tabellenkalkulationsfunktion anrufe, z. B. int(f2)
, arbeitet die Funktion mit dem Wert in der Zelle. Wenn cell("F2")
3,14159 enthält, wäre das Ergebnis 3. Aber wenn ich eine andere Art von Funktion aufrufen - zum Beispiel: row(f8)
- die Funktion nimmt den Zellbezug, und nicht den Wert, in diesem Fall der Rückkehr 8.Zellenreferenzen an Tabellenkalkulationsfunktionen übergeben
Wie bekomme ich meine benutzerdefinierte Funktion, um mit der Referenz statt mit dem Wert zu arbeiten?
Ich kann eine Zeichenfolge übergeben und verwenden, aber wenn ich die Zellen auf dem Blatt verschieben oder aktualisieren, werden die Zeichenfolgen nicht geändert.
wirklich einfaches Beispiel:
function GetFormula(cellname) {
return SpreadsheetApp.getActiveSheet().getRange(cellname).getFormula();
}
In diesen Code meines Blattes ist, kann ich die Formel in C4 wie folgt abrufen: =GetFormula("C4")
Aber dieses Argument ein String ist, und ich würde eher passieren eine Zellreferenz. Ein etwas komplizierteres Problem erfordert, dass die aufrufenden Zellen aktualisiert werden, wenn sie kopiert und eingefügt werden.
Irgendwelche Ideen?
hier eine Abhilfe ist und keine Lösung - '= GetFormula (ADDRESS (ROW (F8), COLUMN (F8)))' – megabyte1024
Das wird tun, was ich will, aber, Junge, ist es hässlich! Jetzt muss ich es jedem erklären, der es sieht, weißt du? – HardScale
Verwandte Themen auf [webapps.se]: [Wie übertrage ich einen Bereich in eine benutzerdefinierte Funktion in Google Spreadsheets?] (Http://webapps.stackexchange.com/questions/10629/how-to-pass-a-range-) Into-a-custom-Funktion in Google-Tabellen /) –