¿Alguien tiene una sugerencia especial (que no sea VBA) para decir sistemáticamente si una celda tiene un valor codificado o es una fórmula derivada?
Estoy tratando con algunos datos que tienen subtotales desordenados integrados y estoy tratando de ver si puedo separar las líneas sin procesar.
Respuestas:
Usar formato condicional. Elija la opción "Usar una fórmula para determinar qué celdas formatear" y escriba "= NO (Cellhasformula)". Esto formateará todo lo que esté codificado.
fuente
Seleccione las celdas en cuestión, presione Ctrl+ Gy luego seleccione
Special
para obtener el siguiente cuadro de diálogo:Luego especifique el tipo de celdas que desea y haga clic
OK
y solo esos tipos de celdas permanecerán seleccionados.fuente
A partir de Excel 2013, puede hacer:
Aquí la documentación completa
fuente
o para mostrar solo las fórmulas:
fuente
Otros dos métodos son
fuente
Sé que dijiste que no se prefiere VBA, pero si no tienes otras soluciones, el objeto Range tiene una propiedad HasFormula.
Devuelve: Verdadero si todas las celdas en el rango contienen fórmulas; Falso si ninguna de las celdas del rango contiene una fórmula; nulo de lo contrario.
Fuente: http://msdn.microsoft.com/en-us/library/bb208626%28v=office.12%29.aspx
fuente
Si desea almacenar el archivo Excel en un formato de libro libre de macros, debe evitar tanto VBA como macros (es decir, los enfoques XL4 / XLM sugeridos en otras respuestas). En esta respuesta, asumí un archivo Excel libre de macros.
Si usa MS-Excel 2013, puede usar:
Si usa versiones anteriores de MS-Excel (por ejemplo, 2010, 2007), no existe una función verdadera para determinar si una celda contiene una fórmula. Sin embargo, puede aproximarlo usando:
La función anterior devuelve:
fuente
Mucho más allá de la fecha original, pero si es de utilidad para alguien, logré evitar esto seleccionando el rango de celdas, luego usando Reemplazar (Ctrl + H), configurándolo en 'Buscar en' "Fórmulas" y reemplazar un igual
=
con un apóstrofe igual'=
Esto llevó a cabo todas las fórmulas, pero, obviamente, sería también convertir las cosas como si $ C $ 1 contenía
=if($A1=$B1,"Match","Different")
a'=if($A1'=$B1,"Match","Different")
Observe que
A1'=B1
en el medio de la fórmula puede ser problemático, pero aún así significa que puede ver las fórmulas, aunque no de manera pragmática. Podría usar la función SUSTITUIR para volver a cambiarlo, por lo que $ D $ 1 contiene=SUBSTITUTE(C1,"'=","=")
, luego simplemente copie en el Bloc de notas y péguelo nuevamente en $ E $ 1La otra forma sería 'mostrar fórmulas', pero eso mostraría fórmulas para cada celda, no solo un rango seleccionado.
fuente
fuente