Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 基于其他列对access报告中的列求和';s文本_Ms Access - Fatal编程技术网

Ms access 基于其他列对access报告中的列求和';s文本

Ms access 基于其他列对access报告中的列求和';s文本,ms-access,Ms Access,因此,我使用的是MicrosoftAccess报告,我需要能够对一列中由文本指定的行进行求和。所以A列的每一行都有Y或N,我需要对B列中A列中有Y的数字求和 我只是不知道如何指定哪些数字应该使用另一列求和 谢谢你Sum(Iif([A]=“Y”,[B],0))/Sum([B])应该能做到这一点 这将添加B如果A=Y和0如果A Y,然后将该总和除以B列的总和 您也可以在基础查询中执行此操作 IIF(A='Y',Sum([B]/[B Grand Total Sum]), 0) 在总结任何东西之前,您

因此,我使用的是MicrosoftAccess报告,我需要能够对一列中由文本指定的行进行求和。所以A列的每一行都有Y或N,我需要对B列中A列中有Y的数字求和

我只是不知道如何指定哪些数字应该使用另一列求和

谢谢你

Sum(Iif([A]=“Y”,[B],0))/Sum([B])
应该能做到这一点

这将添加
B
如果
A=Y
0
如果
A Y
,然后将该
总和除以B列的总和

您也可以在基础查询中执行此操作

IIF(A='Y',Sum([B]/[B Grand Total Sum]), 0)
在总结任何东西之前,您不想评估A标准吗


老实说,在这种情况下,我认为这并不重要,但一般来说,在进行任何聚合之前,您会希望对标准进行评估,或者您不可避免地会降低性能。此外,如果您对总和之外的列进行IIF评估,结果可能不准确。

您是否尝试了一些不起作用的方法?你的错误信息是什么?它告诉我我有语法错误,但那只是因为我不知道如何编写表达式。它现在是这样写的:=Sum([B])/([B Grand Total Sum]),其中B代表列中的数字,我需要它只对a列中有Y的B值求和。这就是为什么求和属于if的原因。如果A=y,则添加B,如果不是,则为该行添加0。你的回答忽略了OP的括号。