Gibt es eine Funktion, die feststellt, ob eine bestimmte Zelle einen einfachen (manuell eingegebenen) Wert oder eine Formel hat?
google-sheets
formulas
Epeleg
quelle
quelle
isFormula2("A1")
. Also habe ich versucht, eine neue Version davon zu erstellen:function isFormula2(cell) { return (cell.getFormula())!=""; }
und ich habe erwartet, dass es mit aufrufbar ist,isFormula2(A1)
aber dies scheint nicht zu funktionieren, und wenn ich versuche, es zu debuggen, wird escell
als undefiniert angezeigt geändert, damit es funktioniert,f(A1)
anstatt mitf("A1")
?isFormula(a1)
? (in MS Excel wäre es eine Funktion, die einen Bereichsparameter bekommt)Kurze Antwort
Verwenden Sie die integrierte Funktion ISFORMULA () .
Hintergrund und Erklärung
Ich glaube, ich habe gerade eine undokumentierte Formel in den neuen Google Sheets entdeckt. @Pnuts sagte, dass die
CELL
Formel nicht funktioniert hat (teilweise, weil sie nur in den neuen Google Sheets verfügbar ist), deshalb habe ich den Code in ein neues Google Sheet kopiert. Es wurde ein Fehler ausgegeben, der mir mitteilte, dass meine (benutzerdefinierte) Formel nur ein Argument und nicht zwei akzeptiert:Das Umbenennen
isFormula
in etwas anderes führte zu einer funktionierenden benutzerdefinierten Funktion. Nachdem dies der Fall war, habe ich noch ein weiteres Google Sheet erstellt und dieisFormula
Formel verwendet. Die Formel wird in der automatischen Vervollständigung nicht angezeigt, funktioniert aber:Wenn die Formel in allen neuen Google Sheets verfügbar ist, ist dies die beste Antwort:
Formel
Hinweis
Nur in den neuen Google Sheets verfügbar. Ich habe ein paar andere Leute gebeten, die neue Formel zu bestätigen, und sie ist bestätigt. Da es nicht dokumentiert ist, ist seine Implementierung unsicher und es könnte verschwinden. Das
ARRAYFORMULA
funktioniert mit dieser neuen Formel nicht.Beispiel
Ich habe eine Beispieldatei für Sie erstellt: isFormula
quelle
Es sieht so aus, als gäbe es eine versteckte integrierte Funktion
ISFORMULA()
von Google. Mir wurde klar, als ich meine eigene Funktion löschte und noch arbeitete. Ich habe es in einer neuen Tabelle versucht und funktioniert immer noch. Kein Cache-Problem.quelle