Excel 上的甘特图 - 基于给定月份中任务的天数的条件格式

Gantt chart on Excel - Conditional Formatting based on the number of days for a task which are in a given month

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

例如,今天是 24-oct-19。一项从 11-oct-19 开始到 08-nov-19 结束的任务在 10 月有 20 天,在 11 月有 8 天。我需要有条件地格式化任务行、October 列上的单元格,以按 20/31 给定的比例绘制。我应该对同一行、11 月的列进行类似的格式化。

None 我在网上找到的许多甘特图都可以做到。您能否就我该怎么做提出建议?

我也附上草图。

谢谢!

Gantt chart with next 12 months

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

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

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

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

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

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