Pregunta

Excel generalmente trata las fórmulas de formato condicional como si fueran fórmulas de matriz, excepto al cargarlos desde un archivo de hoja de cálculo XML de Excel 2002/2003.

Esto es sólo un problema con el formato de hoja de cálculo XML de Excel 2002/2003...el formato nativo de Excel funciona bien, al igual que el formato XML más nuevo de Excel 2007 (xlsx).

Después de cargar la hoja de cálculo, es posible hacer que funcione correctamente seleccionando el rango formateado, yendo al cuadro de diálogo Formato condicional y haciendo clic en Aceptar, pero esto sólo soluciona el problema de la sesión.

Caso de prueba:

Ingrese lo siguiente en una hoja nueva:

  A B C
1 N N N
2 x x x
3 x x x

Cree esta fórmula de formato condicional en las celdas A1:C1 (su elección de bonitos colores para el formato):

=(SUM(($A1:$C1="N")*($A$2:$C$2=A$3))>0)

Esta es una fórmula matricial que se activa para A1, B1 y C1 siempre que cualquiera de ellos tenga una "N" y la celda en la fila 2 debajo de la "N" sea igual a la celda en la fila 3 de la columna actual.

(Esto se ha simplificado a partir de una hoja de cálculo empresarial del mundo real.Perdón por la complejidad del caso de prueba, estoy tratando de encontrar un caso de prueba más fácil de presentar aquí).

Y funciona...puedes modificar las N o las x de la forma que desees y el formato funciona bien.

Guarde esto como una hoja de cálculo XML.Cierre Excel y vuelva a abrir el archivo.El formato ahora no funciona.Ahora, sólo puedes activar el formato condicional si A1 es una "N" y A2 es igual que A3, B3 o C3.Los valores de B1, B2, C1 y C2 no tienen ningún efecto en el formato.

Ahora, seleccione A1:C1 y observe la fórmula de formato condicional.Exactamente igual que antes.Presiona Aceptar.El formato condicional comienza a funcionar nuevamente y funcionará durante toda la sesión en la que el archivo esté abierto.

Soluciones alternativas consideradas:

  1. Proporcionar el archivo en formato Excel nativo (BIFF).No es una opción, estas hojas de cálculo se generan sobre la marcha mediante un servidor web y este es sólo uno de las docenas de tipos de libros generados dinámicamente por nuestro sistema.

  2. Proporcionar el archivo en formato XML nativo de Excel 2007 (xlsx).No es una opción, la base de usuarios actual no tiene Office 2007 ni el complemento de compatibilidad.

  3. Pidiendo a los usuarios que seleccionen el rango, ingresen al cuadro de diálogo Formato condicional y presionen Aceptar.No es una opción en este caso, usuarios poco sofisticados.

  4. Solicitar a los usuarios que abran la hoja de cálculo XML, la guarden como XLS nativo, cierren y vuelvan a abrir el archivo XLS. ¡Esto no funciona! El formato permanece roto en el formato XLS nativo si se cargó roto desde un archivo XML.Si se realiza el paso (3) anterior antes de guardar, el archivo XLS funcionará correctamente.

Terminé reescribiendo el formato condicional para no usar fórmulas de matriz.Así que supongo que esto está "respuesto" hasta cierto punto, pero sigue siendo un error no documentado, aunque oscuro, en el manejo de archivos XML en Excel 2002/2003.

¿Fue útil?

Solución

Intenté recrear el problema que describe.Esto es lo que encontré.

  • Podría recrear constantemente el problema usando Excel 2003 en Windows XP al guardar como una hoja de cálculo XML.

  • Podría no Reproducir el problema usando Excel 2003 en Windows XP cuando se guarda como una hoja de cálculo de XLS estándar.

  • Podría no Reproducir el problema usando Excel 2007 en Windows Vista al guardar el archivo en el formato XLSX nativo.

  • Podría no Reproducir el problema usando Excel 2007 en Windows Vista al guardar el archivo en el formato Excel 97-2003 XLS.

    (Nota: Todas las instancias de Excel y Windows están actualizadas con todas las actualizaciones de Windows.)

También agregué una fórmula de formato condicional simple a cada prueba.En todos los casos, funcionó como se esperaba después de guardar el archivo, cerrar Excel y volver a abrirlo.

Entonces, la respuesta parece ser utilizar el formato de archivo estándar de Excel 2003 al guardar el archivo.

Por cierto, esta es una fórmula de formato muy extraña.Es difícil imaginar cómo lo usarías.Debe ser un caso de negocio muy específico e inusual.También tengo la sensación de que falta algo en tu publicación.(No lo estoy acusando de ser deshonesto; solo me pregunto si puede haber acortado la fórmula para facilitar la lectura). Si este no es el exacto fórmula que está utilizando, edite su publicación original con la fórmula completa y estaré encantado de volver a abordar este problema.

Otros consejos

Puede encontrar algunos vídeos tutoriales para estudiar por su cuenta el problema del formato condicional en las siguientes páginas:formato condicional

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top