我想从我的Google表格中检查JSON URL中的值与定义范围内的值。如何在Google表格中检查一个值与另一个值,然后使用匹配的值查询单元格的属性?
如果有一场比赛,我想谷歌Apps脚本内查询包含匹配值的单元格的属性(其行,其列等)
我怎样才能做到这一点?
我想从我的Google表格中检查JSON URL中的值与定义范围内的值。如何在Google表格中检查一个值与另一个值,然后使用匹配的值查询单元格的属性?
如果有一场比赛,我想谷歌Apps脚本内查询包含匹配值的单元格的属性(其行,其列等)
我怎样才能做到这一点?
没关系。自己得到了我的回答。
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);
您需要了解的有关Apps Script中的电子表格操作的所有信息均可在Overview and SpreadsheetApp中找到。你可以从那里开始。例如,查询行和列等属性的方法是getRow和getColumn
你尝试过什么了吗?你能提供一些样本数据和期望的结果吗? –
[这是一些示例数据。](http://api.icndb.com/jokes/random)[这是一个包含通过webhook发现的一些短语的电子表格。](https://docs.google.com/spreadsheets/d/1g2U8CQT8ukqp6e5slSfhmVKih8UZ1WiUmzb1c-Gx0ug/edit?usp = sharing)我试过通过Zapier集成完成我的问题,但发现它太有限了,因为它无法逐个单元地进行。所需的结果是将JSON中的短语与表单匹配,然后使用匹配单元格的行和列来帮助定义要写入/追加新数据的单元格。 –