Javascript 在googlesheets中循环函数

Javascript 在googlesheets中循环函数,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在尝试从Microsoft Excel迁移到Google sheets,以便公司能够在任何工作站上工作 我想比较两个数据范围,一个在一列中,另一个在另一列中 如果第一个区域的单元格值等于第二个区域的单元格值,那么我希望它 将第二个范围的值添加到匹配单元格中的第一个范围,然后继续检查该范围的其余部分 我在VBA中很容易做到这一点,但我在Goole Sheets中很难做到这一点 目前,Google Sheets中的代码执行以下操作: 如果在两个范围之间找到匹配值,则将该值添加到第一个范围中的每个

我正在尝试从Microsoft Excel迁移到Google sheets,以便公司能够在任何工作站上工作

我想比较两个数据范围,一个在一列中,另一个在另一列中

  • 如果第一个区域的单元格值等于第二个区域的单元格值,那么我希望它
  • 将第二个范围的值添加到匹配单元格中的第一个范围,然后继续检查该范围的其余部分
  • 我在VBA中很容易做到这一点,但我在Goole Sheets中很难做到这一点

    目前,Google Sheets中的代码执行以下操作:

    如果在两个范围之间找到匹配值,则将该值添加到第一个范围中的每个单元格

    下面是我的代码的样子:

    函数myFunction(){
    var pr=SpreadsheetApp.openById(“我的电子表格”);
    var sheet=pr.getSheetByName(“sheet1”);
    var sheet1=pr.getSheetByName(“sheet1”);
    var cell=sheet.getRange('J3:J95');
    var cell1=sheet1.getRange('C3:C1125');
    如果(cell1.getValue()==cell.getValue()){
    cell1.offset(0,2).setValue(cell1.offset(0,2).getValue()+cell.offset(0,1).getValue())
    }  
    }
    
    如何使该值仅添加到一个匹配的单元格,而不是整个范围?可以使用for循环实现这一点: 例如:

    在运行脚本之前:

    脚本:
    函数myFunction(){
    var sheet=SpreadsheetApp.getActiveSheet();
    var keys=sheet.getRange('A1:A5').getValues();
    var值=sheet.getRange('B1:B5');
    对于(变量i=0;i
    运行脚本后:

    您的两个范围具有不同的维度。是否要将第一个区域中的每个单元格与第二个区域中的每个单元格进行比较,并添加任何相等的单元格?你能提供一个小范围的期望输出的例子吗?是的。例如,“单元”是A1到A5,“单元1”是B1到B5。我试图比较每个单元格,如果A1等于B2和B5,它会将B2和B5旁边单元格中的任何内容添加到A1中,因此代码中的偏移量(0,1)。我的代码只检查“cell”中的第一个单元格和“cell1”中的第一个单元格,如果它们相等,则将其旁边单元格中的任何内容添加到整个范围(如果A1等于B1,则将下一个单元格添加到A1 A2 A3 A4 A5)。我不知道为什么会这样,或者当您说add时,如何修复它,你说的是数字还是字符串?添加值。所有单元格的值都是数字(1、2、3或4)。非常感谢,这非常有帮助。还有一个问题,有可能抵消这个结果吗?我的意思是:让我们从你的例子中选取单元格A3和B3,如果它们相等,那么是否可以将C3添加到A3,而不是将B3添加到A3。同样,我只想在满足条件A3等于B3的情况下,将C3添加到A3。这可能吗?