Excel - SUMIF INDEX和MATCH

时间:2017-05-27 11:46:09

标签: excel indexing excel-formula match between

我坚持使用sumif公式。我想如果我使用了一些索引和匹配的混合我可以让它工作但我在过去一小时内无法这样做!

我需要根据门牌号码和2个日期从数字表中加总。例如,我需要在08-05-17和13-05-17之间对房屋1的数字求和。

我之前对索引和匹配的经验是,我只使用它来获取一个特定的数字。

What I'm trying to sum

Where the sum should go

4 个答案:

答案 0 :(得分:3)

OFFSET和INDIRECT是易变的,这可以通过INDEX / MATCH

实现
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    //Set cell contents
    let cell = tableView.dequeueReusableCell(withIdentifier: cellId)

    let imageView = cell?.viewWithTag(0) as! UIImageView
    var price:UILabel = cell?.viewWithTag(2) as! UILabel
    var name:UILabel = cell?.viewWithTag(1) as! UILabel
    let amount = cell?.viewWithTag(3) as! UILabel
    name.text = productList[indexPath.row].name
    price.text = "" + (productList[indexPath.row].price?.description)! 
    let imageDict:NSDictionary = productList[indexPath.row].imageName!

    let image = downloadImageProductFromFirebase(append: imageDict["hash"] as! String)
    imageView.image = image


    return cell!
}

作为INDEX中第三个标准的=SUMIFS(INDEX(Sheet1!$W:$AC,MATCH("House " & B4,Sheet1!$A:$A,0),0),Sheet1!$W$3:$AC$3,"<=" & $AE4,Sheet1!$W$3:$AC$3,">=" & $AD4) 将返回MATCH选择的行中的所有列。

此公式为非易失性且非数组。

答案 1 :(得分:0)

修改以下内容

=SUMIFS(OFFSET(B3:ZZ3,MATCH("house 1",E:E,0)-3,0),B3:ZZ3,">"&42863,B3:ZZ3,"<"&42868)

将“house 1”更改为参考。

将42863和42868分别更改为开始日期和结束日期的参考。 (这些数字只是数字格式的日期。)

将范围和匹配公式中的3更改为包含日期的行号。

将B3:ZZ3更改为您日期的行范围。假设您要连续更新数据,可以通过增加范围来提供空间,如我的示例中的ZZ列。

答案 2 :(得分:0)

假设:

  • 第一张表格在Sheet1上
  • 第一个表中的House 1数据在第4行
  • 第二张表在单独的表格上
  • 第二表中的House 1数据在第4行

Sheet2中的公式,单元格AG4应该有效:

SUM(INDIRECT("Sheet1!R4C"&22+MATCH(AD4,Sheet1!W3:AC3,0),FALSE):INDIRECT("Sheet1!R4C"&22+MATCH(AE4,Sheet1!W3:AC3,0),FALSE))

答案 3 :(得分:0)

AI4使用数组操作的公式(虽然是普通公式,而不是CSE):

=SUMPRODUCT(Sheet1!W4:XX100*
  (Sheet1!A4:A100 = "House " & A4)*
  (Sheet1!W3:XX3 >= AD4)*
  (Sheet1!W3:XX3 <= AE4))

P.S。 Index/Match版本应该(据说)更快,但我喜欢这种形式的可读性......