Quitar saltos de línea y espacios dobles en LibreOffice 6 Writer

Es posible que haya pasado con más de un procesador de texto: copias algo de un pdf o de una web, lo pegas y te queda hecho un cristo el pegado, con algunos espacios dobles y con saltos de línea absurdos. ¿Cómo se arregla esto? Pues aquí te cuento.

Quitando saltos de línea:

  1. Vamos a Herramientas -> Corrección Automática ->Opciones de Corrección Automática
  2. En la pestaña de Opciones marcamos Combina los párrafos de una línea a partir de 50%. Haciendo doble click podemos modificar el porcentaje. Una vez marcado pulsamos Aceptar.
  3. Seleccionamos el texto que queremos corregir
  4. En el cuadro Aplicar Estilo de la barra de Formato, escogemos el valor Estilo Predeterminado.
  5. Después vamos a Herramientas -> Corrección Automática -> Aplicar.
  6. Es posible que nos queden todavía líneas mal tras este cambio masivo. Nos vamos a Editar-> Buscar y Reemplazar. Allí expandimos el botón de Más Opciones y marcamos la casilla Expresiones Regulares.
  7. Ponemos tanto en el cuadro de Buscar como en el de Sustituir la cadena \n. Esto cambiará los saltos de párrafo heredados por saltos de línea acordes a nuestro formato tan pronto le demos a Sustituir Todo.

Quitar espacios dobles:

  1. Nos vamos a Editar-> Buscar y Reemplazar.
  2. En el cuadro de Buscar ponemos dos espacios
  3. En el cuadro de Sustituir pones un solo espacio.
  4. Le damos a Sustituir Todo.

LibreOffice Calc: Proteger documentos

La suite ofimática LibreOffice, en su programa de hoja de cálculo Calc, nos ofrece la opción de proteger nuestros ficheros a varios niveles: a nivel de fihcero, a nivel de hoja y a nivel de libro. Veamos cómo hacerlo ahora:

A nivel de fichero: Pulsamos Archivo->Guardar Como y allí, a la hora de guardar podemos marcar la casilla Guardar con Contraseña. También tenemos la opción de utilizar una clave pública para cifrado marcado Cifrar con clave GPG.

A nivel de Hoja: Nos vamos a Herramientas->Proteger Hoja… y nos abrirá un menú donde introducir una contraseña y donde asignar qué podrán hacer los usuarios sin ella.

A nivel de libro: Nos vamos a Herramientas->Proteger Estructura de Libro… y allí definimos una contraseña que será obligatoria para poder modificar la estructura del mismo.

Importar datos de una hoja de cálculo de Google Drive a otra con IMPORTRANGE()

En los últimos tiempos casi todos los artículos técnicos están siendo de ofimática y, más en concreto, de Google Drive. Y esta nueva entrega sigue por ahí: ¿podemos importar datos de una hoja de cálculo a otra en Google Drive? Pues sí, podemos.

La función IMPORTRANGE() se encarga de ello, recibiendo dos parámetros (dos cadenas de texto, por tanto se les envían siempre entre comillas dobles): el primer parámetro será la URL de la hoja de cálculo donde está el origen de los datos, el segundo será una cadena donde especificamos la hoja y el rango de celdas a recoger. La sintaxis es tal que así:

=IMPORTRANGE("UrlDeLaHojaDeCálculo";"NombreDeLaHoja!CeldaInicio:CeldaFin")

Os voy a dejar un ejemplo más o menos real. Tengo una hoja de cálculo donde voy guardando los discos que añadiré a la próxima revisión de los 1100 discos esenciales (cuando crezca hasta 1250, dentro de unos meses). Ahora voy a importar de esa tabla las dos primeras columnas de las 20 primeras filas. Lo haría así:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1QqGx-f4jC3ZHi1jkSa9eY9_vY-OiClXJ1nKTDwleVpfh3I/";"Hoja 1!A1:B20")

Otro dato importante: por seguridad la primera vez que importemos los datos se nos solicitará conceder permisos explícitamente sobre la hoja de origen. Una vez concedidos, la hoja de cálculo de destino podrá extraer datos de cualquier parte de la hoja de origen hasta que el permiso se revoque también de forma explícita.

Importar datos desde una web a una hoja de cálculo de Google Drive

Seguimos con el tema de la ofimática y con las hojas de cálculo de Google Drive, que parece ser un material que os interesa. Hoy vamos a ver una función muy útil aunque un poco liosa: Con IMPORTHTML() podemos importar a la hoja tablas o listados de una web.

La función recibe tres parámetros: el primero, como es lógico, es la URL de la página desde la que queremos importar los datos, irá entre comillas dobles por ser una cadena de texto. El segundo, el formato que queremos importar (puede ser “table” para tablas o “list” para listas”. Finalmente el tercero es un índice para indicar qué tabla quieres traer si hay varias dentro de la web, algo que puede ser lioso ya que a veces vamos “a ciegas” y puede que necesitemos varios ensayos de prueba y error hasta traer el dato que queremos. Por tanto la sintaxis sería tal que así:

=IMPORTHTML (dirección url; tipo de listado; índice numérico)

Vamos con un caso práctico, seguro que recuerdas que en su día vimos como exportar datos desde la web Basketball-Reference a formato Excel. Ahora vamos a hacer lo mismo pero usando directamente esta fórmula en una hoja de Google Drive:

=IMPORTHTML("https://www.basketball-reference.com/players/s/smithjr01.html";"table";1)

La línea de arriba importaría la primera tabla de la ficha de JR Smith, es decir, sus promedios en temporada regular. El resultado sería tal que así:

La función DETECTLANGUAGE() en la hoja de cálculo de Google Drive

Si no hace mucho veíamos cómo usar la función GOOGLETRANSLATE() para traducir el texto en una celda de una hoja de cálculo de Google Drive tenemos una opción similar: detectar el idioma de una celda.

Para eso nos serviremos de la función DETECTLANGUAGE(), que recibe como parámetro una cadena de texto y devuelve el código del idioma que corresponda. Tal que así:

=DETECTLANGUAGE(“Olá, bom dia”) por ejemplo nos devolvería el código “PT” de portugués.

Importar datos de mercados bursátiles en una hoja de cálculo de Google Drive con la función GOOGLEFINANCE

Ayer veíamos cómo usar la función GOOGLETRANSLATE() en una hoja de cálculo de Google Drive. Hoy vamos con otra función curiosa que nos permite usar otro servicio de Google: la función GOOGLEFINANCE().

La función GOOGLEFINANCE() recibe cinco parámetros, aunque solo es obligatorio el primero que sería el código del valor que queremos consultar. Tras eso definiríamos el atributo que queremos mostrar, una fecha de inicio para recuperar los datos históricos, una fecha de fin o número de días y finalmente si queremos ver el intervalo diario o semanal. Todos estos valores deben ser cadenas de texto entre comillas o referencias a celdas con texto. Si invocamos la función mandando solo el código veríamos el precio de dicha valor en tiempo real (si el mercado en el que cotiza lo permite, pues no hay soporte para todos los mercados).

El parámetro opcional con el atributo que queremos mostrar permite varias opciones, según consultemos datos históricos, en tiempo real o de fondos de inversión. Si no se especifica parámetro el valor por defecto es “price“. Si se especifica un rango de fechas entonces este parámetro es obligatorio.

Si se especifican parámetros de fecha, la solicitud se considera histórica y solo se admiten atributos históricos . Cuando trabajamos con datos históricos los valores que podemos mandar como atributo son los siguientes:

  • open: Es el precio de apertura en la fecha o el rango definidos.
  • close: Es el precio al cierre en la fecha o el rango definidos.
  • high: Es el precio máximo durante la fecha o el rango definidos.
  • low: Es el precio mínimo durante la fecha o el rango definidos.
  • volume: Es el volumen de mercado en la fecha o el rango definidos.
  • all: Sacaría todos los anteriores.

Aquí un ejemplo donde consultamos la cotización de Microsoft en el índice NASDAQ durante el primer trimestre de 2019, usando la función con estos parámetros: =GOOGLEFINANCE(“MSFT”;”all”;”01/01/2019″;”01/04/2019″;”WEEKLY”)

El resultado que nos daría sería el siguiente:


=GOOGLEFINANCE(“MSFT”;”all”;”01/01/2019″;”01/04/2019″;”WEEKLY”)

Los resultados en tiempo real se muestran como un valor en una única celda, y no todos los datos están disponibles para todos los símbolos. Para valores en tiempo real los posibles atributos a visualizar son los siguientes:

  • price: Es la cotización en tiempo real, con un retraso de hasta 20 minutos. Si no se especifica un atributo este es el valor que se tomará por defecto.
  • priceopen: Es el precio a la hora de apertura del mercado.
  • high: Es el precio máximo del día, hasta la hora actual.
  • low: Es el precio mínimo del día, hasta la hora actual.
  • volume: Es el volumen de transacciones del día actual.
  • marketcap: Es la capitalización del valor en el mercado.
  • tradetime: Es la hora de la última transacción.
  • datedelay: Es el retraso de los datos respecto de los datos en tiempo real.
  • volumeavg: Es el volumen medio diario de transacciones.
  • pe: Sería la relación entre precio y beneficio.
  • eps: Es la ganancias por acción.
  • hight52: Es el precio máximo en las últimas 52 semanas.
  • low52: Es el precio mínimo en en las últimas 52 semanas.
  • change: Es la variación del precio desde el cierre del día de mercado anterior.
  • beta: Se trata de el valor beta.
  • changepct: Es la variación porcentual del precio desde el cierre del día de mercado anterior.
  • closeyest: Es el precio al cierre del día anterior.
  • shares: Es el número de acciones emitidas.
  • currency: Indica la divisa en la cual se expresa el precio del valor.

Y para fondos de inversión los valores que podríamos usar serían:

  • closeyest: Es el precio al cierre del día anterior.
  • date: Es la fecha de comunicación del valor neto del activo.
  • returnytd: Es el retorno obtenido durante el año hasta la fecha.
  • netassets: Son los activos netos.
  • change: Es la variación entre el último valor del activo comunicado y el valor inmediatamente anterior.
  • changepct: Es la variación porcentual del valor neto del activo.
  • yieldpct: Es el rendimiento de distribución.
  • returnday: Es el retorno total en un día.
  • return1: Es el retorno total en una semana.
  • return4: Es el retorno total en cuatro semanas.
  • return13: Es el retorno total en trece semanas.
  • return52: Es el retorno total en 52 semanas (anual).
  • return156: Es el retorno total en 156 semanas (3 años).
  • return260: Es el retorno total en 260 semanas (5 años).
  • incomedividend: Es el importe de la distribución de efectivo más reciente.
  • inconmedividenddate: Es la fecha de la distribución de efectivo más reciente.
  • capitalgain: Es el importe de la distribución de ganancias de capital más reciente.
  • morningstarrating: Es la valoración en “estrellas” de la firma Morningstar.
  • expenseratio: Es el coeficiente de gastos del fondo.

Además de valores bursátiles también podemos conseguir la tasa de cambio entre dos monedas. Para ello debemos usar como parámetro una cadena de texto con el nombre de ambas divisas, juntas. En el ejemplo de abajo puedes ver como pasar de euros a dólares:

=GOOGLEFINANCE(“EURUSD”)

Esto nos devolverá la diferencia de valor entre las dos monedas, por lo que si queremos convertir una cantidad de una moneda a otra nos bastará con multiplicar. Por ejemplo, para convertir 200 euros a dólares sería así:

=GOOGLEFINANCE(“EURUSD”)*200

Usar Google Translate en una fórmula de la hoja de cálculo de Google Drive.

Es posible que ya hayas visto y usado el complemento de traducción automática del procesador de textos de Google Drive. Que básicamente hace uso de su herramienta Google Translate para traducir todo el documento. Pero ¿sabías que también puedes usar Google Translate como una fórmula de la hoja de cálculo de Google Drive?

La función a invocar sería GOOGLETRANSLATE(), recibiendo tres parámetros: el texto a traducir (o la celda en la que está ese texto), el idioma de origen y el idioma al que queremos traducirlo. Por ejemplo, para traducir la celda A1 de inglés a castellano sería:

=GOOGLETRANSLATE(A1;"en";"es")

Aquí os dejo una captura de pantalla de una prueba: