Hướng Dẫn Chi Tiết Cách Tạo Gantt Chart Trong Excel: Từ Cơ Bản Đến Nâng Cao

Giới thiệu chung về Gantt Chart và Excel

Gantt chart (biểu đồ Gantt) là một công cụ quản lý dự án mạnh mẽ, giúp bạn hình dung được tiến độ, thời gian bắt đầu và kết thúc của các nhiệm vụ trong dự án. Trong môi trường doanh nghiệp hiện đại, việc sử dụng Gantt chart không chỉ giúp quản lý dự án một cách chuyên nghiệp mà còn tăng tính minh bạch, giảm thiểu rủi ro và tối ưu hoá nguồn lực.

Excel, với tính linh hoạt và khả năng tùy biến cao, đã trở thành một trong những phần mềm phổ biến nhất để tạo Gantt chart, đặc biệt đối với các doanh nghiệp vừa và nhỏ, hoặc những người mới bắt đầu không muốn đầu tư vào phần mềm quản lý dự án đắt tiền. Bài viết này sẽ hướng dẫn chi tiết cách tạo Gantt chart trong Excel, bao gồm:

  1. Chuẩn bị dữ liệu.
  2. Tạo biểu đồ cột chồng (stacked bar chart).
  3. Định dạng biểu đồ để hiển thị dạng Gantt.
  4. Tùy chỉnh nâng cao: màu sắc, công cụ conditional formatting, tự động cập nhật.
  5. Các mẹo và thủ thuật để làm việc hiệu quả hơn.
  6. Những lưu ý khi sử dụng Gantt chart trong Excel.

Bạn sẽ có được một công cụ quản lý dự án trực quan, dễ dàng chia sẻ và cập nhật, ngay trong môi trường Excel quen thuộc.

1. Bước chuẩn bị dữ liệu – Nền tảng của Gantt chart

1.1. Xác định các cột cần thiết

Để tạo Gantt chart trong Excel, dữ liệu của bạn cần có ít nhất ba cột:

CộtMô tảVí dụ
Task (Nhiệm vụ)Tên công việc hoặc hạng mục“Phân tích yêu cầu”, “Thiết kế UI”, “Lập trình backend”
Start Date (Ngày bắt đầu)Ngày bắt đầu thực hiện nhiệm vụ01/07/2026
Duration (Thời gian thực hiện)Số ngày thực hiện (hoặc tuần, tháng)10

Bạn có thể bổ sung các cột phụ trợ như End Date, Owner, Status, Progress (%) để mở rộng tính năng báo cáo và theo dõi.

1.2. Định dạng ngày tháng

Excel có nhiều định dạng ngày tháng; để tránh lỗi khi tính toán, hãy chắc chắn rằng cột Start Date được định dạng là Date (Ngày). Bạn có thể làm điều này bằng cách:

  • Chọn cột → Home → Number → Short Date hoặc Long Date.
  • Đảm bảo hệ thống ngày tháng (định dạng regional) phù hợp với dữ liệu của bạn.

1.3. Tính toán cột “End Date” (tùy chọn)

Nếu muốn hiển thị ngày kết thúc trên biểu đồ, bạn có thể tạo cột End Date bằng công thức:

= @Start Date + @Duration - 1

Trong Excel Table, công thức sẽ tự động áp dụng cho toàn bộ cột.

1.4. Đặt dữ liệu vào bảng (Table)

Sử dụng tính năng Table của Excel (Insert → Table) để:

  • Tự động mở rộng công thức khi thêm nhiệm vụ mới.
  • Dễ dàng tham chiếu dữ liệu trong biểu đồ.
  • Cải thiện khả năng lọc, sắp xếp.

Sau khi tạo Table, hãy đặt tên cho nó (ví dụ: tblProject) để tham chiếu trong công thức và biểu đồ.

2. Tạo biểu đồ cột chồng (Stacked Bar Chart)

2.1. Thêm cột “Start Offset”

Để biểu đồ hiển thị dạng Gantt, chúng ta cần một cột “độ trễ” (offset) để đẩy thanh công việc sang đúng vị trí trên trục thời gian.

Thêm cột mới trong Table, đặt tên Start Offset và công thức:

= @Start Date - MIN(tblProjectStart Date)

Công thức này trả về số ngày trễ so với ngày bắt đầu sớm nhất của dự án. Khi biểu đồ được vẽ, cột này sẽ là phần “ẩn” (invisible) của cột chồng, chỉ để đẩy thanh công việc sang đúng vị trí.

2.2. Tạo biểu đồ

  1. Chọn dữ liệu: Chọn cột Task, Start Offset, và Duration. Đừng chọn tiêu đề cột Task nếu muốn trục ngang hiển thị đúng tên nhiệm vụ.
  2. Vào Insert → Bar Chart → Stacked Bar (Biểu đồ Thanh chồng ngang).
  3. Excel sẽ tạo một biểu đồ có hai phần: Start Offset (xám) và Duration (màu xanh). Ngay lập tức, chúng ta sẽ ẩn Start Offset.

2.3. Đảo trục Y (nhiệm vụ)

Mặc định, Excel sắp xếp các nhiệm vụ từ trên xuống dưới theo thứ tự nhập. Đối với Gantt chart, thường muốn nhiệm vụ đầu tiên (công việc sớm nhất) xuất hiện ở trên cùng.

  • Click chuột phải vào trục Y → Format Axis.
  • Trong mục Axis Options, chọn Categories in reverse order.
  • Đánh dấu Horizontal axis crosses at maximum category để trục thời gian bắt đầu từ trái sang phải.

Sau khi thực hiện, các thanh sẽ hiển thị từ trên xuống dưới, với nhiệm vụ sớm nhất ở trên.

2.4. Ẩn “Start Offset”

  • Click vào thanh Start Offset (thường màu xám) → Format Data Series.
  • Đặt Fill → No Fill.
  • Đặt Border → No Line.

Kết quả: Chỉ còn hiển thị thanh Duration, tạo ra hiệu ứng Gantt chart.

3. Định dạng trục thời gian (Horizontal Axis)

3.1. Đặt minimum và maximum

Để trục thời gian hiển thị ngày tháng thay vì số ngày, cần thay đổi định dạng:

  • Click chuột phải vào trục X → Format Axis.
  • Trong mục Axis Options, chọn Bounds:
  • Minimum: =MIN(tblProjectStart Date) (hoặc nhập ngày sớm nhất).
  • Maximum: =MAX(tblProjectEnd Date) + 5 (có thể cộng thêm vài ngày để tạo khoảng trống).
  • Units: Đặt Major là 7 (nếu muốn mỗi tick là một tuần) hoặc 1 (mỗi ngày).

3.2. Định dạng hiển thị ngày

  • Trong Number → Category, chọn Date và chọn định dạng “dd‑mmm‑yyyy” hoặc “mmm‑yy” tùy nhu cầu.
  • Bật Linked to source nếu muốn trục tự động cập nhật khi thay đổi ngày trong bảng.

3.3. Loại bỏ các tick không cần thiết

Making A Gantt Chart In Excel
Making A Gantt Chart In Excel
  • Trong Tick Marks, chọn None cho Minor tick marks.
  • Đặt Major tick marks là Outside hoặc Cross tùy sở thích.

4. Tùy chỉnh màu sắc và hiển thị tiến độ

4.1. Đánh màu theo trạng thái (Status)

Giả sử bạn có cột Status với các giá trị: “Not Started”, “In Progress”, “Completed”. Bạn có thể dùng Conditional Formatting để tự động thay đổi màu cho thanh Duration.

  1. Chọn toàn bộ thanh Duration trong biểu đồ (click vào một thanh → Format Data Series → Fill → Solid Fill → Color → More Colors → Custom → Fill Color → No Fill – này chỉ để mở cửa sổ).
  2. Khi thanh được chọn, chuyển tới Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format.
  3. Công thức cho “In Progress” (giả sử cột Status là cột D):
=$D2="In Progress"
  1. Đặt Fill màu vàng (hoặc màu tùy chọn) → OK.
  2. Lặp lại cho các trạng thái khác: “Not Started” → màu xám, “Completed” → màu xanh lá.

Lưu ý: Conditional Formatting áp dụng cho ô trong bảng, không trực tiếp cho biểu đồ. Để biểu đồ thay đổi màu, bạn cần tạo cột phụ cho mỗi trạng thái và vẽ các series riêng biệt. Phương pháp này sẽ được mô tả ở phần 4.2.

4.2. Sử dụng nhiều series để thể hiện trạng thái

Giải pháp chuyên nghiệp hơn là tạo các cột phụ:

TaskStart OffsetDur_NotStartedDur_InProgressDur_Completed
A0500
B5030
C8004

Công thức cho mỗi cột sẽ dựa trên IF:

Dur_NotStarted = IF(Status="Not Started", Duration, 0)
Dur_InProgress = IF(Status="In Progress", Duration, 0)
Dur_Completed = IF(Status="Completed", Duration, 0)

Sau khi tạo các cột, thêm chúng vào biểu đồ (Select chart → Chart Design → Select Data → Add). Mỗi series sẽ có màu riêng (xám, vàng, xanh lá). Khi trạng thái thay đổi, chỉ cần cập nhật cột Status, các cột phụ sẽ tự động tính lại và biểu đồ sẽ cập nhật màu tương ứng.

4.3. Hiển thị phần trăm hoàn thành

Nếu bạn muốn hiển thị tiến độ dưới dạng phần trăm (Progress %), tạo một cột Progress (giá trị 0‑1). Sau đó:

  • Thêm một Series dạng Stacked Bar nữa, nhưng đặt Fill là No Fill và Border là No Line.
  • Đặt Data Labels cho series này, chọn Value From Cells, trỏ tới cột mô tả tiến độ (ví dụ: “75%”). Định dạng label để hiển thị ở cuối thanh.

5. Tự động cập nhật Gantt chart khi thêm nhiệm vụ mới

5.1. Sử dụng Table và Dynamic Named Ranges

Khi dữ liệu được lưu trong Table (tblProject), bất kỳ hàng mới nào được thêm vào sẽ tự động mở rộng phạm vi dữ liệu cho biểu đồ.

  • Khi tạo biểu đồ, trong Select Data Source, thay vì chọn vùng tĩnh, hãy chọn các cột trong Table (như tblProjectTask, tblProjectStart Offset, tblProjectDuration). Excel sẽ tự động điều chỉnh khi Table mở rộng.

5.2. Sử dụng VBA để tự động tạo series

Nếu dự án phức tạp, bạn có thể viết macro VBA để:

  • Kiểm tra cột Status.
  • Tự động tạo/đánh lại các series màu.
  • Cập nhật trục thời gian (minimum/maximum) dựa trên ngày mới nhất.

Ví dụ macro đơn giản:

Sub UpdateGantt() Dim ws As Worksheet, lo As ListObject, cht As ChartObject Set ws = ThisWorkbook.Sheets("Sheet1") Set lo = ws.ListObjects("tblProject") Set cht = ws.ChartObjects(1) With cht.Chart.Axes(xlCategory) .MinimumScale = Application.WorksheetFunction.Min(lo.ListColumns("Start Date").DataBodyRange) .MaximumScale = Application.WorksheetFunction.Max(lo.ListColumns("End Date").DataBodyRange) + 5 End With
End Sub

Bạn có thể gán macro này cho Workbook_Open hoặc Worksheet_Change để tự động chạy khi dữ liệu thay đổi.

6. Các mẹo và thủ thuật nâng cao

MẹoMô tảLợi ích
Freeze PanesĐóng băng cột tên nhiệm vụ khi cuộn biểu đồDễ dàng xem tên nhiệm vụ khi biểu đồ dài
SlicerThêm slicer cho cột Owner hoặc StatusLọc nhanh các nhiệm vụ liên quan
Conditional Formatting cho ô ngàyĐánh dấu ngày quá hạn (red)Cảnh báo nhanh khi dự án trễ
TimelineSử dụng tính năng Timeline (Insert → Timeline) để điều chỉnh phạm vi thời gian hiển thịTương tác nhanh, thay đổi khoảng thời gian hiển thị
TooltipThêm Data Labels dạng “Task – Owner – %Done”Thông tin chi tiết khi hover
Export as PDFIn/Export biểu đồ + bảng dữ liệu thành PDFChia sẻ báo cáo dự án với các bên liên quan

6.1. Sử dụng Slicer để lọc nhiệm vụ

  • Chuyển bảng tblProject thành PivotTable (Insert → PivotTable) và kéo Task vào Rows, Duration vào Values.
  • Thêm Slicer cho Owner hoặc Status. Khi bạn chọn một người hoặc trạng thái, PivotTable và biểu đồ (được liên kết) sẽ tự động lọc.

6.2. Tạo biểu đồ Gantt dạng “Milestones”

Nếu dự án có các cột mốc (milestones) không có thời lượng, bạn có thể:

  • Thêm một cột Milestone (TRUE/FALSE).
  • Tạo một Scatter Plot (XY) với trục X là ngày, trục Y là vị trí nhiệm vụ.
  • Định dạng các điểm thành hình tam giác hoặc hình sao, đặt Data Labels là tên milestone.

7. Những lưu ý khi sử dụng Gantt chart trong Excel

  1. Giới hạn số lượng nhiệm vụ: Excel có thể xử lý hàng trăm nhiệm vụ, nhưng khi quá 500‑1000, biểu đồ sẽ chậm và khó đọc. Đối với dự án lớn, cân nhắc công cụ chuyên dụng (Microsoft Project, Smartsheet, Monday.com…).

  2. Độ chính xác của ngày: Khi làm việc với thời gian tính bằng giờ hoặc phút, bạn cần chuyển đổi sang “fraction of day” (1 ngày = 1). Ví dụ, 4 giờ = 4/24 = 0.1667. Công thức Duration cần tính theo đơn vị ngày.

  3. Đồng bộ ngày nghỉ lễ: Nếu dự án không tính ngày cuối tuần hoặc ngày lễ, bạn cần tạo danh sách ngày nghỉ và sử dụng hàm WORKDAY hoặc NETWORKDAYS để tính Duration thực tế.

  4. Chi phí và nguồn lực: Gantt chart trong Excel chỉ hiển thị thời gian. Để quản lý chi phí, bạn có thể thêm cột Cost và tạo biểu đồ cột phụ (Combo Chart) để theo dõi chi phí theo thời gian.

  5. Bảo mật dữ liệu: Khi chia sẻ file Excel có chứa Gantt chart, hãy kiểm tra lại quyền truy cập, tránh để lộ thông tin nhạy cảm (budget, nhân sự).

8. Tổng kết

Việc tạo Gantt chart trong Excel không hề khó khăn nếu bạn nắm vững các bước chuẩn bị dữ liệu, tạo biểu đồ cột chồng, và thực hiện một số định dạng cơ bản. Với các kỹ thuật nâng cao như:

  • Sử dụng Table và Dynamic Named Ranges để tự động mở rộng.
  • Tạo các Series dựa trên trạng thái để hiển thị màu sắc động.
  • Áp dụng Conditional Formatting, Slicer, và VBA để tự động hoá.
  • Thêm Milestones, Progress Labels, và Timeline để tăng tính tương tác.

Bạn sẽ có một công cụ quản lý dự án mạnh mẽ, trực quan, và linh hoạt, phù hợp cho mọi quy mô doanh nghiệp. Hãy áp dụng các bước trong bài viết, thực hành trên dự án thực tế và dần dần tùy biến sao cho phù hợp nhất với nhu cầu công việc của bạn.

Chúc bạn thành công trong việc xây dựng và sử dụng Gantt chart trong Excel!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận