Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 搜索框谷歌表_Google Sheets_Script_Search Box - Fatal编程技术网

Google sheets 搜索框谷歌表

Google sheets 搜索框谷歌表,google-sheets,script,search-box,Google Sheets,Script,Search Box,我想在谷歌表搜索框。它应该是切片机的工作。需要使用该搜索框筛选的数据表 我想创建搜索框作为这个excel搜索框使用谷歌表。 这是一个模型 也许可以改进! 以下是我所做的: 步骤1:定义过滤器 你已经在照片上做了,所以我不解释是怎么做的。只需在工作表中定义过滤器 第二步:让我们扣动扳机 在开始之前,您需要注意两件事:包含搜索框的工作表的名称和执行搜索的单元格 然后转到工具脚本编辑器并粘贴以下代码: const SHEET\u NAME='Sheet1' const SEARCH_CELLS=['E

我想在谷歌表搜索框。它应该是切片机的工作。需要使用该搜索框筛选的数据表

我想创建搜索框作为这个excel搜索框使用谷歌表。 这是一个模型

也许可以改进!
以下是我所做的:

步骤1:定义过滤器 你已经在照片上做了,所以我不解释是怎么做的。只需在工作表中定义过滤器

第二步:让我们扣动扳机 在开始之前,您需要注意两件事:包含搜索框的工作表的名称和执行搜索的单元格

然后转到
工具
脚本编辑器
并粘贴以下代码:

const SHEET\u NAME='Sheet1'
const SEARCH_CELLS=['E10','E11',null]
功能OneEdit(e){
//获取版本范围和表
常数{range}=e
const sheet=range.getSheet()
//如果我们不在正确的单元格中,请返回
如果(sheet.getName()!==sheet\u NAME)返回
//让过滤器能够控制它
const filter=sheet.getFilter()
//要检查的列数
const nCols=Math.min(SEARCH_CELLS.length,filter.getRange().getWidth())
for(设i=0;iv!=value)//注意非严格等式
//设置条件以将其全部隐藏
const criteria=SpreadsheetApp.newFilterCriteria()
.setHiddenValues(hiddenValues)
.build()
filter.setColumnFilterCriteria(列,条件)
}否则{
//如果没有值,则不隐藏任何内容
filter.removeColumnFilterCriteria(列)
}
}
然后更改顶部的常数:

  • 工作表的名称
  • 所有搜索单元格的A1符号的列表。列表应按顺序排列,即第一个单元格用于第一列,第二个单元格用于第二列,依此类推。如果不想搜索该列,请将其设置为null
我试着一步一步地添加注释来解释,但请随意询问是否有不清楚或混淆的地方

(可选)步骤3:在搜索单元格中添加下拉列表 如果您希望在搜索单元格上有一个下拉列表,可以自动完成并允许您选择它,请执行此(简单)步骤

选择搜索单元格并右键单击它。转到
数据验证
。在
条件
中,从范围中选择
列表
,并添加过滤器第一列的所有值的范围。单击
保存
,您就完成了

工具书类

我也想知道这一点,我知道可以创建可以使用特定单元格的GScript代码,您可以在其旁边放置一个按钮以激活搜索功能。但如果它可以做得更容易一些,更多的内置方式,我感兴趣!你能再详细一点吗。你的图片只是显示了一个下拉框,我不清楚你想要它做什么?工作表可能可以。我想在搜索框中找到我的数据表。它应该像切片器一样工作。很抱歉,我不使用Excel。请你解释一下它是什么/它是如何工作的好吗?我需要谷歌表单搜索框。你能确定什么时候文本类型自动筛选表吗?我不知道你的意思和期望是什么,对不起。我有一些问题。我们可以更改过滤列吗。就像多列筛选选项一样。实际上,您可以
setColumnFilterCriteria
第一个参数是它是什么列。现在它总是过滤器的第一列,但可以随意添加偏移量或添加逻辑来更改它更改的内容。请注意,您还需要更改
hiddenValues
的列。您能举个例子吗?如果您告诉我您想要哪个列,我可以编辑答案。还是全部都是?我试着对每一列使用单独的过滤器。但只有一个过滤器工作。
function onEdit(e) {
  var sh = e.source.getActiveSheet()
  var cel = e.source.getActiveRange();
  var crit = [];
  var count = 0;
  if (cel.getRow()==1){
    try{
      sh.getFilter().remove();
    }
    catch(e){
    }
    for (var col=1;col<=sh.getLastColumn();col++){
      if (!sh.getRange(1,col).getValue() && sh.getRange(2,col).getValue() != ''){
        crit.push([sh.getRange(2,col).getValue()])
        count++
      }
    }
  }
  if (count != 0){
    var filter = sh.getRange('A4:J').createFilter();
      var criteria = SpreadsheetApp.newFilterCriteria()
        .setHiddenValues(crit)
        .build();
    filter.setColumnFilterCriteria(1, criteria);
  }
};
=transpose(unique(A5:A))