it-swarm.com.de

Suchen Sie nach einer "isFormula" -Formel für Google Spreadsheets

Gibt es eine Funktion, die feststellt, ob eine bestimmte Zelle einen einfachen (manuell eingegebenen) Wert oder eine Formel hat?

13
epeleg

Mit diesem kleinen Schnipsel können Sie das tun.

Code

function isFormula(startcol, startrow) {
  // prepare string
  var str = String.fromCharCode(64 + startcol) + startrow;

  // retrieve formula
  var fCell = SpreadsheetApp.getActiveSpreadsheet()
    .getRange(str).getFormula();

  // return false if empty else true 
  return fCell ? true : false;
}

Verwendungszweck

enter image description here

In diese Antwort hat Tom Horwood einen Weg gefunden, die Verwendung von Anführungszeichen zu umgehen.

Beispiel

Fügen Sie das Skript unter Extras> Skripteditor hinzu und klicken Sie auf die Schaltfläche "Fehler", um die Authentifizierung zu aktivieren.

Ich habe eine Beispieldatei für Sie erstellt: Auf Formel prüfen

5

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 besagt, dass meine (benutzerdefinierte) Formel nur ein Argument und nicht zwei akzeptiert:
enter image description here

Das Umbenennen von isFormula in etwas anderes führte zu einer funktionierenden benutzerdefinierten Funktion. Nachdem dies der Fall war, habe ich ein weiteres Google Sheet erstellt und die Formel isFormula verwendet. Die Formel wird in der automatischen Vervollständigung nicht angezeigt, funktioniert aber:
enter image description here

Wenn die Formel in allen neuen Google Sheets verfügbar ist, ist dies die beste Antwort:

Formel

=isFormula(A1)

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 nicht, wenn es mit dieser neuen Formel verwendet wird.

Beispiel

Ich habe eine Beispieldatei für Sie erstellt: isFormula

9

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.

2
Juan Pérez