domingo, mayo 04, 2014

El (no tan) misterioso caso de la columna A oculta

Las últimas semanas he estado muy ocupado como ya habrán notado buena parte de mis lectores por la demora en responder a sus consultas o por las pocas publicaciones en el blog. Buena parte del tiempo que suelo dedicarle al blog ha sido invertido en el desarrollo del modelo de la factura con base de datos, que espero publicar en breve (y de paso, gracias por adelantado a los correctores por las observaciones y sugerencias que me ha hecho llegar).

Este jueves viajo a Berlín, la ciudad natal de mi madre, por una semana. Por este motivo y aunque trataré de hacerlo, no puedo prometer responder a las consultas que me lleguen.

Mientras tanto dedicaré esta nota al problema de la columna A que ha sido ocultada y no parece haber forma de volver a mostrarla. En realidad no se trata de un problema y mucho menos de un bug. El usuario desprevenido, en particular el principiante, puede pasar por alto algunos detalles y no ver la forma de hacerlo.

Supongamos que alguien no ha mandado este cuaderno

Normalmente seleccionamos las columnas adyacentes a la columna o columnas ocultas y las mostramos con Celdas-Formato-Mostrar Columnas o con el menú contextual (seleccionar las columnas y usar el botón derecho del mouse). Pero en este caso parece que no hay forma de seleccionar la columna A. Hay varias formas de hacerlo:

  • hacemos un clic sobre la letra de la columna B para seleccionar toda la columna y arrastramos el mouse hacia la izquierda; de esta manera seleccionamos ambas columnas.
  • Lo mismo podemos hacer usando Ir a-Referencia (apretando F5 o Ctrl-I).
  • En el cuadro de nombres (en la imagen de arriba, el rectángulo arriba de la letra B donde se ve "B1") escribimos "A1" y apretamos ENTER. Esta acción selecciona la celda A1; luego usamos Celdas-Formato-Mostrar Columnas.
  • Usamos el triángulo que aparece a la izquierda de "B" y arriba de "1" para seleccionar todas la hoja y usamos alguna de las opciones mencionadas para mostrar las columnas. Esta acción, a diferencia de las anteriores, mostrará todas las columnas ocultas de la hoja.
Hay una situación en la cual estos métodos no producen el resultado esperado. Cuando ocultamos una columna Excel define el ancho a 0

Al usar "Mostrar", Excel reestablece el ancho de la columna. Ahora supongamos que, intencionadamente o no, establecemos el ancho de la columna a 0.08 (o 0,08 según usen el punto o la coma como separador)

Como pueden apreciar, la diferencia con el caso anterior es prácticamente imperceptible. De hecho la columna está oculta pero los métodos para mostrarla no funcionarán ya que el ancho no es cero. Para mostrarla tenemos que, sencillamente, cambiar el ancho.


jueves, abril 17, 2014

Correctores voluntarios para el modelo Factura con base de datos

Nuevamente recurro a mis lectores en búsqueda de editores/correctores voluntarios para probar mi nuevo modelo: Factura con base de datos.

Actualización 25/08/2014: post con el nuevo modelo


A diferencia del modelo que publiqué hace varios años atras, éste permite no sólo producir e imprimir facturas sino también guardar los datos en un base de datos. Esto nos permite producir copias de las facturas y también producir informes sobres nuestras ventas.

Para probar el funcionamiento y encontrar los inevitables bugs, enviaré una copia del modelo con un video explicatorio a los primeros 5 voluntarios que estén dispuestos a ayudarme en la tarea.

Para recibir el modelo con el video deben mandarme un mail privado (ver el enlace Ayuda, en la parte superior de la plantilla) o dejar un comentario con el mail (evitando poner el símbolo @, por ejemplo: "jose at mimail.com").

Los gentiles voluntarios serán recompensados con una copia gratuita del modelo, con todos los códigos abiertos (sin contraseñas).

Desde ya, muchas gracias


miércoles, abril 16, 2014

La función SIFECHA (DATEDIF) con varios períodos

Ya hemos hablado en el pasado sobre la función SIFECHA (DATEDIF en inglés) y sus bondades. A pesar de su utilidad esta función sólo está documentada en la versión 2000 de Excel. Por algún motivo Microsoft decidió "pasarla a la clandestinidad", aunque está disponible en todas las versiones posteriores de Excel.
Un lector me consultaba sobre cómo usarla para calcular la antigüedad de un empleado que se ha reincorporado a la empresa en varias oportunidades.

Veamos este ejemplo

Las columnas B y C muestran la fecha de comienzo y final de cada período; las columnas D, E y F contienen estas fórmulas:
  • =SIFECHA(B2,C2,"y"), para calcular los años
  • =SIFECHA(B2,C2,"ym"), para calcular el resto de los meses
  • =SIFECHA(B2,C2,"md"), par calcular el resto de los días.

Nótese que el argumento "y" indica que se calculan los años, pero dependiendo de las definiciones regionales del sistema, debe usarse "a" en su lugar.

La tabla muestra que nuestro empleado ha trabajado al presente 10 años, 21 meses y 55 días. Por suspuesto, la forma de presentar este cálculo debe ser 11 años, 10 meses y 25 días. Podemos corregir la fila 5 manualmente ("pasamos" 12 meses a los años quedando 11 años y 9 meses; pasamos 30 días a los meses quedando 10 meses y 25 días), pero más práctico es usar SIFECHA de la siguiente manera:

Las fórmulas con SIFECHA aquí son:

  • =SIFECHA(B2+B3+B4,C2+C3+C4,"y")
  • =SIFECHA(B2+B3+B4,C2+C3+C4,"ym")
  • =SIFECHA(B2+B3+B4,C2+C3+C4,"md")

Dado que Excel maneja las fechas como números enteros de una serie, podemos sumar las fechas de comienzo como "fecha inicial" y de la misma manera sumar las fechas de finalización como argumentos de la función.

Si necesitamos expresar el resultado en un único número, a los efectos de realizar algún cálculo, podemos usar esta fórmula que dará una buena aproximación:

La parte decimal del resultado expresa los meses y días por encima de los 11 años. Podemos interpretar este número de la siguiente manera:


donde las fórmulas utilizadas son