Réponses:
Avec ce petit extrait, vous pouvez le faire.
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;
}
Dans cette réponse , Tom Horwood a trouvé un moyen de contourner l'utilisation des citations.
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
isFormula(a1)
? (dans MS Excel, ce serait une fonction qui obtient un paramètre de plage)
Utilisez la fonction intégrée ISFORMULA () .
Je pense que je viens de découvrir une formule non documentée dans les nouvelles feuilles de calcul Google. @Pnuts disait que la CELL
formule 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 non deux:
Renommer le isFormula
en quelque chose d'autre, a abouti à une fonction personnalisée de travail. Après cela, j'ai créé une autre feuille de calcul Google et utilisé la isFormula
formule. La formule n'apparaît pas dans la saisie semi-automatique, mais elle fonctionne:
Donc, si la formule est disponible dans les nouvelles feuilles de calcul Google, ce serait la meilleure réponse:
=isFormula(A1)
Disponible uniquement dans les nouvelles feuilles de calcul Google. J'ai demandé à quelques autres personnes de confirmer la nouvelle formule et c'est confirmé. Comme il n'est pas documenté, son implémentation n'est pas sûre et il pourrait disparaître. Le ARRAYFORMULA
ne fonctionne pas lorsqu'il est utilisé avec cette nouvelle formule.
J'ai créé un exemple de fichier pour vous: isFormula
Il semble qu'il existe une fonction intégrée caché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 une nouvelle feuille de calcul et fonctionne toujours. Aucun problème de cache.
isFormula2("A1")
. J'ai donc essayé d'en créer une nouvelle version comme ceci:function isFormula2(cell) { return (cell.getFormula())!=""; }
et je m'attendais à ce qu'il soit appelable en utilisantisFormula2(A1)
mais cela ne semble pas fonctionner et lorsque j'essaie de le déboguer, il apparaîtcell
comme indéfini ... toute idée pourquoi est-ce et si les choses pourraient être changé de sorte qu'il fonctionnera avecf(A1)
au lieu def("A1")
?