【问题标题】:Pie chart changing weekly饼图每周变化
【发布时间】:2016-06-30 07:57:53
【问题描述】:

我有一张一年中每周的图表,其中包含有 9 个人在工作多少小时的信息。是否可以将其制成每周饼图,自动显示当前周和每个人工作的总小时数百分比,即工作量饼图自动更新到当前周。

Current graph

What I want

数据取自日历,每个人都在日历中输入每个项目每周的小时数。 From this calendar

我什至不知道如何从代码开始,所以我没有饼图的任何代码。

这就是当前年份概览图的设置方式graph for hours a week for every person

这是时间公式=SUMIFS(Calendarsheet!L4:L262;Calendarsheet!$B4:$B262;Calendarsheet!$B4) 我将名称存储在 B 列中

graph of percent of their max hours 此图表中的公式:=B34/Calendarsheet!L$3 它采用第一个图表中的小时数除以日历表中该周的总工作时间

抱歉链接不好,需要更多声誉才能发布超过 2 个链接

【问题讨论】:

  • 可以根据底层数据的存储方式进行操作。您能否举例说明您的数据是如何存储的以及您遇到问题的代码示例?
  • 数据取自日历,每个人每周每个项目的小时数。从这个日历:i.stack.imgur.com/HLa5m.png
  • 在帖子中添加信息
  • 我认为您不需要为此使用 VBA。您可以输入周数/日期并使用查找将所需数据提取到固定列中,该列包含饼图的源数据。更改周数将更改饼图。

标签: excel excel-formula vba


【解决方案1】:

如果我的理解正确,那么您希望每次从日历中提取一列并将其呈现在饼图中。因此,首先创建一个辅助列,该列将取决于存储在特定单元格中的值(例如U2),然后使用该列创建一个饼图,每次更新单元格U2 时,您的饼图都会更新。

对于辅助列,您需要=LOOKUP($U$2,$B$2:$S$2,B5:U5),其中$B$2:$S$2 是包含周数的行,B5:S5 是行中人员的小时数5。然后,您对表中的所有人执行此操作。最后根据该列创建一个饼图。

您可以在这里看到 LOOKUP() 公式:

这里选择生成饼图的范围 (A4:A12&V3:V12):

希望对你有帮助;)

【讨论】:

  • 我的伙计,它完美无瑕。我只需要将 =RIGHT(YEAR(NOW()),2)*100+WEEKNUM(NOW()) 放入 U2 中。另一个伟大而详细的答案:)
  • 我只有一个小问题。由于某种原因,excel 有错误的周数。这是第 28 周 atm 而不是第 29 周。我是否只使用 -1 或者是否有任何周 excel 是正确的? Nvm 只使用 isoweeknum(now()) 它应该可以正常工作
  • 嗯,好像是周数不同的已知问题,你可以试试this explanation来解决。
  • 我使用了正确的 isoweeknum。您链接的解释是针对较旧的 excel 版本(永远不会使用),但在 2013 年,excel 实施了 isoweeknum 系统,因此您不必制定复杂的公式来获得 iso 8601
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多