¿Hay alguna manera de que podamos dividir la tabla principal a continuación en tablas más pequeñas y enviarlas por correo electrónico (gmail) al correo electrónico correspondiente en la primera columna?
| Correo electrónico del banco | Nombre del cliente | Años | Banco con |
|---|---|---|---|
| banco1@hotmail.com | Cliente 1 | 19 | Banco 1 |
| banco1@hotmail.com | Cliente 2 | 32 | Banco 1 |
| banco1@hotmail.com | Cliente 3 | 22 | banco 1 |
| banco2@hotmail.com | Cliente 4 | 34 | Banco 2 |
| banco2@hotmail.com | Cliente 5 | 22 | Banco 2 |
| banco1@hotmail.com | Cliente 5 | 28 | Banco 3 |
Por ejemplo, ¿enviar la siguiente tabla como gmail al correo electrónico del banco 1?
| Nombre del cliente | Años | Banco con |
|---|---|---|
| Cliente 1 | 19 | Banco 1 |
| Cliente 2 | 32 | banco 1 |
| Cliente 3 | 22 | Banco 1 |
y debajo al correo electrónico del banco 2 (lo mismo con el banco 3)?
| Nombre del cliente | Años | Banco con |
|---|---|---|
| Cliente 4 | 34 | Banco 2 |
| Cliente 5 | 22 | Banco 2 |
¡Gracias!
Puedes probar esto. Te dejo a ti ajustar el estilo a tu gusto. Edité esto para agregar la primera parte. Clasificación de los clientes.
function test() { try { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getSheetByName("Sheet2"); // dont get header var data = sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).getValues(); var banks = []; data.forEach( row => banks.push(row[0]) ); banks = [...new Set(banks)]; var results = []; function addClient(row) { var i = banks.indexOf(row[0]); if( results[i] === undefined ) results[i] = []; row.shift(); results[i].push(row); } data.forEach( addClient ); results.forEach( (bank,index) => createTable(banks[index],bank) ); } catch(err) { console.log(err); } } function createTable(email,data) { try { var table = "<table style='border-width:thin;border-style:solid;border-color:black'>"; function addCell(value) { table = table.concat("<td style='border-width:thin;border-style:solid;border-color:black;width:20px'>"); table = table.concat(value.toString()); table = table.concat("</td>"); } function addRow(row) { table = table.concat("<tr>"); row.forEach( addCell ); table = table.concat("</tr>"); } data.forEach( addRow ) table = table.concat("</table>") console.log(table); MailApp.sendEmail( { to: "thewized@gmail.com", subject: "Test", htmlBody: table }); } catch(err) { console.log(err); } }