【问题标题】:Adding variable amount of values, based on numeric values根据数值添加可变数量的值
【发布时间】:2011-07-27 07:17:11
【问题描述】:

问题已解决

俗气的错误......哈哈

对于我的时间列,当我使用毫秒时,我使用的是工作表中我没有提到的列。我正在使用我的毫秒间隔列。我认为这会起作用,但忘记了我的新公式是基于特定时间的,而不是自看到最后一件事以来的时间间隔。所以总和总是小于 60000。感谢您的所有帮助,并希望我能接受两个答案。 =)

重新审视整个问题

以下是我的一些实际值。我之前使用的是几秒钟,但在我的真实文档中我使用的是毫秒。我需要 sumoflist 列是从当前时间开始 60 秒的小数的总和。这将是 60000 毫秒。

这是我之前使用的 EXACT 公式。是的,我输入正确,但仍然无法正常工作。我必须对其进行一些修改,以便它可以与我的工作表和毫秒一起使用。

{=SUM(IF($B2-$B$2:$B2<60000,$U$2:$U2))}
{=COUNT(IF($B2-$B$2:$B2<60000,$U$2:$U2))}

求和函数将对所有这些求和,无论它们多大。计数也一样。

由于我给了你一小部分数据,所以以 20000 为例。感谢迄今为止帮助过我的所有人!请继续帮助我!


// csv for easy import
seconds,sumoflist,minorsums
800,0,0
1000,40000,40000
1200,80000,40000
1000,120000,40000
800,160000,40000
1000,200000,40000
800,240000,40000
1000,280000,40000
1200,320000,40000
1000,360000,40000
800,400000,40000
1000,440000,40000
800,480000,40000
1000,520000,40000
1200,560000,40000
1000,600000,40000
800,640000,40000
1000,680000,40000
800,720000,40000
1000,760000,40000
1200,800000,40000
1000,840000,40000
800,880000,40000
1000,920000,40000
800,960000,40000
1000,1000000,40000
1200,1040000,40000
1000,1080000,40000
800,1120000,40000
1000,1160000,40000
800,1200000,40000
1000,1240000,40000
800,1280000,40000
850,1282500,2500
900,1285000,2500
850,1287500,2500

【问题讨论】:

  • 您要计算哪一列?是 Sumoflist 吗?你的问题不清楚。
  • 您想在列的单元格中使用宏函数还是公式?如果可以的话,我会尽力帮助你。请以10到20行数据为例?
  • 我确实这么认为。因为我在上面的帖子下没有看到“评论”。但如果可以的话,我想帮忙。我将有“足够”的代表:)
  • @prolink007,sumoflist 的最后四个条目不符合您的描述,不应该是 320000、360000、400000 和 362500 吗?
  • @prolink007,你说的内部是什么意思?既向前又向后?所以间隔 120 秒?

标签: excel worksheet-function array-formulas


【解决方案1】:

对于第一个单元格(0 旁边),输入

=SUM(IF((A:A<=A2)*(A:A>A2-60),C:C,0))

然后按CTRL + SHIFT + ENTER确认(完成后公式周围会有{})。

然后向下拖动。


你看,Excellll和我提供的答案都是正确的。

对于61.61.8 - 61.6 相加,而对于63.254 - 63.25 相加。

为确保{} 在公式周围,它们出现在 CTRL + ALT + ENTER 之后。

即按住CTRL,按住ALT,按住ENTER,同时松开3。

【讨论】:

  • 您发布的那个公式到底应该做什么?它没有给我正确的结果。
  • @prolink007,您没有将公式作为数组公式输入。按照@Dante Jiang 的指示,它应该可以正常工作(但速度很慢)。将公式粘贴到 B2 中时,按 Ctrl+Shift+Enter 而不是按 Enter。
  • @prolink007,但它可以在我的计算机上运行,​​我认为它也可以在 Excelllll 上运行。
  • @prolink007,您是否注意到我的快照中的绿色三角形,用于 Excelllll 的回答? Excel 会通过这种方式通知我某种错误,如果我告诉 Excel 更正错误,Excel 会将它们全部汇总。我认为这就是问题所在。您可以使用我的答案,它不会提示错误。
  • @prolink007,你怎么能一开始就使用它……好吧。很高兴看到它终于解决了......
【解决方案2】:

Dante Jiang 的建议是正确的,但完整的列引用会大大减慢计算速度。试试这个:

=SUM(IF($A2-$A$2:$A2<60,$C$2:$C2))

按 Ctrl+Shift+Enter 将公式作为数组公式输入。然后填写。

【讨论】:

  • 如何获得 60 秒间隔内的值的数量?我需要它,所以我可以得到 sumoflist 平均值的 sqrt。谢谢!
  • @Excelllll:问号有什么作用?抱歉这个菜鸟问题,试图学习其中一些公式,所以我不必再问问题了。提前谢谢,也看看我上面的评论。
  • '$' 修复行或列引用。像“A1”这样的常规单元格引用是相对于它出现的单元格而言的。例如,如果您在单元格 E1 中输入“=A1”,然后向下填写到 E2,则 E2 中的公式将为“=A2”。如果改为使用“=A$1”修复行引用,则 E2 中的公式也将是“=A$1”。填充和修复列引用也是如此。
  • 关于你的第二个问题,Lance Roberts 是对的。使用相同的公式与 COUNT 而不是 SUM。
  • 实际上这也不是我需要的方式。我需要它只对“A​​”列中当前“时间”的 60 秒内的“C”值求和。它目前正在总结它们。如果可以,请再次提供帮助。谢谢
猜你喜欢
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多