Диаграмма Ганта в Excel - Условное форматирование, основанное на количестве дней для задачи, которые находятся в данном месяце - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь построить диаграмму Ганта в Excel, где я мог бы условно формировать ячейки, отражающие количество дней, в течение которых задание выполнялось в данном месяце.

Например, сегодня 24-окт-19,Задание, начинающееся 11 октября 19 и заканчивающееся 08 ноября 19, имеет 20 дней в октябре и 8 дней в ноябре. Мне нужно условно отформатировать ячейку в строке задачи, столбце «Октябрь», чтобы она отображалась в пропорции, заданной 20/31. Я должен отформатировать ту же строку, столбец в ноябре.

Ни одна из многих диаграмм Ганта, которые я нашел в Интернете, не смогла это сделать. Не могли бы вы дать совет, как мне это сделать?

Я также прилагаю эскиз.

Спасибо!

Диаграмма Ганта со следующими 12 месяцами

1 Ответ

0 голосов
/ 25 октября 2019

Просто подтверждение концепции (не очень эстетично из-за заполнения круглых ячеек, но это можно исправить).

Я просто хотел посмотреть, сможете ли вы получить разумную диаграмму, используя основные строковые функции, чтобы получитьполоса в правильном положении в каждой ячейке:

=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)),"")

enter image description here

Чуть более приятный вид - хитрость заключается в том, чтобы центрировать текст в ячейке,но тогда вам нужно включить пробелы справа, где это необходимо (например, в ячейке 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)),"")

enter image description here

Чтобы исправитьРазмер символов, я установил область, в которой столбцы должны использовать шрифт Courier, и выбрал подходящую ширину столбца.

...