web-dev-qa-db-fra.com

Vous recherchez une formule "isFormula" pour Google Spreadsheets

Existe-t-il une fonction qui indique si une cellule spécifique a une valeur en clair (entrée manuellement) ou une formule?

13
epeleg

Avec ce petit extrait, vous pouvez le faire.

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;
}

Usage

enter image description here

Dans cette réponse , Tom Horwood a trouvé un moyen de contourner l'utilisation des guillemets.

Exemple

Ajoutez le script sous Outils> Editeur de script et appuyez sur le bouton de bogue pour activer l'authentification.

J'ai créé un exemple de fichier pour vous: Vérifier la formule

5
Jacob Jan Tuinstra

Réponse courte

Utilisez ISFORMULA () fonction intégrée.

Contexte et explication

Je pense avoir découvert une formule non documentée dans les nouvelles feuilles de calcul Google. @Pnuts disait que la formule CELL ne fonctionnait pas (en partie parce qu'elle n'est disponible que dans les nouvelles feuilles de calcul Google), j'ai donc copié le code dans une nouvelle feuille de calcul Google. Une erreur s'est produite, me disant que ma formule (personnalisée) n'accepte qu'un seul argument et pas deux:
enter image description here

Renommer la isFormula en quelque chose d’autre donnait lieu à une fonction personnalisée fonctionnelle. Après cela, j’ai créé encore une autre feuille Google et utilisé la formule isFormula. La formule n'apparaît pas dans la saisie semi-automatique, mais cela fonctionne:
enter image description here

Donc, si la formule est disponible dans les nouvelles feuilles de calcul Google, ce serait la meilleure réponse:

Formule

=isFormula(A1)

Remarque

Uniquement disponible dans les nouvelles Google Sheets. J'ai demandé à quelques autres personnes de confirmer la nouvelle formule et c'est confirmé. Comme il est non documenté, sa mise en œuvre est incertaine et il pourrait disparaître. La ARRAYFORMULA ne fonctionne pas lorsqu'elle est utilisée avec cette nouvelle formule.

Exemple

J'ai créé un exemple de fichier pour vous: isFormula

9
Jacob Jan Tuinstra

Il semble qu'il existe une fonction intégrée masquée ISFORMULA() de Google. J'ai réalisé quand j'ai supprimé ma propre fonction et que je travaillais toujours. Je l'ai essayé dans un nouveau tableur et fonctionne toujours. Pas de problème de cache.

2
Juan Pérez