- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个电子表格模板,供人们存储有关 Pokemon 系列的数据。人们主要有两种方式对他们的口袋妖怪进行排序,按字母顺序和数字顺序,我想同时满足这两种方式,以便与其他人的电子表格进行轻松比较。我还想让人们轻松隐藏目前不在他们收藏中的口袋妖怪。问题是电子表格的大小和工作表的数量。使问题进一步复杂化的是汇总 list 页面,该页面引用了大多数其他页面的数据。更复杂的是,我想在按数字排序时将数据分成七个带有标题行的部分,但在按字母顺序排序时想隐藏标题行。我试过:
1) 使用脚本遍历每个工作表并隐藏第 2 列中未标记为“FT”(贸易)的所有条目。(第 1 列是隐藏索引,便于引用页面使用)。工作表太大,一次隐藏每一行需要很长时间,脚本在完成执行之前超时。如果我一次隐藏所有这些并一次显示我想要的行,则会出现同样的问题
2) 使用过滤器 View ,以便只有 View 的用户可以随意打开和关闭它们。这是次优的,因为用户必须单独切换每个页面,但即使在 list 页面上使用过滤器会导致它中断,因为它引用其他页面上的单元格,因此必然在过滤器之外
我没有尝试通过脚本使用过滤器,但我不知道如何在不破坏 list 和它必须引用的无数页面之间的单元格到单元格的相关性的情况下做到这一点。我确实研究过通过脚本使用过滤器 VIEW,但是 API 还不支持它。
以下是具有开放编辑权限的电子表格副本的链接。有很多要解释的,所以可能需要查看:
https://docs.google.com/spreadsheets/d/1NpsabimIJ4T_ZoeSxaq_dk6ZkIoHey2Dl6U3LGpVTc4/edit?usp=sharing
有没有一种好方法可以隐藏未标记为“FT”且不会超时或破坏我的公式的行?以下是我已经尝试过但耗时过长的脚本。他们每个人都有一个逆转他们影响的双胞胎:
function browseMode() {
var spreadsheet = SpreadsheetApp.getActive();
var sheets = spreadsheet.getSheets();
var sheet = sheets[2];
var range = sheet.getRange("B3:B392");
var data = range.getValues();
sheet.hideRow(range);
for (var i = 0; i < 390; i++) {
if (data[i][0] == "FT") sheet.showRows(i+3);
}
for (var i = 3; i <= 26; i++) {
sheet = sheets[i];
range = sheet.getRange("B5:B76");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 72; j++) {
if (data[j][0] == "FT") sheet.showRows(j+5);
}
range = sheet.getRange("B78:B128");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 51; j++) {
if (data[j][0] == "FT") sheet.showRows(j+78);
}
range = sheet.getRange("B130:B192");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 63; j++) {
if (data[j][0] == "FT") sheet.showRows(j+130);
}
range = sheet.getRange("B194:B226");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 33; j++) {
if (data[j][0] == "FT") sheet.showRows(j+194);
}
range = sheet.getRange("B228:B300");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 73; j++) {
if (data[j][0] == "FT") sheet.showRows(j+228);
}
range = sheet.getRange("B302:B339");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 38; j++) {
if (data[j][0] == "FT") sheet.showRows(j+302);
}
range = sheet.getRange("B341:B380");
data = range.getValues();
sheet.hideRow(range);
for (var j = 0; j < 40; j++) {
if (data[j][0] == "FT") sheet.showRows(j+341);
}
}
sheet = sheets[27]
range = sheet.getRange("B3:B104");
data = range.getValues();
sheet.hideRow(range)
for (var i = 0; i < 102; i++) {
if (data[i][0] == "FT") sheet.showRows(i+3);
}
}
function sortAlphabetically() {
var spreadsheet = SpreadsheetApp.getActive();
var sheets = spreadsheet.getSheets();
var sheet = sheets[1];
sheet.hideRows(4);
sheet.hideRows(77);
sheet.hideRows(129);
sheet.hideRows(193);
sheet.hideRows(227);
sheet.hideRows(301);
sheet.hideRows(340);
sheet.getRange("A4:AB380").sort(2);
sheets[2].getRange("A3:AG392").sort(3);
for (var i = 3; i <= 26; i++) {
sheet = sheets[i];
sheet.hideRows(4);
sheet.hideRows(77);
sheet.hideRows(129);
sheet.hideRows(193);
sheet.hideRows(227);
sheet.hideRows(301);
sheet.hideRows(340);
sheet.getRange("A4:AB380").sort(3);
}
sheets[27].getRange("A4:AN104").sort(3);
}
感谢您花时间阅读本文,如果这与另一个问题相似,请原谅我,我是新来的,虽然我在论坛上搜索了类似的问题但没有找到任何问题,但我不确定我知道要寻找什么或如何寻找。
最佳答案
首先,为 hideRows()
创建一个映射。使用此映射,运行 hideRows()
。这样一来,我认为时间成本和脚本成本就会降低。如果我误解了你的问题,我很抱歉。如果出现错误,请告诉我。
您将如何使用 about sortAlphabetically()
?
示例脚本:
function browseMode(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for (var s=3; s<sheets.length; s++) {
var sheet = ss.getSheets()[s];
try {
var data = sheet.getRange(1, 2, sheet.getLastRow(), 1).getValues();
} catch(e) {} // If there are no data in the sheet, do nothing.
var c1 = 0;
var hrow = [];
data.forEach(function(e, i){ // Here, create a map for hiding rows.
if (e[0]) {
hrow.push([(c1 + 1), (i - c1)]);
c1 = i + 1;
}
});
[sheet.hideRows(i[0], i[1]) for each (i in hrow) if(i[1]>0)]; // Here, rows are hidden using the map.
}
}
关于javascript - Google 表格 - 同时进行多表格排序和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43245314/
这里的这个问题对 updating Google Sheets charts linked to Google slides 有一个简洁的解决方案. function onOpen() { var
我正在尝试将 Google 表单添加到 Google 类作业中,但似乎不可能。 首先,它在这里 ( https://developers.google.com/classroom/reference/
出于某种原因,无论我做什么以及我如何尝试,这个日期格式化程序都不起作用。工具提示仍然显示错误的格式。你可以试试代码here . 在代码中我必须注释掉 formatter.format(dataTabl
我目前正在使用访问 token 和刷新 token 从 Google Analytics Reporting API (v4) 中提取数据。当我致力于自动从 Google Analytics 中提取数
我已在 Google 云端硬盘中创建了一个文件夹,例如测试一下,放入3个文件 a.jpg, b.jpg, c.jpg 我希望在同一帐户下的 Google 电子表格中访问文件,例如生成图像文件的链接,可
电子表格 A 是欢迎新移民来到我们小镇的团队的主数据源。它里面有大量非常敏感的数据,不能公开,哪怕是一点点。 (我们谈论的是 child 的姓名和出生日期以及他们在哪里上学……保证电子表格 A 的安全
有没有办法在 Google 文档中编写 Google Apps 脚本以从 Google 表格中检索仅限于非空白行的范围并将这些行显示为表格? 我正在寻找一个脚本,用于使用 Google Apps 脚本
有没有办法在 Google 文档中编写 Google Apps 脚本以从 Google 表格中检索仅限于非空白行的范围并将这些行显示为表格? 我正在寻找一个脚本,用于使用 Google Apps 脚本
尝试检索存储在 google firebase 中名为条目的节点下的表单条目,并使用谷歌工作表中的脚本编辑器附加到谷歌工作表。 我已将 FirebaseApp 库添加到谷歌表脚本编辑器。然后我的代码看
是否可以将我的 Web 应用程序的登录限制为仅限 google 组中的帐户? 我不希望每个人都可以使用他们的私有(private) gmail 登录,而只能使用我的 google 组中的用户。 最佳答
我们想使用 Google 自定义搜索实现 Google 附加链接搜索框。在谷歌 documentation , 我发现我们需要包含以下代码来启用附加链接搜索框 { "@context"
我想将特定搜索词的 Google 趋势图表添加到我的 Google Data Studio 报告中,但趋势不是数据源列表中的选项。我也找不到嵌入 JavaScript 的选项。是否可以将趋势图表添加到
是否可以将文件从 Google Drive 复制到 Google Cloud Storage?我想它会非常快,因为两者都在类似的存储系统上。 我还没有看到有关无缝执行此操作的任何方法的任何信息,而无需
之间有什么区别 ga('send', 'pageview', { 'dimension1': 'data goes here' }); 和 ga('set', 'dimension1', 'da
我正在尝试记录每个博客站点作者的点击率。 ga('send', 'pageview'); (in the header with the ga code to track each page) ga(
我设置了 Google Tag Manager 和 2 个数据层变量:一个用于跟踪用户 ID,传递给 Google Analytics 以同步用户 session ,另一个用于跟踪访问者类型。 在使用
我在我们的网站上遇到多个职位发布的问题。 我们在加拿大多个地点提供工作机会。所有职位页面都包含一个“LD+JSON ”职位发布的结构化数据,基于 Google 的职位发布文档: https://dev
公司未使用 Google 套件,使用个人(消费者)帐户(甚至是 Google 帐户)违反公司政策。 需要访问 Google Analytics - 没有 Google 帐户是否可能? 谢谢 最佳答案
我想分析人们使用哪些搜索关键字在 Play 商店中找到我的应用。 那可能吗?我怎么能这样做? 最佳答案 自 2013 年 10 月起,您可以关联您的 Google Analytics(分析)和 Goo
Google Now 和 Google Keep 中基于时间和位置的提醒与 Google Calendar 事件提醒不同。是否有公共(public) API 可以访问 Now 和 Keep 中的这些事
我是一名优秀的程序员,十分优秀!