Ngẫu nhiên bằng Excel
Không phải người dùng nào cũng có nhu cầu về số ngẫu nhiên trong Excel. Hầu hết mọi người làm việc với các số và công thức cố định và có thể không cần các số ngẫu nhiên xuất hiện trong báo cáo của họ Show
Tuy nhiên, một trình tạo số ngẫu nhiên có công dụng rất lớn khi làm việc với các tình huống khác nhau trên một tập hợp dữ liệu hoặc khi thực hiện các phân tích thống kê khác nhau Một mô hình tài chính có thể sử dụng mô phỏng ngẫu nhiên phụ thuộc vào xác suất. Mô hình có thể cần được chạy hàng nghìn lần, nhưng với trình tạo số ngẫu nhiên cung cấp các tham số của mỗi mô phỏng Bất kể nhu cầu của bạn về số ngẫu nhiên là gì, Excel có một số cách để tạo chúng Trong bài đăng này, tôi sẽ chỉ cho bạn tất cả các phương pháp bạn có thể sử dụng để chèn các số ngẫu nhiên vào sổ làm việc của mình Tạo số ngẫu nhiên bằng hàm RANDCách đầu tiên tôi sẽ chỉ cho bạn là cách dễ nhất để tạo các giá trị ngẫu nhiên trong Excel Có một hàm RAND rất đơn giản không yêu cầu tham số và sẽ tạo một số ngẫu nhiên trong khoảng từ 0 đến 1 Cú pháp hàm RAND
Hàm này không có đối số bắt buộc hoặc tùy chọn. Hàm luôn được nhập với một bộ dấu ngoặc đơn trống Hàm này sẽ tạo ra một số thập phân ngẫu nhiên trong khoảng từ 0 đến 1, nhưng không bao gồm 0 hoặc 1 Các giá trị lặp lại có thể xảy ra nhưng không chắc vì hàm RAND tạo ra các số từ một dãy số liên tục Các giá trị được trả về sẽ tuân theo phân phối đồng đều. Điều này có nghĩa là bất kỳ số nào trong khoảng từ 0 đến 1 đều có khả năng được trả về như nhau Tạo số ngẫu nhiên giữa hai số bất kỳSố thập phân từ 0 đến 1 có thể không quá hữu ích nếu bạn cần các số từ 1 đến 10 Nhưng bạn có thể sử dụng một công thức đơn giản liên quan đến hàm RAND để tạo các số ngẫu nhiên giữa hai số bất kỳ
Nói chung, bạn có thể tạo một số ngẫu nhiên giữa X và Y bằng cách sử dụng công thức trên
Ví dụ: để tạo các số từ 1 đến 10, bạn có thể sử dụng công thức trên Điều này nhân số ngẫu nhiên được tạo bởi 9 và sau đó thêm 1 vào số đó. Điều này sẽ tạo ra các số thập phân từ 1 đến 10 Tạo số nguyên ngẫu nhiên giữa hai số bất kỳMột nhu cầu khác mà bạn có thể gặp phải là tạo các số nguyên ngẫu nhiên giữa hai số đã cho. Điều này cũng có thể được thực hiện bằng cách sử dụng một công thức đơn giản
Nói chung, bạn có thể sử dụng công thức trên để tạo số nguyên ngẫu nhiên giữa hai giá trị X và Y
Ví dụ: công thức trên sẽ tạo ra các số nguyên ngẫu nhiên trong khoảng từ 1 đến 10 Đây là công thức giống như trước, nhưng sử dụng hàm ROUND để làm tròn đến 0 chữ số thập phân Bạn có thể sao chép công thức này xuống cột trên bảng tính và nếu bạn tiếp tục nhấn F9 để tính lại, bạn sẽ thấy các tổ hợp số khác nhau từ 1 đến 10 Vì tập hợp các số có thể là rời rạc, nên các số ngẫu nhiên được tạo có thể được nhân đôi trong danh sách, tùy thuộc vào mức tối thiểu và tối đa của phạm vi
Điều này cũng hoạt động để tạo ra số âm. Giả sử bạn cần tạo các số nguyên ngẫu nhiên trong khoảng từ -3 đến 4, thì công thức trên sẽ là thứ bạn cần Nhân hàm RAND với 7 sẽ tạo ra các số ngẫu nhiên trong khoảng từ 0 đến 7. Thêm -3 vào kết quả và làm tròn đến 0 chữ số thập phân, điều này sẽ cho dãy số ngẫu nhiên từ -3 đến 4 Tạo số ngẫu nhiên bằng Hàm RANDBETWEENExcel có một chức năng hữu ích để tạo các số ngẫu nhiên trong phạm vi số trên và số dưới Điều này dễ sử dụng hơn so với sử dụng hàm RAND vì nó bao gồm các toán tử bổ sung để đi đến phạm vi cụ thể của bạn Cú pháp hàm RANDBETWEEN
Cả hai đối số này đều bắt buộc Hàm này sẽ tạo ra các số nguyên ngẫu nhiên giữa các giá trị dưới cùng và trên cùng. Hàm này cũng sẽ trả về các giới hạn trên và dưới ở mức có thể vì nó không hoàn toàn nằm trong hàm này Ví dụ với Hàm RANDBETWEEN
Ví dụ: nếu bạn muốn các số ngẫu nhiên trong khoảng từ -3 đến 4, như trong ví dụ trước, bạn có thể sử dụng công thức trên
Tạo số ngẫu nhiên bằng Hàm RANDARRAYThông thường, đó là trường hợp bạn không muốn chỉ một giá trị ngẫu nhiên mà là toàn bộ tập hợp các giá trị ngẫu nhiên Hàm RANDARRAY là giải pháp hoàn hảo cho việc này Nó sẽ điền vào một dải ô có một dãy số ngẫu nhiên, có thể rất mạnh Hàm này chỉ có trên phiên bản Microsoft 365 của Excel Cú pháp của hàm RANDARRAY________số 8_______
Tất cả các đối số là tùy chọn cho chức năng này Nếu không có tham số nào được đưa vào, bạn sẽ nhận được một số ngẫu nhiên có chữ số thập phân, giống như hàm RAND Ví dụ với hàm RANDARRAY
Để tạo một mảng gồm 4 hàng và 3 cột gồm các số nguyên ngẫu nhiên trong khoảng từ 6 đến 14, bạn có thể sử dụng công thức trên Điều này sẽ tạo ra một mảng các giá trị. Chú ý đường viền màu xanh xung quanh các con số?
Nếu bạn không đặt giá trị tối thiểu hoặc tối đa, giá trị mặc định từ 0 đến 1 sẽ được sử dụng Giá trị nhỏ nhất phải nhỏ hơn giá trị lớn nhất nếu không sẽ có lỗi #VALUE. lỗi Mảng sẽ tự động thay đổi kích thước nếu bạn thay đổi tham số hàng hoặc cột trong công thức RANDARRAY. Đây là lý do tại sao chúng được gọi là mảng động
Tạo số ngẫu nhiên bằng phần bổ trợ công cụ phân tíchCó một phương pháp khác có thể được sử dụng để chèn số ngẫu nhiên mà không cần sử dụng công thức Bạn có thể sử dụng add-in để tạo số ngẫu nhiên. Excel đi kèm với phần bổ trợ Công cụ phân tích Pak, nhưng bạn sẽ cần phải cài đặt phần bổ trợ này trước khi có thể sử dụng Cài đặt Toolpak phân tíchDưới đây là các bước để cài đặt bổ trợ Công cụ phân tích Pak
Tạo số ngẫu nhiên bằng Toolpak phân tíchNhấp vào nút Phân tích dữ liệu trong nhóm Phân tích Điều này sẽ hiển thị một cửa sổ bật lên. Cuộn xuống và chọn tùy chọn Tạo số ngẫu nhiên rồi nhấp vào OK Một cửa sổ bật lên mới sẽ xuất hiện nơi bạn có thể nhập các tham số của mình để tạo các số ngẫu nhiên Có một số cài đặt có thể được tùy chỉnh
Nhấn nút OK và Excel sẽ chèn số ngẫu nhiên theo các tùy chọn đã chọn Lưu ý rằng không giống như các phương pháp công thức được hiển thị trước đây, những con số này được mã hóa cứng và sẽ không thay đổi khi bạn làm mới các phép tính trong sổ làm việc Tạo số ngẫu nhiên với VBAVBA (Visual Basic for Applications) là ngôn ngữ lập trình nằm phía sau giao diện người dùng của Excel và ngôn ngữ này cũng có thể được sử dụng để tạo số ngẫu nhiên Tuy nhiên, nó phức tạp hơn việc chỉ nhập công thức vào một ô trong Excel và bạn cần có một số kiến thức lập trình để sử dụng nó Để mở trình soạn thảo VBA, hãy sử dụng phím tắt Alt + F11 Trong ngăn bên trái của cửa sổ (Project Explorer), bạn sẽ thấy các sổ làm việc đang mở (bao gồm cả phần bổ trợ) và các trang tính có sẵn Trên menu ở đầu cửa sổ, nhấp vào Chèn rồi nhấp vào Mô-đun. Điều này sẽ thêm một cửa sổ mô-đun vào bảng tính hiện tại. Dán hoặc thêm đoạn mã sau vào mô-đun 0Nhấn F5 để chạy cái này và một thông báo bật lên sẽ xuất hiện trong Excel với một số ngẫu nhiên được hiển thị. Nhấn OK và bạn sẽ quay lại cửa sổ mã Chạy lại mã và một số ngẫu nhiên khác sẽ được hiển thị. Số ngẫu nhiên sẽ nằm trong khoảng từ 0 đến 1, nhưng sẽ không bao gồm các giá trị 0 hoặc 1 Bạn cũng có thể cung cấp cho hàm Rnd một tham số, là hạt giống cho điểm bắt đầu của thuật toán để tạo ra các số ngẫu nhiên Nếu giá trị hạt giống được đặt thành số âm hoặc số không, thì cùng một số ngẫu nhiên sẽ được hiển thị mỗi lần Sử dụng các hàm VBA, bạn có thể mô phỏng tất cả các chức năng của các phương pháp giao diện người dùng đã được đề cập trong bài viết này 1Ví dụ: nếu bạn muốn tạo toàn bộ số ngẫu nhiên từ 3 đến 10, thì bạn sẽ sử dụng đoạn mã trên Mã này nhân số ngẫu nhiên với 7, sau đó cộng 3 vào số đó, sau đó làm tròn đến 0 chữ số thập phân Giả sử rằng sau đó bạn muốn hiển thị các số ngẫu nhiên của mình trong lưới. Bạn có thể làm điều này với đoạn mã sau 2Mã này sử dụng vòng lặp For Next để lặp lại 5 lần thông qua phép tính số ngẫu nhiên và nhập kết quả vào một cột gồm các ô bắt đầu từ ô A1. Hãy nhớ rằng mọi dữ liệu đã có sẽ bị ghi đè và không có tính năng cảnh báo hoặc hoàn tác nào khả dụng. Lưu trước mọi công việc trước đó 3Ngoài ra còn có một chức năng VBA được gọi là Randomize. Bạn có thể sử dụng giá trị này trước hàm Rnd để đặt lại giá trị gốc cho sự kiện hẹn giờ hoặc cho bất kỳ tham số nào đã cho Tạo số ngẫu nhiên mà không trùng lặp hoặc lặp lạiBạn có thể gặp trường hợp muốn tạo một dãy số ngẫu nhiên, nhưng bạn không muốn thấy bất kỳ giá trị trùng lặp nào xuất hiện Bạn có thể muốn chọn 3 số ngẫu nhiên giữa các số từ 1 đến 10, nhưng mỗi số trong 3 số được chọn là duy nhất Bạn có thể tạo các số ngẫu nhiên bằng hàm RANDBETWEEN, sau đó sử dụng hàm Excel Loại bỏ các số trùng lặp khỏi dải băng, nhưng điều này vẫn có thể không cung cấp cho bạn tất cả các số cần thiết Có một số giải pháp khả thi Giải pháp với RANK. Chức năng EQ và COUNTIFNếu bạn không có quyền truy cập vào hàm RANDARRAY trong Excel thì bạn có thể sử dụng kết hợp RANK. EQ và COUNTIF để nhận các số ngẫu nhiên duy nhất Bạn có thể tạo các số ngẫu nhiên của mình bằng cách sử dụng RANDBETWEEN và sau đó sử dụng công thức trong cột tiếp theo để xếp hạng chúng, do đó cung cấp cho bạn một chuỗi được sắp xếp ngẫu nhiên từ 1 đến 10 4Tại ô B2, nhập công thức trên. Sao chép công thức này xuống để có 10 hàng số ngẫu nhiên đi xuống ô B11 Bạn sẽ nhận thấy rằng một số số có thể bị trùng lặp và một số hoàn toàn không được hiển thị Sau đó, bạn có thể sử dụng RANK. Chức năng EQ để xếp hạng chúng để tạo ra một chuỗi từ 1 đến 10 nhưng được sắp xếp ngẫu nhiên 5Trong ô C2, nhập công thức trên Lưu ý rằng có các tham chiếu tuyệt đối được sử dụng (dấu $) để các tham chiếu công thức được cố định khi bạn sao chép công thức xuống Sao chép công thức này xuống ô C11 và điều này sẽ hiển thị tất cả các số từ 1 đến 10, nhưng theo thứ tự ngẫu nhiên Để giải thích sâu hơn về công thức này, nó sử dụng hai hàm RANK. EQ và COUNTIF 6
Cấp bậc. Hàm EQ trả về thứ hạng của một số trong một mảng số 7
Hàm COUNTIF đếm số ô dựa trên tiêu chí cho trước. Trong trường hợp này, nó đang đếm số lần một số ngẫu nhiên đã cho xuất hiện trong danh sách Đối với mỗi số ngẫu nhiên, RANK. Chức năng EQ sẽ xác định vị trí xếp hạng của nó so với các số ngẫu nhiên khác. Nhưng nếu các số ngẫu nhiên chứa các số trùng lặp, thì chúng sẽ tạo ra một thứ hạng gắn liền Hàm COUNTIF sẽ bù trừ cho bất kỳ ràng buộc nào trong xếp hạng và sẽ thêm một vào xếp hạng cho mỗi lần số ngẫu nhiên xuất hiện trước đó Điều này tạo ra một thứ hạng duy nhất trong đó các mối quan hệ không có cùng thứ hạng Vì thứ hạng này dựa trên một tập hợp các số ngẫu nhiên nên kết quả cũng giống như xếp hạng ngẫu nhiên một danh sách các số từ 1 đến 10 Bây giờ, nếu bạn chỉ muốn 5 số không lặp lại, bạn chỉ cần lấy 5 số đầu tiên từ danh sách xếp hạng Giải pháp với VBABạn cũng có thể sử dụng VBA để tạo một chuỗi số ngẫu nhiên từ 1 đến 10 mà không trùng lặp 8Mã này lặp qua các giá trị từ 1 đến 5, tạo ra một số ngẫu nhiên trong khoảng từ 1 đến 10 mỗi lần Nó kiểm tra số ngẫu nhiên để kiểm tra xem nó đã được tạo chưa. Điều này được thực hiện bằng cách nối các số thành công thành một chuỗi và sau đó tìm kiếm chuỗi đó để xem số đó đã được sử dụng chưa Nếu nó đã được tìm thấy, thì nó sử dụng nhãn Lặp lại để quay lại và tạo lại một số mới. Điều này một lần nữa được kiểm tra rằng nó chưa được sử dụng. Nếu đó là một số mới, thì nó sẽ được thêm vào trang tính Giải pháp với mảng độngNếu bạn có mảng động trong Excel, thì có một phương pháp công thức duy nhất để tránh lặp lại các giá trị Giả sử bạn muốn trả về 5 số từ dãy 1 đến 10. Bạn muốn mỗi số được chọn là duy nhất Điều này có thể được thực hiện bằng cách sử dụng kết hợp các hàm SEQUENCE, SORTBY, RANDARRAY và INDEX 9Công thức trên tạo dãy số từ 1 đến 10 Sau đó, nó sắp xếp chúng theo một thứ tự ngẫu nhiên bằng cách sử dụng hàm SORTBY và sắp xếp trên một cột gồm các số ngẫu nhiên do hàm RANDARRAY tạo ra. Tác dụng là sắp xếp chuỗi theo thứ tự ngẫu nhiên Bây giờ nếu bạn muốn lấy 5 số ngẫu nhiên và duy nhất, bạn chỉ cần lấy 5 số đầu tiên trong dãy được sắp xếp ngẫu nhiên Đây chính xác là những gì chức năng INDEX làm. Phần này của công thức sẽ trả về 5 số đầu tiên từ chuỗi được sắp xếp ngẫu nhiên Phần kết luậnCó một số cách để tạo số ngẫu nhiên trong Excel Cho dù bạn cần số nguyên, số thập phân hay dãy số ngẫu nhiên có giới hạn trên và dưới, tiện ích này đều có sẵn. Excel cực kỳ linh hoạt về chủ đề này Tuy nhiên, hãy nhớ rằng những số này là số giả ngẫu nhiên do thuật toán tạo ra Mặc dù trình tạo số ngẫu nhiên vượt qua tất cả các bài kiểm tra về tính ngẫu nhiên, nhưng chúng không phải là số ngẫu nhiên thực sự Để trở thành một số thực sự ngẫu nhiên, nó phải được điều khiển bởi một sự kiện ngẫu nhiên xảy ra bên ngoài môi trường máy tính Đối với hầu hết các mục đích xây dựng mô phỏng chung và phân tích thống kê, trình tạo số ngẫu nhiên trong Excel được coi là phù hợp với mục đích này Bạn đã sử dụng bất kỳ phương pháp nào trong số này để tạo số ngẫu nhiên trong Excel chưa? |