2017-07-07 1 views
0

Je souhaite vérifier les valeurs d'une URL JSON par rapport aux valeurs d'une plage définie dans ma feuille Google.Comment puis-je vérifier une valeur par rapport à une autre valeur dans ma feuille Google, puis interroger les propriétés de la cellule avec la valeur correspondante?

En cas de match, je voudrais interroger les propriétés de la cellule contenant la valeur correspondante (sa ligne, sa colonne, etc.)

Comment puis-je faire dans Google Apps Script?

+0

Qu'avez-vous déjà essayé? Pouvez-vous fournir des exemples de données et le résultat souhaité? –

+0

[Voici quelques exemples de données.] (Http://api.icndb.com/jokes/random) [Voici une feuille de calcul contenant certaines phrases trouvées dans ce webhook.] (Https://docs.google.com/spreadsheets/d/1g2U8CQT8ukqp6e5slSfhmVKih8UZ1WiUmzb1c-Gx0ug/edit? usp = partage) J'ai essayé d'accomplir ma question par le biais des intégrations Zapier, mais je l'ai trouvé trop limité car il ne peut pas fonctionner cellule par cellule. Le résultat souhaité serait de faire correspondre les phrases du JSON à la feuille, puis d'utiliser la ligne et la colonne de la cellule correspondante pour définir à quelle cellule écrire/ajouter de nouvelles données. –

Répondre

0

Ne faites jamais attention. Je suis arrivé à ma réponse moi-même.

var i = 0; 
 

 
// Bringing in the data from the third-party into Google Sheets. 
 
var groupJSON = UrlFetchApp.fetch('<ANY-JSON-URL>'); 
 
var groupObjectRaw = JSON.parse(groupJSON); 
 
// var groupObject = groupObjectRaw[0]; <--optional, for my use only 
 

 
var membersGroupForm = groupObject.data['member']; 
 
var projectsGroupForm = groupObject.data['project']; 
 
var hoursGroupForm = groupObject.data['hours worked']; 
 

 
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Details'); 
 

 
var membersRange = ss.getRange('Details!A:A'); 
 
var membersSheet = membersRange.getValues(); 
 

 
var projectsRange = ss.getRange('Details!1:1'); 
 
var projectsSheet = projectsRange.getValues(); 
 

 
function getRowNumber() { 
 
    for (i; i < membersSheet.length; i++) { 
 
    if (membersSheet[i][0] == membersGroupForm) { 
 
     return i + 1; 
 
    } 
 
    } 
 
} 
 

 
var rowNumber = getRowNumber(i, membersSheet, membersGroupForm); 
 
Logger.log(rowNumber); 
 

 
function getColumnNumber() { 
 
    for (var row in projectsSheet) { 
 
    for (var col in projectsSheet[row]) { 
 
     if (projectsSheet[row][col] == projectsGroupForm) { 
 
     return parseInt(col) + 1; 
 
     } 
 
    } 
 
    } 
 
} 
 

 
var columnNumber = getColumnNumber(projectsSheet, projectsGroupForm); 
 
Logger.log(columnNumber); 
 

 
var cell = ss.getRange(rowNumber, columnNumber); 
 
cell.setValue(hoursGroupForm);

0

Tout ce que vous devez savoir sur les opérations de feuille de calcul dans Apps Script se trouve dans Overview and SpreadsheetApp. Vous pouvez commencer à partir de là. Par exemple, les méthodes pour interroger les propriétés telles que row et col sont getRow et getColumn