动态生成的工作表上的复选框

时间:2019-06-18 21:49:13

标签: google-apps-script google-sheets match google-sheets-formula array-formulas

我正在构建一个电子表格,其中包含20个不同的漏水传感器,并每天通过每小时数据进行更新。其中一张纸是每天对每个传感器数据进行的各种分析的概述。

在动态生成的“每日概述”中,我想在每行的末尾放置三个复选框,以供单击:

  1. 如果叫水管工
  2. 如果发现泄漏
  3. 如果泄漏已修复

(在“每日概述”中,A1是今天的日期,并且所有数据都是通过VLOOKUP收集的。因此,如果日期更改,I2上的复选框应该会消失,但如果我再次更改A1日期,则返回。)

在每个传感器页面中,每天数据的末尾还有AFAGAH列中的三个复选框。

我正在寻找一种公式化的方式来单击“每日概述”中的一个框,以更改传感器页面上的正确框。

实际上,我希望与此相反:复选框区域中的=VLOOKUP(A1,'32033'!A2:AE,32)将此数据放在另一张纸上。

https://docs.google.com/spreadsheets/d/1h1JB_Z5dEXUAoCxJlbIjuu3mkcK4CwCotYSZzIYx2Y0/edit?usp=sharing

1 个答案:

答案 0 :(得分:0)

是这样的(在32033表中):

=ARRAYFORMULA(IF(ROW(A2:A)=MATCH('Daily Overview'!A1, A1:A, 0), 
 INDIRECT("Daily Overview!I"&MATCH("32033", 'Daily Overview'!A1:A, 0)&
                     ":"&"K"&MATCH("32033", 'Daily Overview'!A1:A, 0))))

0


还通过添加以下脚本:

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

您可以这样做:

=ARRAYFORMULA(IF(ROW(A2:A)=MATCH('Daily Overview'!A1, A1:A, 0), 
 INDIRECT("Daily Overview!I"&MATCH(sheetName(), 'Daily Overview'!A1:A, 0)&
                     ":"&"K"&MATCH(sheetName(), 'Daily Overview'!A1:A, 0))))

注意:公式将输出TRUE / FALSE状态,因此选择AF2:AH并将其转换为复选框(插入>复选框)