Google apps script 电子表格中的当前值过滤器?
类似于这里的问题 提前谢谢你,抱歉英语不好 加----------------- 1myhiddendata=[,'a','c','d'] 数组变量?如何输出 2补偿-4,0-4?目标: 隐藏列过滤器中除当前选定单元格中的值以外的所有其他值,或仅显示与当前单元格相等的元素 流量: 获取当前列中的所有值 使用Arrayreduce筛选出与当前单元格值匹配的所有值 仍不支持使用.setHiddenValues将筛选后的数组hiddenValues设置为setVisibleValues。 片段:Google apps script 电子表格中的当前值过滤器?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,类似于这里的问题 提前谢谢你,抱歉英语不好 加----------------- 1myhiddendata=[,'a','c','d'] 数组变量?如何输出 2补偿-4,0-4?目标: 隐藏列过滤器中除当前选定单元格中的值以外的所有其他值,或仅显示与当前单元格相等的元素 流量: 获取当前列中的所有值 使用Arrayreduce筛选出与当前单元格值匹配的所有值 仍不支持使用.setHiddenValues将筛选后的数组hiddenValues设置为setVisibleValues。 片段: 我
我同意。谢谢。请分享一份你的工作表,上面有你想要的输出的例子。很难理解你想要什么。请按照player0的建议共享您的电子表格,或者尝试用其他方式解释您的筛选器应该执行的操作。因此,是否要隐藏列spreadsheet.getActiveRange.getColumn中条目为“a”、“c”或“d”的所有行?或者要隐藏与当前行偏移量为-4的行?有时-->
I want
(1,A)=data
(2,A)=a
(3,A)=b
(4,A)=c
(5,A)=b
(6,A)=d
CurrentCell(3,A) ---> execute --> output (2,A)=b,(3,A)=b
function Spreadsheet_CurrentValue_Filter() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getCurrentCell().offset(-4, 0).activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['', 'a', 'c', 'd'])
.build();
spreadsheet.getActiveSheet().getFilter()
.setColumnFilterCriteria(spreadsheet
.getActiveRange()
.getColumn(), criteria);
}
function Spreadsheet_CurrentValue_Filter() {
var spreadsheet = SpreadsheetApp.getActive(),
sheet = spreadsheet.getActiveSheet();
var currCell = sheet.getCurrentCell(),
currCellValue = currCell.getValue(),
currCol = currCell.getColumn(),
allValues /**all values in current column */ = sheet
.getRange(1, currCol, sheet.getLastRow(), 1)
.getValues();
/*Get hidden values as a 1D array from 2D array allValues*/
var hiddenValues = allValues.reduce(function(acc, [row]) {
if (!(row === currCellValue)) {
acc.push(row);
}
return acc;
}, []);
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(hiddenValues)
.build();
sheet.getFilter().setColumnFilterCriteria(currCol, criteria);
}