如何将单元格值传递给SUM函数

时间:2020-08-03 16:10:48

标签: google-sheets google-sheets-formula

我正在尝试对列中的最后12行进行求和(我将在此列中添加更多行,因此我想使计算自动化)。

首先,我可以通过=SUMPRODUCT(MAX((B1:B200<>"")*ROW(B1:B200)))获得此列中具有某个值的最后一个单元格的值-结果存储在C1中。但是,我不确定如何在SUM公式中使用此值,我在思考类似=SUM(B(get value of C1)-12:B(get value of C1)的问题。

我尝试了很多事情,但没有一个奏效-如果完成工作,我也不介意使用其他方法。

2 个答案:

答案 0 :(得分:2)

您可以使用Google Apps脚本(GAS)创建自己的自定义函数。

尝试以下操作:

function onEdit(e){
  var row = e.range.getRow();
  var col = e.range.getColumn();
  if ( col==2  && e.source.getActiveSheet().getName() == "Sheet1" ){ 
   e.source.getActiveSheet().getRange("C1").setValue(sumLast12());     
}
}

function sumLast12() {
  
  var sheet = SpreadsheetApp.getActive().getSheetByName("Sheet1");
  var sheet_size = sheet.getLastRow();
  var elmt = sheet.getRange("B1:B"+sheet_size).getValues().flat([1]);
  var elmt12 = elmt.slice(-12);
  var sum = 0;
for( var i = 0; i < elmt12.length; i++ ){
    sum += parseInt( elmt12[i], 10 );
}
  return sum;
}

说明

  • 要激活此功能,请转到菜单顶部的菜单栏。 电子表格文件,然后点击工具=>脚本编辑器,然后将 将上述代码转换为空白脚本文档(请参见附件) 屏幕截图以获取更多信息)并保存文档(cntrl + s)。
  • 保存脚本后,每次编辑列中的单元格 B (通过在底部添加新值或修改现有值,脚本将自动更新 单元格 C1 B 列中最后12个值的总和。

请注意,如果您不想更改我的代码,请将正在使用的工作表命名为 Sheet1

Explanation

答案 1 :(得分:2)

这行吗?

  import React, {Component} from 'react';
  import TextField from '@material-ui/core/TextField';

  export default class SuccessScreen extends Component {
    constructor(props) {
      super(props);
      this.state = {};
    }

    render() {
      return (
        <div style={{ width: '100%', height: '100%'}}>
          <TextField style={{width: '100%'}} placeholder="Name" label="Name">
        
          </TextField>
        </div>
      );
    }
  }