我有一张包含客户信息的表单和另一张表,如果满足某些条件,客户信息需要这些表格。例如,第一页我有一个具有唯一标识符的客户,而在表2中,我有几个可以检查的列。如果检查这些列,我需要将这些列标题填充到表单1中的一个单元格中。所以
表1:
John Doe 019384388 Eats cookies
Likes Movies
Needs Help from Stack exchange
表2:
Name uniques identifier Eats cookies Likes movies Is tired Needs help
John Doe 019384388 X X X
这是我正在努力简化某些电子表格的工作。我使用过C,C ++和Java,所以我理解条件语句和循环,但我还没有真正使用过Google Apps Script / JavaScript。我很难知道如何调用电子表格中的各个单元格来制作条件语句,例如
if (box == "x" && unique id == "xxxxxx")
cell ("Ai"(sheet1) = "Ai"(sheet2))
输入东西。也许使用更改for
的{{1}}循环迭代所有单元格,直到检查完所有单元格?任何和所有的帮助表示赞赏。
答案 0 :(得分:2)
您可以创建自定义Google Apps功能,并为其添加一个onedit触发器。:
function autoCheck(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var row = e.range.getRow();
var col = e.range.getColumn();
var sheet2 = ss.getSheetByName("Sheet2");
if (e.range.getSheet().getName()=="Sheet2" && col >=3 && col<=5) {
var str = "";
for (i=3; i<=6; i++) {
if (sheet2.getRange(row, i).getValue()=="X") {
if (str.length==0) {
str = sheet2.getRange(1, i).getValue();
} else {
str =str + "\n" + sheet2.getRange(1, i).getValue();
}
}
}
sheet1.getRange(row, 3).setValue(str);
}
}
答案 1 :(得分:1)
如果选中该框,则添加一个连接标题的行:
=if(B1 = 'x', $A$1, '') & if(B2 = 'x', $A$2, '') & ...
然后对ID进行vlookup()并返回连接字段。
如果需要,可以在if语句中添加逗号分隔符,如果不希望在表中看到它,则隐藏连接字段。