Tengo una hoja de cálculo con aproximadamente 300 filas. Cada fila tiene aproximadamente 15 columnas, y cada celda contiene un valor numérico. Cada fila corresponde a un producto.
Quiero obtener Excel, para cada producto, para resaltar las celdas con los números más altos en rojo y los números más bajos en amarillo, con un gradiente para los números intermedios. Esto es lo que sucede si selecciono una fila (específicamente, las 15 celdas de la fila que contienen mis datos) y luego hago clic en Formato condicional> Escalas de color> Escala de color rojo-amarillo.
Sin embargo, tengo 300 filas y tomará mucho tiempo seleccionar cada fila individualmente y establecer el Formato condicional. Por otro lado, si selecciono todo el rango y aplico Formato condicional, Excel calcula los colores en función del rango completo, cuando en realidad quiero que se calculen fila por fila. Por ejemplo, tome estos datos de muestra:
1 2 3
4 5 6
7 8 9
La salida que quiero, usando Y para amarillo, O para naranja, R para rojo, es:
Y O R
Y O R
Y O R
Sin embargo, si selecciono todo el rango y aplico Formato condicional, obtengo:
Y Y Y
O O O
R R R
¿Hay alguna manera de lograr esto sin hacerlo una fila a la vez?
fuente
Respuestas:
Aquí hay una macro que crea un formato condicional para cada fila en su selección. Lo hace copiando el formato de la primera fila a CADA fila de la selección (una por una, no del todo). Reemplace B1: P1 con la referencia a la primera fila de su tabla de datos.
Para usar, resalte las filas sin formato en su conjunto de datos (en mi caso, B2: P300 ) y luego ejecute la macro. En el siguiente ejemplo, tenga en cuenta que los números máximos en las dos primeras filas son 5 y 15 , respectivamente; Ambas células son de color rojo oscuro .
Sin embargo, estoy seguro de que hay una solución más rápida que esta.
fuente
La forma más fácil de lograr esto es copiar / pegar de forma incremental. Primero, formatee 1 fila como lo desee. Luego copie y pegue el formato solo a una segunda fila. Ahora copie AMBAS filas 1 y 2 y pegue el formato en las filas 3 y 4. Enjuague y repita, Copie 4, 4 anteriores, copie 8, pegue 8, copie 16, pegue 16. Una vez que tenga una cantidad decente como 16, péguelo varias veces para obtener hasta 64 o 128. Luego puede copiarlos y pegar su formato, y está cubriendo exponencialmente más territorio que antes.
No es elegante, y en mi experiencia, los recursos necesarios para formatear condicionalmente las filas de comer comienzan a maximizarse alrededor de 2500 filas ... pero hace el trabajo.
Solo desearía que hubiera lógica que no creara un formato condicional separado para cada fila, acaparando recursos ...
fuente
Acabo de encontrar este y otros ejemplos de cómo hacer esto a través de VBA y me hizo pensar y descubrí una forma relativamente rápida e indolora de hacer lo mismo sin tener que saber ni copiar ningún script.
Aplique el formato condicional deseado a la fila que desee y luego resalte la fila completa. Haga clic con el botón derecho en cualquier lugar a lo largo del borde (el mouse debe ser el ícono Mover) y arrastre hacia abajo a la siguiente fila. En el menú contextual que aparece, seleccione "Copiar aquí solo como formatos". Ahora debería tener su formato condicional aplicado a ambas filas por separado. Luego continúe haciendo esto de manera recursiva, excepto que ahora puede seleccionar y copiar 2 o más filas a la vez.
No es un trato único como el código anterior, pero es exponencialmente más rápido que hacer una línea a la vez. Espero que esto ayude.
fuente
También puede aplicar el formato de condición a una fila. Vuelva a resaltar la fila y haga doble clic en "Copiar formato" para bloquearla. Use la tecla de flecha hacia abajo para aplicar la condición a otras filas.
Para mi empresa generalmente bloquea macro en Excel, así que esto funciona para mí. Espero que te ayude también.
fuente