Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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
如何在Excel中返回值直到达到阈值_Excel_Excel Formula_Sum_Conditional_Cumulative Sum - Fatal编程技术网

如何在Excel中返回值直到达到阈值

如何在Excel中返回值直到达到阈值,excel,excel-formula,sum,conditional,cumulative-sum,Excel,Excel Formula,Sum,Conditional,Cumulative Sum,我正在努力用Excel解决一个似乎比我想象的更难的计算问题。。我只是在互联网上找不到我需要的方法。我将给出我想要得到的东西的一个简化版本,并将永远感谢任何能帮助我得到结果的人 我有以下一行: 100//20/30/10/60/20/80 我想看到的是: 100//20/30/10/40/0/0 所以第一列是一个总数,对于接下来的所有列,我有时间分布的值,这些值应该加起来,返回单元格中的值,在某个点上,需要等于第一个单元格中的100。之后,达到阈值,它应该返回零 是否有一些公式我不知道,或一个优雅

我正在努力用Excel解决一个似乎比我想象的更难的计算问题。。我只是在互联网上找不到我需要的方法。我将给出我想要得到的东西的一个简化版本,并将永远感谢任何能帮助我得到结果的人

我有以下一行:

100//20/30/10/60/20/80

我想看到的是:

100//20/30/10/40/0/0

所以第一列是一个总数,对于接下来的所有列,我有时间分布的值,这些值应该加起来,返回单元格中的值,在某个点上,需要等于第一个单元格中的100。之后,达到阈值,它应该返回零


是否有一些公式我不知道,或一个优雅的方式来解决这个问题?非常感谢您的帮助

如果第一行从第1页的
A2:G2
开始(分别为100/20/30/10/60/20/80),您可以通过在第2页的单元格
B2
中输入公式并拖动到
G2
来使用以下公式

 =IF(COLUMN(B2)=2,'Sheet1'!B2,IF('Sheet1'!B2+SUM(A2:$B2)>='Sheet1'!$A2,'Sheet1'!$A2-SUM(A2:$B2),'Sheet1'!B2))

太棒了,谢谢!现在,我只需要在行本身中得到这个结果,因为我有一个包含数百行的大数据表,我认为每次添加一行都会变得非常混乱。有没有办法做到这一点?如果不使用VBA,用包含实际要覆盖的单元格中的值的公式覆盖这些值有点困难。您只需创建一个新表并使单元格引用匹配,我将更改一些绝对引用,以便可以跨整个表复制公式。@从速度上讲,RFM通过VBA可能是最简单的方法。另一种方法是切换到手动计算,输入数据(同时复制和粘贴),然后切换回自动计算或按F9@RFM我现在已经编辑了答案,所以如果您的所有数据都是从A2:G2(和向下)运行的话在“Sheet1”中,将提供的公式从“Sheet2”中的B2:G2运行,如果向下复制,它应该可以工作。谢谢@Jordan,@clauria!我想这就行了。我想潜入VBA对我来说太有野心了:)我不明白。您是说您的原始值应该被新值覆盖吗?如果没有,请举例说明原始值所在的范围(例如,您的第一行),以及结果应该在哪些范围内?是的,我想覆盖这些值,以便将其累积到我在第一列中的“100”。然后您肯定需要VBA。