在此处输入图像描述让Google工作表中的所有单元格根据F2单元格更改值,其值可以是1,2,3,4,5,6,7,8,9,10,11。现在编写一个公式,求 F2=1 时 B49 单元格的值。该公式也应该适用于另一张纸。
F2 和 B49 位于名为“SchoolWiseList”的工作表中。我将在名为“ContactPerson”的工作表的单元格中使用该函数。
如果可以的话请求F2=1到11时B49所有值的总和。
当 F2 改变时,B49 也会改变,并且它已经分配了功能。
B49 的函数 =MAX(A5:A48)
A5,A6,..A48 具有 =IF(COUNTA($B5:$E5)>0, IFERROR(INDEX($A$4:$A4, MATCH(1, --($B$4:$B4= $B5)*--($D$4:$D4=$D5), 0)), IFERROR(MAX($A$4:$A4), 0)+1), "")
我只想获取当F2改变它的值时B49的值。
更多说明: 该表是学校活动中参赛者的详细信息。 F2代表学校编号。 C2代表学校名称。一列代表参赛者的序列号。 B、C、D、E 列代表竞争对手的详细信息。因此,当 F2 更改时,C2 也会更改,即学校名称更改,所有字段也会相应更改。这就是 A 列发生变化,B49 的值发生变化的情况。我想获得特定学校的竞争对手总数。您需要更多解释吗?请帮助我。
我已将此函数添加到应用程序脚本中并将其命名为total.gs
function recordB49Values() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SchoolWiseList');
const resultSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Total1');
const originalF2Value = sheet.getRange('F2').getValue();
for (let i = 1; i <= 11; i++) {
sheet.getRange('F2').setValue(i);
SpreadsheetApp.flush();
const B49Value = sheet.getRange('B49').getValue();
resultSheet.getRange(i + 1, 1).setValue(i);
resultSheet.getRange(i + 1, 2).setValue(B49Value);
}
sheet.getRange('F2').setValue(originalF2Value);
SpreadsheetApp.flush();
}
然后我添加了一个名为 Total1 的工作表。在 Total1 工作表中,我设置了标题:
单元格 A1:学校号码
单元格 B1:竞争对手总数
然后我从应用程序脚本运行函数 recordB49Values。