首页 > 解决方案 > Excel上的甘特图-基于给定月份任务天数的条件格式

问题描述

我正在尝试在 Excel 中构建甘特图,我可以有条件地格式化单元格以反映给定月份任务的天数。

例如,今天是 19 年 10 月 24 日。从 19 年 11 月 11 日开始到 08 年 11 月 19 日结束的任务在 10 月有 20 天,在 11 月有 8 天。我需要有条件地格式化任务行 10 月列上的一个单元格,以按 20/31 给出的比例绘制。我应该以类似的方式格式化同一行,十一月列。

我在网上找到的许多甘特图都无法做到。您能否就我如何做到这一点提出建议?

我还附上草图。

谢谢!

未来 12 个月的甘特图

标签: excelconditional-formattinggantt-chart

解决方案


只是一个概念证明(由于填充圆形单元格,在美学上不太令人愉悦,但这可以修复)。

我只是想看看您是否可以使用基本字符串函数获得合理的图表,以便在每个单元格的正确位置获得一个条形图:

=IFERROR(LEFT($A$5,ROUND((MAX(D$1,$B6)-D$1)/DAY(EOMONTH(D$1,0))*10,0))&LEFT($A$3,ROUND((MIN($C6,EOMONTH(D$1,0))-MAX(D$1,$B6)+1)/DAY(EOMONTH(D$1,0))*10,0)),"")

在此处输入图像描述

外观更令人愉悦 - 诀窍是使单元格中的文本居中,但随后您需要在必要时在右侧包含空格(例如在单元格 E6 中)以使其工作:

=IFERROR(LEFT($A$5,ROUND((MAX(D$1,$B6)-D$1)/DAY(EOMONTH(D$1,0))*10,0))
&LEFT($A$3,ROUND((MIN($C6,EOMONTH(D$1,0))-MAX(D$1,$B6)+1)/DAY(EOMONTH(D$1,0))*10,0))
&LEFT($A$5,ROUND((EOMONTH(D$1,0)-MIN(EOMONTH(D$1,0),$C6))/DAY(EOMONTH(D$1,0))*10,0)),"")

在此处输入图像描述

为了获得固定的字符大小,我设置了使用 Courier 字体的区域,并选择了合适的列宽。


推荐阅读