Aumentar la productividad con estos Scripts para las Hojas de Calculo de Google

¿Sabía usted que la suite de productos en Google Drive, especialmente la hoja de cálculo, puede tener una serie funcionalidades con los scripts personalizados? Estos scripts pueden sustancialmente mejorar su productividad durante el uso de la hoja de cálculo de Google, y es relativamente fácil de modificar los scripts existentes o incluso crear uno propio!

Si utiliza una aplicación de hoja de cálculo para recopilar datos, a continuación, dejo unos scripts personalizados podrían ser de mucha ayuda.

Cómo utilizar secuencias de comandos


Antes de empezar a usar los siguientes scripts de hojas de cálculo de Google, es importante saber cómo agregar y usarlos.

1. Para agregar una secuencia de comandos, tendrá que iniciar sesión en Google Drive, ir a una hoja de cálculo, seleccione Herramientas - Editor de secuencias de comandos.


2. Copia y pega el código de secuencia de comandos y, a continuación, haga clic en Guardar .
3. Para ejecutar el script, sólo tiene que ir a Herramientas - Administrador de secuencias de comandos y seleccione la función que desee. El nombre de la función, corresponde con el nombre en la primera línea del script, es decir RemoveDuplicates función () resulta en la secuencia de comandos que se llaman Remove Duplicates .

Eliminar duplicados

Si está trabajando con una gran hoja de cálculo que pueda tener información repetida, y quiere eliminar esas entradas duplicadas (en función del contexto de su trabajo). El código de script para esto es la siguiente:

function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row.join() == newData[j].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}


Con un poco de investigación, estoy seguro de que esta secuencia de comandos también puede ser ajustado para contar el número de veces que una entrada se duplica, o incluso contar las entradas primero y luego eliminar los duplicados.

Enviar correo electrónico desde la hoja de cálculo



¿Sabía usted que también puede enviar mensajes de correo electrónico desde una hoja de cálculo? ¡Por supuesto! Por esta secuencia de comandos específicos, puede cambiar el receptor y el cuerpo del mensaje, pero el asunto es fijo. Puede modificar el código de secuencia de comandos, para aceptar una tercera columna entre el receptor y el cuerpo del mensaje. Luego, basta con modificar el número de elementos que se van a procesar en el guión, y ejecutarlo. El código de script para esto es:

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
}
}

Aplicar un Formato condicional



Una de las características más útiles de hojas de cálculo es el formato condicional - una regla personalizada en una base que cambia su formato (tales como color de relleno) en función del contenido de la celda. Funciona bien, sino que también está limitada para las celdas individuales. Si desea ampliar el formato condicional a una fila entera, por ejemplo, entonces tendrá que utilizar una secuencia de comandos.
Esto aquí es un script de ejemplo. Este script establece el color de fila en función del valor en la columna "Estado".

function setRowColors() {
var range = SpreadsheetApp.getActiveSheet().getDataRange();
var statusColumnOffset = getStatusColumnOffset();
for (var i = range.getRow(); i < range.getLastRow(); i++) { rowRange = range.offset(i, 0, 1); status = rowRange.offset(0, statusColumnOffset).getValue(); if (status == 'Completed') { rowRange.setBackgroundColor("#99CC99"); } else if (status == 'In Progress') { rowRange.setBackgroundColor("#FFDD88"); } else if (status == 'Not Started') { rowRange.setBackgroundColor("#CC6666"); } } } //Returns the offset value of the column titled "Status" //(eg, if the 7th column is labeled "Status", this function returns 6) function getStatusColumnOffset() { lastColumn = SpreadsheetApp.getActiveSheet().getLastColumn(); var range = SpreadsheetApp.getActiveSheet().getRange(1,1,1,lastColumn); for (var i = 0; i < range.getLastColumn(); i++) { if (range.offset(0, i, 1, 1).getValue() == "Status") { return i; } } }


Sin embargo, tenga en cuenta que el guion no es modificable, por lo que tendrás que cambiar los valores de la prueba (el contenido de la celda), los colores para el color de relleno, y tal vez incluso añadir o eliminar los casos que sean necesarios para su hoja de cálculo.

Conclusión
Como puede ver, los scripts pueden ser extremadamente útiles en una hoja de cálculo y Google tiene un montón de recursos y tutoriales sobre cómo editar secuencias de comandos, por lo que puede obtener todo lo necesario para hacer el trabajo.

Dicho esto, no tengas miedo de revisar la Gallery Script encontrado en el menú Herramientas. Hay un montón Scripts disponibles que pueden hacer mucho por su productividad diaria.