LibreOffice Calc: Casos prácticos (II)

Por José Francisco Martínez Jiménez

Servicio de Gestión Contable
Intervención General de la Junta de Andalucía
Consejería de Hacienda y Financiación Europea

Caso práctico de LibreOffice con filtros y formatos. 

Caso práctico n.º 4:
Diferencia entre dos fechas en años, meses y días.

Se nos pide que hallemos el tiempo transcurrido entre dos fechas, cada mes con sus días correspondientes, y teniendo en cuenta los años bisiestos (si es que los hay entre esas dos fechas).

LibreOffice Calc nos ayuda con la función

SIFECHA(Fecha de inicio; Fecha final; Intervalo)

Fecha de inicio es la fecha a partir de la cual el cálculo se lleva a cabo (fecha más antigua).

Fecha final es la fecha fin para el cálculo. La fecha final debe ser posterior a la fecha inicial, es decir, debe ser la fecha más reciente.

Intervalo es una cadena que indica el tipo de resultado que tiene que devolver, y los valores posibles son (de las palabras en inglés day-día, month-mes, year-año):

Valor

Devuelve …

d

Número de días completos entre Fecha de inicio y Fecha final.

m

Número de meses completos entre Fecha de inicio y Fecha final (se desprecian los días sobrantes).

y

Número de años completos entre Fecha de inicio y Fecha final (se desprecian los meses y días sobrantes).

ym

Número de meses completos al restar los años de la diferencia entre la Fecha de inicio y la Fecha final.

md

Número de días completos al restar los años y los meses de la diferencia entre la Fecha de inicio y la Fecha final.

yd

Número de días completos al restar los años de la diferencia entre la Fecha de inicio y la Fecha final.

Veamos unos ejemplos:

  • ¿Cuántos años de edad, a 25/01/2021 (celda B2), tiene una persona nacida el 27/10/1981 (celda A2)?:

    =SIFECHA(A2; B2; “y”)

    Devuelve: 39.

  • Igual que el anterior pero queremos la edad en años, meses y días:

    =SIFECHA(A2; B2; “y”) & ” años, ” & SIFECHA(A2; B2; “ym”) & ” meses y ” & SIFECHA(A2; B2; “md”) & ” días”

    Devuelve: 39 años, 2 meses y 29 días.

  • ¿Y en días?:

    =SIFECHA(A2; B2; “d“)

    Devuelve: 14.335.

  • ¿Y si en lugar de la edad quisiéramos calcular la vida laboral o la duración de una baja por incapacidad temporal? En estos casos se tienen que tener en cuenta las dos fechas y, por tanto, hay que sumar 1” a la Fecha final, o bien restar 1” a la Fecha de inicio:

    =SIFECHA(A2; B2+1; “y”) & ” años, ” & SIFECHA(A2; B2+1; “ym”) & ” meses y ” & SIFECHA(A2; B2+1; “md”) & ” días”

    =SIFECHA(A2-1; B2; “y”) & ” años, ” & SIFECHA(A2-1; B2; “ym”) & ” meses y ” & SIFECHA(A2-1; B2; “md”) & ” días”

    En ambos casos devuelve: 39 años, 2 meses y 30 días.

Caso práctico n.º 5:
Expresar una cantidad numérica con palabras.

Puede que en algún momento necesitemos expresar una cantidad numérica, por ejemplo, 12.345,67 euros, con palabras, es decir, tenemos que escribir “doce mil trescientos cuarenta y cinco euros con sesenta y siete céntimos”. Podemos hacer que LibreOffice Calc lo haga por nosotros creando un formato de celda definido por el usuario (ver Imagen 1):

Imagen 1

Pinchamos en el menú Formato → Celdas…, o bien, pulsamos +<1>; en la CategoríaDefinido por el usuario” de la pestaña “Números” escribimos

[NatNum12 capitalize EUR]0,00

en el Código de formato, pinchamos en y, por último, en el botón con el siguiente resultado (Imagen 2):

Imagen 2

Si escribimos [NatNum12 upper EUR]0,00 entonces se mostrará como “DOCE MIL TRESCIENTOS CUARENTA Y CINCO EUROS CON SESENTA Y SIETE CÉNTIMOS”.

Si escribimos [NatNum12 title EUR]0,00 entonces se mostrará como “Doce Mil Trescientos Cuarenta Y Cinco Euros Con Sesenta Y Siete Céntimos”. Y [NatNum12 EUR]0,00 hará que se muestre todo en minúsculas.

Debemos observar que lo que cambia es el formato, es decir, el cómo se nos muestra el contenido de la celda; el contenido no cambia tal y como se puede ver en la barra de fórmulas (12345,67).

Y si escribimos [NatNum12 ordinal]0 nos mostrará el número como numeral ordinal, por ejemplo: 1 – primero … 19 – decimonoveno … 95 – nonagésimo quinto … etc. E igualmente podemos usar [NatNum12 upper ordinal]0, [NatNum12 title ordinal]0 y [NatNum12 capitalize ordinal]0 para que se muestre 95 como “NONAGÉSIMO QUINTO”, “Nonagésimo Quinto” y “Nonagésimo quinto” repectivamente.

Para saber mucho más visita la página Códigos de formato numérico de la ayuda online de LibreOffice Calc.

En Calc podríamos tener algo como (ver Imagen 3)

Imagen 3 (datos ficticios)

Y la celda B6 copiarla y pegarla en LibreOffice Writer como “Texto sin formato” (ver Imagen 4) para que no modifique el formato del párrafo:

Imagen 4

La fórmula que contiene la celda B6 es:

=”Conceder, con fecha ” & TEXTO(B4; “D \d\e MMMM \d\e AAAA”) & “, una subvención de capital por un importe de ” & TEXTO(B3;”0.000,00 €”) & ” (” & TEXTO(B3;”[NatNum12 EUR]0,00″) & “) a ” & MAYUSC(B2) & ” con NIF ” & MAYUSC(B1) & “.”

TEXTO(B4; “D \d\e MMMM \d\e AAAA”) devuelve “25 de enero de 2021”. Delante de la “d” y la “e” se coloca la barra invertida “\” para indicarle a Calc que deben escribirse tal cual, es decir, “de”, ya que la “d” y la “e” por sí solas tienen un significado especial para Calc.

De esta forma nos ahorramos el trabajo de tener que escribir nosotros la cantidad en letra. Interesante ¿verdad?

Caso práctico n.º 6:
Tipo de persona (física / jurídica) y forma jurídica conociendo su NIF.

En las páginas de la Agencia Estatal de Administración Tributaria (AEAT) correspondiente a personas físicas (NIF de personas físicas) como a personas jurídicas (NIF de personas jurídicas y entidades) se informa de cuál es el formato del Número de Identificación Fiscal (NIF):

  • Persona física: “Con carácter general, el número de identificación fiscal de las personas físicas de nacionalidad española será el número de su documento nacional de identidad seguido por el código de verificación (DNI) y para los que carezcan de nacionalidad española será el número de identidad de extranjero (NIE). El Ministerio del Interior es el órgano competente para su asignación.”

  • Persona jurídica: “Toda persona jurídica, así como los obligados tributarios a que se refiere el artículo 35.4 de la Ley 58/2003, de 17 de diciembre, General Tributaria tendrán un número de identificación fiscal para sus relaciones de naturaleza o con trascendencia tributaria. … El número de identificación fiscal de las personas jurídicas y entidades sin personalidad jurídica estará compuesto por nueve caracteres, …”

También en la página de la Junta de Andalucía correspondiente a MADEJA, Formatos válidos para el NIF, encontraremos información muy útil para resolver este caso práctico. (MADEJA es el Marco de Desarrollo de la Junta de Andalucía. Su misión es proporcionar un entorno que permita a todos los implicados en el desarrollo y en la explotación del software tener una referencia clara de cuáles son las directrices que han de guiar esta actividad, así como dar a conocer los recursos y herramientas que están a su disposición.)

Para este caso práctico consideraremos que todos los NIF tienen un formato válido y dejaremos para un próximo número de esta revista el comprobar si un NIF especificado tiene un formato válido o no, de acuerdo con las normas anteriores.

Con toda esta información ya sabemos que si un NIF comienza por un número o por las letras K, L, M, X, Y, Z entonces pertenecerá a una persona física, y si comienza por las letras A, B, C, D, E, F, G, H, J, N, P, Q, R, S, U, V, W entonces pertenecerá a una persona jurídica. Para facilitarnos la labor crearemos en Calc una tabla como la siguiente (Imagen 5):

Imagen 5

Para no tener que repetir en la tabla los dígitos del 0 al 9 que corresponden a una persona física de nacionalidad española le asignaremos a todos la clave “9”. ¿Cómo? Utilizaremos una fórmula como la siguiente (en la celda A2 se encuentra el NIF):

=SI(ESNUMERO(VALOR(IZQUIERDA(A2)));”9″;IZQUIERDA(A2))

Que quiere decir que si es un número el primer carácter por la izquierda del NIF devuelva “9” y, en caso contrario, que devuelva ese primer carácter.

Luego usaríamos esa fórmula dentro de la función BUSCARV, que ya hemos visto en otros artículos, para conocer el tipo de persona y la forma jurídica (Imagen 6):

Imagen 6

T_FORMA_JURIDICA es el rango de celdas donde se encuentra la tabla donde busca, en este caso sería $NOMBRE_HOJA.$A$2:$C$25 (ver Imagen 5).

Si BUSCARV devuelve “#N/D” quiere decir que ese primer carácter no se encuentra en la tabla y, por tanto, podemos deducir que no se corresponde a un NIF español.

Recordad que como verdaderamente se aprende las cosas es con la práctica, así que, practicad.

Este artículo se ha escrito utilizando LibreOffice Writer, Calc e Impress versión 6.4.7 para entornos corporativos (anteriormente llamada “estable”).

 


Si te ha gustado este artículo, encontrarás más contenidos interesantes en nuestra sección TECNOLOGÍA PRÁCTICA.

Y no dejes de ver qué tenemos publicado en los distintos números de EnRed@2.0.