MS Excel(2003)DSUM 中是否存在错误,或者我是否忽略了一些显而易见的东西?

MS Excel(2003)DSUM 中是否存在错误,或者我是否忽略了一些显而易见的东西?

我正在尝试检查 Excel 数据库中的某些数据,并创建了一个单独的工作表(在同一个工作簿中),其中包含一些相当简单的“DSUM”查询。

我复制了一个公式(绝对和相对,视情况而定),它对于前二十三个 DSUM 运行良好,然后只给出“#value”错误。

我正在使用单元格引用作为中间的“字段”值……严格来说我不应该这样做,但它适用于查询的前半部分。为了以防万一,我还尝试了引号中的文本标签和数字列号 - 仍然会导致错误。

如果我重复最后一个工作查询,在它开始出错之前,它工作正常。如果我删除工作查询或将其更改为与第一个不工作的查询相同,则会出现错误。“检查”表中最后一个工作列是“Z”,而“AA”是第一个不工作的列。这很可能只是巧合,但我认为我应该提一下。

该文件的副本位于此处:http://www.stuff.net/eurovision.xlsDSUM 查询位于‘检查’表上。

如果有人知道有 bug,我会非常感激。我已经盯着 / 玩弄 / 大声抱怨这个问题好几个小时了。或者,如果我错过了一些非常基本的东西,请随时指出,当我脸红时,请感受你所在位置的热度。

答案1

我想出了这个办法

=DSUM(Data!$A$1:Data!$BT$2000, D$1,$A$1:$A$2)check从D2 开始拖到第 2 行

=DSUM()标准=DSUM(database, field, criteria)

  • 数据库就是你正在搜索的地方
  • 字段是您要查找的标题
  • 满足条件

字段可以是列号,也可以是您要查找的文本。在此场景中,您要返回第 1 行中的每个条目check,因此您可以使用引用第 1 行,D$1当条件为真时,它将更改列,但不更改行,在数据库中搜索该单元格中的文本。

答案2

我看到两个问题 - 一个可以解决问题,另一个可以节省您在拖动数据时修复公式的时间

  • 您没有搜索所有数据:
    您搜索 A1:AR2000 - 范围应为 A1:BT2000
    =DSUM(Data!$A$1:Data!$BT$2000, AA1,$A$1:$A$2)
  • 当你向下复制公式时,它会将 AA1 更改为 AA2、AA3 等,当你希望它停留在 AA1 时
    ,在 AA1 中的 1 前面添加一个 $,以阻止它更改行
    =DSUM(Data!$A$1:Data!$BT$2000, AA$1,$A$1:$A$2)

相关内容