Chuyển đến nội dung chính

Mô phỏng Monte Carlo trong Excel: Hướng dẫn đầy đủ

Hướng dẫn toàn diện, thân thiện với người mới về cách thực hiện mô phỏng Monte Carlo trong Microsoft Excel, kèm ví dụ, thực tiễn tốt nhất và kỹ thuật nâng cao.
Đã cập nhật 5 thg 6, 2026  · 9 phút đọc

Khám phá với AI

Mở trong ChatGPTMở trong ClaudeMở trong Perplexity

Các phương pháp Monte Carlo, ban đầu được đặt tên theo Sòng bạc Monte Carlo ở Monaco, được sử dụng rộng rãi trong các lĩnh vực như tài chính, kỹ thuật, chuỗi cung ứng và khoa học để mô hình hóa các hiện tượng có mức độ bất định đáng kể trong đầu vào.

Vậy mô phỏng Monte Carlo là gì? Nó hoạt động như thế nào? Và làm thế nào tôi có thể triển khai mô phỏng và phân tích kết quả?

Hướng dẫn này sẽ giới thiệu với bạn về mô phỏng Monte Carlo và các khái niệm thống kê liên quan đứng sau kỹ thuật này. Chúng ta cũng sẽ triển khai mô phỏng Monte Carlo trong Excel, giúp bạn làm quen với các hàm tích hợp phù hợp của Excel.

Cuối cùng, hướng dẫn sẽ cung cấp các thực tiễn tốt nhất, kỹ thuật nâng cao và tài nguyên để học thêm, biến đây thành cẩm nang một điểm đến để bạn học mọi thứ về mô phỏng Monte Carlo trong Microsoft Excel.

Mô phỏng Monte Carlo là gì?

Mô phỏng Monte Carlo là một kỹ thuật toán học dùng để mô hình hóa xác suất của các kết quả khác nhau trong một quy trình khó dự đoán do có sự can thiệp của các biến ngẫu nhiên.

Đây là một công cụ mạnh mẽ để hiểu tác động của rủi ro và bất định trong nhiều lĩnh vực. Phương pháp này dựa vào việc lấy mẫu ngẫu nhiên lặp lại để mô phỏng hành vi của các hệ thống và quy trình phức tạp.

Trước hết, bài toán được mô hình hóa bằng một phân phối xác suất cho mỗi biến có sự bất định vốn có. Sau đó, một số lượng lớn mẫu ngẫu nhiên được rút ra từ các phân phối xác suất này và các mẫu đó được dùng để tính toán kết quả. Quy trình này được lặp lại nhiều lần để tạo ra một phân phối các kết quả khả dĩ, có thể được phân tích thống kê nhằm đưa ra dự đoán về cách hệ thống sẽ vận hành.

Nói một cách đơn giản, mô phỏng Monte Carlo là kỹ thuật dự đoán cách các hệ thống phức tạp sẽ hành xử bằng cách mô phỏng nhiều lần kết quả của chúng với các giá trị ngẫu nhiên. Nó gồm một số bước:

  • Mô hình hóa bất định: Xác định cách mỗi biến có thể thay đổi bằng các phân phối xác suất.
  • Lấy mẫu ngẫu nhiên: Chọn ngẫu nhiên các giá trị cho những biến này dựa trên phân phối của chúng.
  • Mô phỏng kết quả: Dùng các giá trị này để mô phỏng hành vi của hệ thống.
  • Phân tích kết quả: Lặp lại quy trình nhiều lần để thu được dải kết quả khả dĩ, sau đó phân tích để dự đoán các kịch bản có khả năng xảy ra nhất.

Tiếp theo, chúng ta sẽ củng cố hiểu biết cơ bản về mô phỏng Monte Carlo bằng cách đi sâu vào một số khái niệm thống kê liên quan.

Biến ngẫu nhiên và phân phối trong Monte Carlo 

Biến ngẫu nhiên và các phân phối xác suất đi kèm là nền tảng của mô phỏng Monte Carlo vì chúng cung cấp khung toán học để mô hình hóa và mô phỏng tính ngẫu nhiên và biến thiên vốn có trong các hệ thống phức tạp.

Biến ngẫu nhiên

Biến ngẫu nhiên là biến mà các giá trị của nó là kết quả của một hiện tượng ngẫu nhiên.

Biến ngẫu nhiên được phân thành hai loại:

  • Biến ngẫu nhiên rời rạc: Những biến này nhận một số lượng hữu hạn hoặc đếm được các giá trị khác nhau. Trong mô phỏng, biến rời rạc có thể mô hình hóa các kịch bản như số lượng sản phẩm lỗi trong một lô, số khách hàng đến mỗi giờ hoặc các sự kiện có thể đếm được khác.
  • Biến ngẫu nhiên liên tục: Những biến này có thể nhận bất kỳ giá trị nào trong một miền liên tục. Biến liên tục được dùng cho các mô phỏng liên quan đến đo lường vật lý hoặc khoảng thời gian.

Biến ngẫu nhiên được sử dụng trong mô phỏng vì chúng chứa đựng sự bất định mà các kỹ thuật Monte Carlo được thiết kế để khám phá và định lượng.

Phân phối xác suất

Phân phối xác suất mô tả cách các xác suất được phân bổ trên các giá trị của một biến ngẫu nhiên.

Phân phối xác suất được dùng trong mô phỏng Monte Carlo để xác định cách các đầu vào hoặc kịch bản khác nhau được kỳ vọng vận hành, điều này rất quan trọng cho việc mô hình hóa và ra quyết định chính xác.

Phân phối chuẩn là phân phối được sử dụng phổ biến nhất trong thống kê và mô phỏng vì nhiều hiện tượng tự nhiên và do con người tạo ra có xu hướng tuân theo phân phối này nhờ Định lý Giới hạn Trung tâm.

Phân phối chuẩn

Phân phối chuẩn (Nguồn)

Phân phối chuẩn được dùng để mô hình hóa các biến chịu ảnh hưởng của nhiều tác động nhỏ, độc lập, như sai số đo lường hoặc lợi nhuận thị trường chứng khoán.

Một số phân phối xác suất khác gồm phân phối đều, dùng khi bất kỳ kết quả nào trong một khoảng xác định đều có khả năng như nhau — giả định thường gặp trong mô phỏng khi không có dữ liệu trước đó; và phân phối nhị thức, dùng khi mô hình hóa các kịch bản với hai khả năng (thành công/thất bại) qua một loạt thí nghiệm, như kiểm thử đạt/trượt hoặc kiểm soát chất lượng.

Giờ đây khi đã hiểu các khái niệm và lý thuyết đằng sau mô phỏng Monte Carlo, hãy chuyển sang phần triển khai.

Vì sao dùng Excel cho mô phỏng Monte Carlo?

Khi bạn đã chọn triển khai mô phỏng Monte Carlo, bạn có nhiều công cụ hỗ trợ mô phỏng như Excel, Python, R, SAS và MATLAB.

Yếu tố quan trọng nhất cần cân nhắc, đặc biệt khi lần đầu thực hiện mô phỏng Monte Carlo, là mức độ quen thuộc tổng thể của bạn với công cụ. Excel là một trong những công cụ được dùng rộng rãi nhất trong môi trường doanh nghiệp, nghĩa là nhiều người đã quen với các thao tác cơ bản. Điều này rút ngắn thời gian đào tạo và loại bỏ nhu cầu học phần mềm mới từ đầu.

Excel cũng cung cấp các công cụ dễ dùng để tạo biểu đồ và đồ thị, hữu ích cho việc trực quan hóa kết quả mô phỏng. Ngoài ra, có sẵn một số tiện ích bổ sung mạnh mẽ cho Excel, giúp tăng cường khả năng thực hiện các mô phỏng Monte Carlo phức tạp.

Tuy nhiên, cũng cần lưu ý rằng với các mô phỏng nâng cao hơn, đặc biệt là những mô phỏng cần xử lý tập dữ liệu lớn hoặc chạy số lượng mô phỏng rất cao, các công cụ chuyên biệt khác ngoài Excel có thể phù hợp hơn.

Các hàm Excel then chốt cho Monte Carlo

Tiếp theo, chúng ta sẽ khám phá hai hàm Excel thiết yếu: RAND()NORM.INV(), gồm cú pháp, tham số và các trường hợp sử dụng điển hình. Những hàm này giúp tạo số ngẫu nhiên và xác định phân phối xác suất, là các khía cạnh nền tảng của mọi mô phỏng.

Hàm RAND()

RAND() tạo ra một số ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ hơn 1. Các số được phân phối đều, nghĩa là bất kỳ số nào trong khoảng xác định đều có khả năng xuất hiện như nhau.

Cú pháp của RAND() như sau:

RAND()

Hàm RAND() không yêu cầu đối số nào. Chỉ cần dùng đơn giản là RAND().

Trong bối cảnh mô phỏng Monte Carlo, RAND() có thể được dùng để mô phỏng xảy ra của các sự kiện ngẫu nhiên hoặc để biến thiên các đầu vào trong mô hình.

Hàm NORM.INV()

Trong khi RAND() tạo các số ngẫu nhiên phân phối đều, NORM.INV() được dùng để tạo số ngẫu nhiên từ phân phối chuẩn, một yêu cầu phổ biến trong mô phỏng Monte Carlo. Hàm này trả về nghịch đảo của phân phối tích lũy chuẩn cho một giá trị trung bình và độ lệch chuẩn xác định.

Cú pháp của hàm NORM.INV() như sau:

NORM.INV(probability, mean, standard_deviation)

Các tham số gồm:

  • probability: Một xác suất tương ứng với phân phối chuẩn, phải nằm trong khoảng từ 0 đến 1. Tham số này thường được tạo bởi hàm RAND().

  • mean: Trung bình số học của phân phối chuẩn.

  • standard_deviation: Độ lệch chuẩn của phân phối chuẩn, thước đo mức độ phân tán của các số quanh giá trị trung bình.

Hàm NORM.INV() được dùng để biến đổi các số ngẫu nhiên phân phối đều từ hàm RAND() thành các số tuân theo một phân phối chuẩn xác định. Điều này hữu ích khi mô hình hóa các biến được kỳ vọng thể hiện biến thiên tự nhiên theo đường cong chuẩn.

Giờ khi đã có đầy đủ các khối xây dựng, hàm và khái niệm đứng sau mô phỏng Monte Carlo, hãy triển khai một mô phỏng trong Microsoft Excel.

Triển khai mô phỏng Monte Carlo trong Microsoft Excel: Ví dụ

Hãy xem xét một tình huống bạn là nhà phân tích dữ liệu làm việc tại một công ty điện tử tiêu dùng năng động và được giao nhiệm vụ đánh giá tính khả thi tài chính của việc ra mắt một thiết bị đeo theo dõi sức khỏe mới.

Thị trường cho các thiết bị như vậy mang tính cạnh tranh và nhu cầu của người tiêu dùng có thể biến động mạnh, bị ảnh hưởng bởi yếu tố mùa vụ, hiệu quả marketing và động thái của đối thủ. Bên cạnh đó, chi phí sản xuất các thiết bị này cũng biến thiên do thay đổi giá vật liệu và bất định trong chuỗi cung ứng.

Bạn quyết định sử dụng mô phỏng Monte Carlo trong Excel để giải quyết các thách thức này. Bạn tin rằng cách tiếp cận này sẽ giúp ước tính khả năng sinh lời tiềm năng dưới các kịch bản khác nhau, qua đó cho phép công ty ra quyết định đúng đắn về chiến lược định giá, sản lượng và đầu tư marketing.

Bạn cũng đã phân tích dữ liệu quá khứ từ các đợt ra mắt sản phẩm tương tự và nghiên cứu thị trường trong ngành điện tử tiêu dùng. Từ phân tích này, bạn đi đến một số chỉ số sẽ định hướng mô phỏng của mình:

  • Nhu cầu trung bình 10.000 đơn vị cho thiết bị mới trong năm đầu sau khi ra mắt, với độ lệch chuẩn 2.000 đơn vị, phản ánh sự bất định trong mức độ chấp nhận của người tiêu dùng.
  • Giá bán đơn vị thường nằm trong khoảng 50 đến 70 USD, tùy thuộc vào mức độ cạnh tranh về giá và độ bão hòa thị trường.
  • Chi phí đơn vị, chịu ảnh hưởng bởi giá vật liệu biến động và hiệu quả sản xuất, trung bình 30 USD mỗi đơn vị với độ lệch chuẩn 5 USD.

Dữ liệu lịch sử này tạo thành các giả định nền tảng cho tham số mô phỏng của bạn, giúp xây dựng mô phỏng phản ánh chính xác hơn điều kiện thị trường hiện tại.

Các bước bạn có thể thực hiện để triển khai mô phỏng Monte Carlo cho ví dụ cụ thể này như sau:

Bước 1: Thiết lập trang tính Excel

Đầu tiên, chuẩn bị bảng tính Excel với các cột cho từng biến và một cột cho lợi nhuận được tính.

Ban đầu sẽ trông như sau:

Thiết lập trang tính Excel.

Thiết lập trang tính Excel.

Bước 2: Nhập công thức cho các biến

Ở mỗi hàng, bạn sẽ nhập công thức để tạo giá trị ngẫu nhiên cho nhu cầu, giá bán và chi phí dựa trên các phân phối đã xác định:

  • Nhu cầu: Phân phối chuẩn (trung bình = 10.000 đơn vị, độ lệch chuẩn = 2.000 đơn vị)
  • Giá bán: Phân phối đều (50 đến 70 USD)
  • Chi phí: Phân phối chuẩn (trung bình = 30 USD, độ lệch chuẩn = 5 USD)

Để nhập lần lượt các công thức này, chọn ô A2 và gõ:

=NORM.INV(RAND(), 10000, 2000)

Phương trình trên tạo một phân phối chuẩn với trung bình và độ lệch chuẩn đã cho như dưới đây:

Tạo phân phối cho nhu cầu.

Tạo phân phối cho nhu cầu.

Tiếp theo, chọn ô B2 và gõ:

=50 + (70-50) * RAND()

Phương trình trên tạo phân phối đều giữa 50 và 70 USD cho giá bán như sau:

Tạo phân phối cho giá bán.

Tạo phân phối cho giá bán.

Chọn ô C2 và gõ:

=NORM.INV(RAND(), 30, 5)

Tương tự phương trình cho nhu cầu, phương trình trên tạo một phân phối chuẩn với trung bình và độ lệch chuẩn đã cho như sau:

Tạo phân phối cho chi phí.

Tạo phân phối cho chi phí.

Bước 3: Tính biến phụ thuộc

Giờ hãy tính lợi nhuận, tức biến phụ thuộc, cho mỗi mô phỏng bằng công thức ở cột D:

=(B2 - C2) * A2

Tính lợi nhuận.

Tính lợi nhuận.

Bước 4: Điền xuống để mô phỏng nhiều kịch bản

Những gì ta đã làm đến giờ mới tạo ra một mô phỏng duy nhất. Hãy mở rộng thành nhiều mô phỏng, ví dụ một nghìn lần.

Chọn các ô từ A2 đến D2 và kéo chốt điền (ô vuông nhỏ ở góc dưới bên phải vùng chọn) xuống để sao chép công thức qua số hàng bạn muốn mô phỏng (ví dụ, 1000 hàng cho 1000 mô phỏng).

Bảng tính sẽ trông như thế này:

Tạo các mô phỏng.

Tạo các mô phỏng.

Bước 5: Phân tích kết quả

Sau khi chạy mô phỏng, bạn có thể phân tích kết quả bằng các hàm thống kê như giá trị nhỏ nhất, lớn nhất, trung bình và độ lệch chuẩn. Đừng ngần ngại tham khảo nhanh bảng gian lận Excel để ôn lại các hàm tích hợp mà chúng ta sẽ dùng tiếp theo.

Để tìm lợi nhuận trung bình kỳ vọng mỗi tháng, gõ công thức sau vào một ô, chẳng hạn G6:

=AVERAGE(D2:D1001)

Để tìm lợi nhuận nhỏ nhất kỳ vọng mỗi tháng, gõ công thức sau vào một ô, chẳng hạn G7:

=MIN(D2:D1001)

Để tìm lợi nhuận lớn nhất kỳ vọng mỗi tháng, gõ công thức sau vào một ô, chẳng hạn G8:

=MAX(D2:D1001)

Để tìm độ lệch chuẩn của lợi nhuận, gõ công thức sau vào một ô, chẳng hạn G9:

=STDEV.P(D2:D1001)

Sau khi thực hiện, trang tính Excel sẽ trông như sau:

Phân tích kết quả mô phỏng.

Phân tích kết quả mô phỏng.

Chúng ta có thể diễn giải các kết quả ước tính và hàm ý cho việc ra mắt sản phẩm như sau:

  • Lợi nhuận trung bình thể hiện lợi nhuận kỳ vọng từ việc ra mắt thiết bị theo dõi sức khỏe mới. Trung bình, mỗi lần chạy mô phỏng dự đoán chúng ta có thể đạt khoảng 298.278,67 USD lợi nhuận. Con số này hữu ích như một ước lượng trung tâm về khả năng sinh lời theo các giả định đã cho.
  • Lợi nhuận tối thiểu 67.598,78 USD là mức lợi nhuận thấp nhất quan sát được trong tất cả các mô phỏng. Nó cho thấy kịch bản xấu nhất theo các giả định của mô hình, vẫn có lãi nhưng thấp đáng kể so với trung bình. Điều này có thể do nhu cầu đặc biệt thấp hoặc điều kiện chi phí bất lợi trong mô phỏng cụ thể đó.
  • Lợi nhuận tối đa 641.955,42 USD đại diện cho kịch bản tốt nhất, khi nhu cầu và giá có khả năng ở mức cao nhất và chi phí ở mức thấp nhất trong tất cả mô phỏng. Điều này cho thấy tiềm năng tăng trưởng nếu điều kiện trở nên rất thuận lợi.

Với khoảng chênh lớn giữa lợi nhuận tối thiểu và tối đa cùng độ lệch chuẩn đáng kể, có rủi ro tài chính đáng kể gắn với việc ra mắt sản phẩm mới.

Nhà quản lý nên cân nhắc liệu công ty có thoải mái với mức độ bất định này và khả năng lợi nhuận thấp hơn trung bình hay không.

Ngoài ra, dù là tùy chọn, chúng tôi khuyến khích bạn tạo các trực quan hóa như Biểu đồ tần suất (Histogram) để có cái nhìn trực quan về kết quả mô phỏng.

Kỹ thuật cải thiện mô phỏng Monte Carlo trong Excel

Khi chạy lại cùng mô phỏng như trên, bạn có thể quan sát sự khác biệt nhỏ trong các phép tính, như hình dưới:

Kết quả mô phỏng biến động.

Kết quả mô phỏng biến động.

Đó là vì các giá trị của mô phỏng gốc có thể thay đổi giữa các lần lặp, ảnh hưởng đến các ước tính thu được. Dù biến động nhỏ, khi giá trị ước tính thay đổi, các nhà quản lý có thể lo ngại về độ chính xác và độ tin cậy của mô phỏng.

Hãy cùng khám phá một vài kỹ thuật nâng cao có thể dùng để cải thiện độ chính xác và độ tin cậy của mô phỏng.

Tăng số lượng mô phỏng

Chạy số lượng mô phỏng lớn hơn giúp triệt tiêu các dao động ngẫu nhiên và mang lại ước tính ổn định, chính xác hơn về kết quả.

Với ví dụ trên, chúng ta có thể tăng số lần chạy mô phỏng (ví dụ, từ 1.000 lên 10.000 hoặc hơn), đặc biệt khi xử lý các tham số có độ biến thiên cao.

Việc xác định số lượng mô phỏng “đúng” phụ thuộc vào nhiều yếu tố.

Mô hình càng phức tạp (tức có nhiều biến và phạm vi tương tác rộng), thường cần nhiều mô phỏng hơn để bao quát các kết quả khả dĩ và đảm bảo kết quả không do ngẫu nhiên.

Nếu đầu vào có độ biến thiên cao hoặc lệch mạnh, sẽ cần nhiều mô phỏng hơn để ước tính chính xác phần đuôi (các giá trị cực trị) của phân phối kết quả.

Đối với các phân tích chi tiết hơn, đặc biệt trong tài chính hoặc quản trị rủi ro, việc chạy 10.000 đến 100.000 mô phỏng là không hiếm. Khoảng này thường được dùng để đảm bảo kết quả vững chắc trên nhiều kịch bản và đầu vào. Tất nhiên, như đã đề cập, với phân tích quy mô lớn như vậy, Excel không phải lúc nào cũng là công cụ tốt nhất; R hoặc Python thường phù hợp hơn.

Tinh chỉnh các phân phối đầu vào

Độ chính xác của mô phỏng phụ thuộc phần lớn vào mức độ phản ánh đúng bất định và hành vi thực sự của các biến nền tảng trong các phân phối xác suất đầu vào. Trong ví dụ trên, chúng ta giả định phân phối chuẩn cho nhu cầu và chi phí, và phân phối đều cho giá bán.

Ngoài ra, chúng ta có thể phân tích dữ liệu lịch sử toàn diện hơn để tham số hóa phân phối tốt hơn. Có thể hiểu rõ hơn hành vi của chi phí, giá bán và nhu cầu trước các yếu tố bên ngoài dựa trên ý kiến chuyên gia lĩnh vực. Chúng ta cũng có thể cân nhắc sử dụng các phân phối như log-normal, beta hoặc gamma, hoặc tạo các phân phối tùy chỉnh dựa trên dữ liệu thực nghiệm.

Thực hiện phân tích độ nhạy

Phân tích này được thực hiện để hiểu biến đầu vào nào có tác động lớn nhất đến đầu ra bằng cách thay đổi có hệ thống từng đầu vào trong khi giữ các biến khác cố định.

Trong ví dụ trên, chúng ta có thể giữ cố định hai biến và thay đổi phân phối của một biến để hiểu sự thay đổi trong các ước tính. Sau đó lặp lại quy trình với hai biến còn lại lần lượt. Cuối cùng, kỹ thuật này giúp xác định biến nào cần tập trung nỗ lực để cải thiện độ chính xác.

Áp dụng lặp đi lặp lại các kỹ thuật trên và phân tích kết quả có thể dẫn đến kết quả chính xác và đáng tin cậy hơn.

Kết luận

Hướng dẫn này đã giới thiệu bạn về mô phỏng Monte Carlo và các khái niệm thống kê liên quan. Sau khi giới thiệu các hàm Excel phù hợp, hướng dẫn đã cung cấp quy trình từng bước để triển khai mô phỏng Monte Carlo trong Excel bằng một ví dụ thực tế.

Cuối cùng, bạn đã biết một số thực tiễn tốt nhất và kỹ thuật nâng cao để đảm bảo kết quả chính xác và đáng tin cậy hơn.

Nếu bạn đặc biệt quan tâm đến việc triển khai mô phỏng Monte Carlo trên các công cụ khác như Python hoặc R, hai tài nguyên sau sẽ hữu ích:

Hoặc, nếu bạn muốn gắn bó với Microsoft Excel quen thuộc và muốn nâng cao kỹ năng với công cụ được sử dụng rộng rãi này, bạn nên xem lộ trình Excel Fundamentals của chúng tôi.


Arunn Thevapalan's photo
Author
Arunn Thevapalan
LinkedIn
Twitter

Với vai trò nhà khoa học dữ liệu cao cấp, tôi thiết kế, phát triển và triển khai các giải pháp học máy quy mô lớn để giúp doanh nghiệp ra quyết định dựa trên dữ liệu hiệu quả hơn. Với vai trò tác giả về khoa học dữ liệu, tôi chia sẻ những bài học kinh nghiệm, lời khuyên nghề nghiệp và các hướng dẫn thực hành chuyên sâu.

Chủ đề

Tiếp tục hành trình Excel của bạn ngay hôm nay!

Courses

Nghiên cứu tình huống: Quản trị Doanh thu Ròng trong Excel

4 giờ
5.1K
Bạn sẽ sử dụng các kỹ thuật Quản lý Doanh thu Thuần trong Excel cho một công ty Hàng Tiêu Dùng Nhanh.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Có liên quan

blogs

Claude Opus 4.6: Tính năng, điểm chuẩn, các bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu bảng xếp hạng về mã hóa theo hướng tác nhân và suy luận phức tạp. Thêm nữa, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm