Javascript 一个值的Google脚本筛选器范围
我想过滤google工作表范围中只在第1列中包含特定值“Bob”的行。到目前为止,我的代码允许我过滤出列1中包含Bob的行。我需要相反,我想返回列1中只有“Bob”的行。因此,过滤器设置不是隐藏值或类似的内容Javascript 一个值的Google脚本筛选器范围,javascript,google-apps-script,google-sheets,google-sheets-api,Javascript,Google Apps Script,Google Sheets,Google Sheets Api,我想过滤google工作表范围中只在第1列中包含特定值“Bob”的行。到目前为止,我的代码允许我过滤出列1中包含Bob的行。我需要相反,我想返回列1中只有“Bob”的行。因此,过滤器设置不是隐藏值或类似的内容 “filterSettings['criteria'][columnIndex]=!{'hiddenValues':[filterCriteria]” 我的查询类似于,但我不想排除带有筛选条件的行,我希望这些是唯一剩余的行 代码.gs var ss = SpreadsheetApp.get
“filterSettings['criteria'][columnIndex]=!{'hiddenValues':[filterCriteria]” 我的查询类似于,但我不想排除带有筛选条件的行,我希望这些是唯一剩余的行 代码.gs
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterCriteria = 'Bob';
var filterSettings = {};
filterSettings.range = {
sheetId: ss.getSheetByName('Sheet1').getSheetId()
};
filterSettings.criteria = {};
var columnIndex = 0;
filterSettings['criteria'][columnIndex] = {
'hiddenValues': [filterCriteria]
};
var request = {
setBasicFilter: {
filter: filterSettings
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
在您的示例中,您希望排除除“Bob”之外的值。如果我的理解是正确的,那么这次修改如何 修改点:
- 使用
来类型
。过滤标准
为类型
。值为“Bob”文本_包含
- 这样,只剩下包括“Bob”在内的值
- 这个修改过的脚本假设您可以使用Sheets API
如果我误解了你的问题,请告诉我。我想修改它。@Derek Morgan我很高兴你的问题得到解决。也谢谢你。你好,Tanaike!我正在阅读此回复,但这对我来说是非常新的(解决此问题的方法和此类代码).问题:如何使用从该脚本获得的数据?如何将其复制到其他工作表?我可以将其插入脚本中,但我不知道如何访问结果。这是Javascript吗?Thanks@Luis阿尔贝托·德尔加多·德拉弗洛感谢您的评论。我愿意支持您。但不幸的是,我无法理解您的情况。在为了了解这个问题,你能通过添加详细信息将其作为新问题发布吗?这样,它将帮助包括我在内的用户思考问题和解决方案。如果你能合作解决你的问题,我很高兴。@Tanaike感谢你的回复。我刚刚对此进行了一些研究,我发现这是“元数据”,是世卫组织成员le new world for me.我正在阅读一些关于它的博客,发现在我的工作表上创建一些CRUD类操作很有用。我会继续阅读,并提出一个问题(如果有的话):)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterCriteria = {"type":"TEXT_CONTAINS","values":[{"userEnteredValue":"Bob"}]}; // Modified
var filterSettings = {};
filterSettings.range = {sheetId: ss.getSheetByName('Sheet1').getSheetId()};
filterSettings.criteria = {};
var columnIndex = 0;
filterSettings['criteria'][columnIndex] = {'condition': filterCriteria}; // Modified
var request = {setBasicFilter: {filter: filterSettings}};
Logger.log(JSON.stringify({'requests': [request]}))
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());