【问题标题】:how to get daily results of a formula for 5 years and put them in a table?如何获得一个公式 5 年的每日结果并将它们放在一个表格中?
【发布时间】:2019-10-23 02:05:47
【问题描述】:

我的表格记录了许多项目的各种操作的日期。每个项目(2000+)都有:

  • 3 种可能的事件:启动、完成、取消
  • 2 种可能的状态:开、关。

我想报告自 2015 年以来每个日期“开启”项目的确切数量。

我写了一个公式来确定某个日期“在”项目的数量。

=IF(OR(AND(L5"";$O$2C5); AND(L5="";$O$2=C5); AND($O$2> C5;J5="";C5"")); "开"; "关")

日期在单元格 O2 中,有一个简单的 countif 函数可以让我计算“on”项目的数量。

现在,我想知道是否有办法为每个日期的 countif 函数收集 ~2000 个结果。

理想情况下我会得到一张桌子

A               B
dates:          number of ongoing projects
1/1/15          15
1/2/15          12
1/3/15          32
...             ...
10/22/19        63

所以我可以用它制作图表。

感谢您的帮助!

编辑 2 模型

意识到我的模型数据存在问题,请在此处查找图表: https://docs.google.com/spreadsheets/d/10E9jX1Qlq-KQLCHupci3_8MiP7p5l-f2J1M5yFtfjQ0/edit#gid=1817091281

编辑 3:“ON”项目的定义

如果满足以下条件,则项目正在进行中:

final date <> "" AND initial date <= date checked <= final date,
OR
cancel date <> "" AND initial date <= date checked <= cancel date
OR
final date ="" AND cancel date = "" AND initial date <= date checked

我认为它们都是互斥的,所以也许我可以做 3 个计数并将它们相加?那行得通吗?我现在没有时间,但我会在午休时间尝试。

编辑

Screenshot:

我隐藏了所有不必要的列。这是mac上的excel,但原始数据是pc上的excel。

【问题讨论】:

  • 你用的是什么版本的excel?你用过Power QueryPower BI吗?
  • 我使用的是最新版本的 excel。我从未使用过 Power Query 或 Power BI,没有
  • 一张截图对我们的帮助太大了。
  • @DavidGarcíaBodego 对此感到抱歉——我现在附上了截图。
  • 您能否使用此tool 创建一个模拟数据表,以便其他人可以轻松地重新生成您的案例并提出解决方案?另外,您对要创建哪种图表有任何想法吗?这可能会对数据布局提出额外的要求。

标签: excel excel-formula excel-charts


【解决方案1】:

所以我找到了解决方案:

我有 3 种相互排斥的项目正在进行中的情况:

final date <> "" AND initial date <= date checked <= final date,
OR
cancel date <> "" AND initial date <= date checked <= cancel date
OR
final date ="" AND cancel date = "" AND initial date <= date checked

所以我将 3 个 countif 交织在一起以使其发挥作用:

=SUM(COUNTIFS($C$2:$C$20,"<="&O2,$J$2:$J$20,">="&O2,$J$2:$J$20,"<>"&""),COUNTIFS($C$2:$C$20,"<="&$O2,$L$2:$L$20,">="&$O2,$L$2:$L$20,"<>"&""),COUNTIFS($C$2:$C$20,"<="&$O2,$L$2:$L$20,"="&"",$J$2:$J$20,"="&""))

感谢所有帮助过的人!

【讨论】:

    【解决方案2】:

    试试这个:

    =COUNTIFS(C2:C1048575,"&lt;" &amp; $O2,J2:J1048575,"&gt;" &amp; $O2,L2:L1048575,"&gt;")

    如果O2上请求的日期大于C列上的值,并且O2上的日期小于J列上的值,并且O2上的日期,该函数将计数小于 L 列上的值(因此即使项目被取消,它当时也在运行。

    无论如何,如果需要修改其中一个条件,只需更改范围或条件(可能 >=...)

    当公式起作用时,只需复制并向下拖动,它将对 O 列上的所有日期执行相同的问题。

    希望对你有帮助!

    【讨论】:

    • 嗨大卫,谢谢你的这个想法! countifs 似乎是要走的路,但是我有一个问题:这忽略了我没有最终确定日期的所有行,因为我们需要 > 启动和
    • 嗨,大卫,我添加了 EDIT 3,你能告诉我你的想法吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多