微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

公交清单摘要页面公式列出有开放座位的公交车

如何解决公交清单摘要页面公式列出有开放座位的公交车

我正在为公交车创建清单清单。我有一个工作表,其中包括名称,公交车号,目的地和开始/结束日期。假设每辆巴士有3个座位,并且如果有可用空间,则名称单元为空。

WORKSHEET: "Manifest"
name      bus #   location       start date     end date
missy     1       new york       2020/10/01     2020/10/10
ralph     1       new york       2020/10/01     2020/10/10
[empty]   1       new york       2020/10/01     2020/10/10
frank     2       philadelphia   2020/10/15     2020/10/25
[empty]   2       philadelphia   2020/10/15     2020/10/25
[empty]   2       philadelphia   2020/10/15     2020/10/25
ryan      3       pittsburgh     2020/11/01     2020/11/10
jim       3       pittsburgh     2020/11/01     2020/11/10
[empty]   3       pittsburgh     2020/11/01     2020/11/10
kate      4       detroit        2020/11/15     2020/11/28
joe       4       detroit        2020/11/15     2020/11/28
martha    4       detroit        2020/11/15     2020/11/28

我需要将其推送到另一个工作表,并简要总结一下每辆巴士有多少个座位:

WORKSHEET: "Dashboard"
bus #   location       start date     end date      open seats
1       new york       2020/10/01     2020/10/10    1
2       philadelphia   2020/10/15     2020/10/25    2
3       pittsburgh     2020/11/01     2020/11/10    1

注意:仪表板将不包括任何没有座位的公共汽车。

我要计算的公式只需要显示打开座位的公交车,列出公交车的编号/位置/起点/终点,并为该公交车列出多少空白单元格即可。

在构建完此工作表和仪表板的一天之后,这是我一直在努力的其余部分。我正在运行Excel 2016,因此将排除所有Office 365更新。由于它是一个干净的仪表板,因此该公式需要包含IFERROR才能不向任何单元格显示“#N / A”。

不确定是一天结束还是工作周结束,但是我无法弄清楚。简要介绍现有的堆栈溢出问题。非常感谢您的任何建议!

解决方法

达到目标的最简单方法是创建一个Pivot

  1. 插入Pivot table
  2. buslocationdates字段添加到Pivot
  3. bus值中添加一个Pivot字段。在Value field settings中选择Summarize values by Count
  4. name过滤器中添加一个Pivot字段
  5. 转到PivotTable Options-> Display标签,然后在Classic PivotTable layout复选框中打勾
  6. 过滤掉空白的names
  7. 完成。

enter image description here

但是,如果您仍然想使用公式进行操作,则可以使用以下内容:

  1. 用于bus

    如果类型是数字:

    =IFERROR(AGGREGATE(15,6,$B$2:$B$13/(($A$2:$A$13="")*(COUNTIF($I$1:I1,$B$2:$B$13)=0)),1),"-")

    如果类型是文本:

    =IFERROR(INDEX($B$2:$B$13;AGGREGATE(15;6;(1/(($A$2:$A$13="")*(COUNTIF($I$1:I1;$B$2:$B$13)=0)))*ROW($B$2:$B$13)-1;1));"-")

  2. 用于location

    =IFERROR(LOOKUP(2,1/($B$2:$B$13=I2)*($A$2:$A$13=""),$C$2:$C$13),"-")

  3. 用于start date

    =IFERROR(LOOKUP(2,$D$2:$D$13),"-")

  4. 用于end date

    =IFERROR(LOOKUP(2,$E$2:$E$13),"-")

  5. 用于open seats

    =SUMPRODUCT(($B$2:$B$13=I2)*($A$2:$A$13=""))

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。