Quelqu'un at-il une astuce spéciale (non-VBA fortement préférée) pour dire systématiquement si une cellule a une valeur codée en dur ou est une formule dérivée?
J'ai affaire à des données contenant des sous-totaux désordonnés et j'essaie de voir si je peux séparer les lignes brutes.
Réponses:
Utilisez la mise en forme conditionnelle. Choisissez l'option «Utiliser une formule pour déterminer les cellules à formater» et tapez «= PAS (Cellhasformula)». Cela formatera tout ce qui est codé en dur.
la source
Sélectionnez les cellules en question, appuyez sur Ctrl+ G, puis sélectionnez
Special
pour obtenir la boîte de dialogue suivante:Spécifiez ensuite le type de cellules souhaité et cliquez sur
OK
et seuls ces types de cellules resteront sélectionnés.la source
Depuis Excel 2013, vous pouvez faire:
Voici la documentation complète
la source
ou pour n'afficher que les formules:
la source
Deux autres méthodes consistent à
la source
Je sais que vous avez dit non-VBA préféré, mais si vous vous retrouvez sans autre solution, l'objet Range a une propriété HasFormula.
Renvoie: True si toutes les cellules de la plage contiennent des formules; False si aucune des cellules de la plage ne contient de formule; null sinon.
Source: http://msdn.microsoft.com/en-us/library/bb208626%28v=office.12%29.aspx
la source
Si vous souhaitez stocker le fichier Excel dans un format de classeur sans macro, vous devez éviter à la fois VBA et les macros (c'est-à-dire les approches XL4 / XLM suggérées dans d'autres réponses). Dans cette réponse, j'ai fait l'hypothèse d'un fichier Excel sans macro.
Si vous utilisez MS-Excel 2013, vous pouvez utiliser:
Si vous utilisez des versions MS-Excel plus anciennes (par exemple 2010, 2007), il n'y a pas de véritable fonction pour déterminer si une cellule contient une formule. Cependant, vous pouvez l'approcher en utilisant:
La fonction ci-dessus renvoie:
la source
Bien au-delà de la date d'origine, mais si cela peut être utile à n'importe qui, j'ai réussi à contourner cela en sélectionnant la plage de cellules, puis en utilisant Remplacer (Ctrl + H), en la réglant sur "Rechercher dans" "Formules" et en remplaçant un égal
=
avec une apostrophe égale'=
Cela a fait sortir toutes les formules, mais serait évidemment aussi convertir des choses comme si 1 $ C contenu
=if($A1=$B1,"Match","Different")
à'=if($A1'=$B1,"Match","Different")
Remarquez le
A1'=B1
milieu de la formule qui peut être problématique, mais signifie toujours que vous pouvez voir les formules, bien que de manière non pragmatique. Pourrait utiliser la fonction SUBSTITUTE pour le modifier à nouveau, donc $ D $ 1 contient=SUBSTITUTE(C1,"'=","=")
, puis copiez-le dans le Bloc-notes et collez-le dans $ E $ 1L'autre façon serait de «montrer les formules» mais cela montrerait les formules pour chaque cellule, pas seulement une plage sélectionnée.
la source
la source