我可以找到根据单元格F2的值(在Google表格中)更改值的单元格B49的值吗

问题描述 投票:0回答:1

在此处输入图像描述让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 的值发生变化的情况。我想获得特定学校的竞争对手总数。您需要更多解释吗?请帮助我。

google-sheets google-apps-script google-sheets-formula
1个回答
0
投票

我已将此函数添加到应用程序脚本中并将其命名为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。

© www.soinside.com 2019 - 2024. All rights reserved.