👉 Análisis de ayuda internacional con Python: dataset OECD + notebook listo para usar

Imagen
🌍 Análisis de ayuda internacional con Python: dataset OECD + notebook listo para usar En el mundo de las relaciones internacionales, uno de los temas más relevantes —y a la vez menos comprendidos— es cómo se distribuyen los recursos destinados al desarrollo global. ¿Quién financia estos proyectos? ¿A qué países se dirigen los recursos? ¿Qué regiones reciben mayor apoyo? Para responder estas preguntas, realicé un análisis utilizando datos abiertos de la Organisation for Economic Co-operation and Development (OECD), específicamente del dataset Country Programmable Aid (CPA) , parte de los registros de Official Development Assistance (ODA) . 📊 El reto de trabajar con datos reales Uno de los principales aprendizajes de este análisis es que los datos del mundo real no vienen listos para usarse. Columnas desalineadas Registros inconsistentes Valores mezclados en campos clave Formatos que requieren limpieza Por esta razón, una parte fundamental del proyecto fue el proceso de lim...

📊 Macros en Google Sheets: Automatización y Ejemplos Prácticos

Google tiene  una versión gratuita para Hojas de cálculo mejor conocidas por el software más utilizado del mundo Excel de Microsoft, en días anteriores tenía que crear una plantilla en Google Sheets pero tenía que hacer lo mismo que hacía mi plantilla en Excel, solo que mi plantilla tiene macros y de ahí el tema de hoy: explicarles como es que pueden incorporar macros en Google Sheets.

Ejemplo de macro en Google Sheets para automatizar tareas en hojas de cálculo.


  1. Primer paso entender la lógica de mi programa, cuales eran los pasos en visual basic.
  2. Pensé que lo mas fácil era hacer una traducción del código de mi macro al código de Google Sheet, así que abrí mi macro de Excel y comencé buscar como se llamaban las instrucciones y buscar en Google la instrucción de equivalencia.
  3. Comenzar a probar cada línea que agregaba, para ver que hicieran la funcionalidad que yo quería.
  4. Mejorar la macro de Visual Basic.

El resultado final es 


Como nota adicional si quieres grabar sus vídeos como el que muestre, solo tienen que utilizar Power Point
https://support.microsoft.com/es-es/office/recortar-un-v%C3%ADdeo-1fc386f2-8404-43e8-9dbd-fee3a11a1d8f#:~:text=Para%20guardar%20una%20copia%20independiente,un%20nivel%20de%20compresi%C3%B3n%20adecuado.

El código que utilice

/** @OnlyCurrentDoc */


function Calcular_consolidado_periodo() {

 var vcperiodo =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange("M2").getValue();

  SpreadsheetApp.getUi().alert(vcperiodo);

 var vifilain = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var vifila = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getLastRow() ;

 var indcat = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getLastRow() ;

 var vctotal = 0;

 var vifila2 = 3;

 var indicecat = 1; 

 var categoria = "";

 vifila = vifila + 1;

  

  do{

     categoria = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Categorias").getRange(indicecat, 1).getValue()

     SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).setValue(categoria);

     indicecat = indicecat + 1;

      vifila = vifila + 1;

  }while(indicecat < indcat);

  

  vifila = vifilain;

  vifila = vifila + 1;

  

  do {


     vifila2 = 3

     vctotal = 0

     

     do{

       if (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() == vcperiodo &&

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 2).getValue() ==  

           SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue())

       {

          var valor = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 4).getValue();

          vctotal = vctotal + valor;

       }         

       vifila2 = vifila2 + 1

     }while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Plantilla").getRange(vifila2, 5).getValue() != "");

    

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 1).setValue(vcperiodo);

       SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 3).setValue(vctotal);

       

       vifila = vifila + 1 ;

} while (SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Resumen").getRange(vifila, 2).getValue() != "" );

  

};

El código de la Macro en Excel vs Google Sheets

Ejemplo de macro en Google Sheets para automatizar tareas en hojas de cálculo.

El tema me parece muy interesante, porque también como veíamos en otro post previo TypeScript el nuevo lenguaje utilizado para programar macros online Typescript el sustituto de VB también esta basado en Javascript, cada vez veo más aplicaciones a este lenguaje.

Espero esta pagina les sea de utilidad, nos sigan, nos compartan en este blog o en la página de Facebook https://www.facebook.com/Programacionparatodosmsg/

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

API de banxico para obtener tipo de cambio utilizando Javascript

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)