Mục lục
Hướng dẫn cho biết cách tạo số ngẫu nhiên, sắp xếp ngẫu nhiên danh sách, lấy lựa chọn ngẫu nhiên và gán dữ liệu ngẫu nhiên cho các nhóm. Tất cả đều có một hàm mảng động mới - RANDARRAY.
Như bạn có thể biết, Microsoft Excel đã có một vài hàm ngẫu nhiên - RAND và RANDBETWEEN. ý nghĩa trong việc giới thiệu một cái khác là gì? Tóm lại là vì nó mạnh hơn rất nhiều và có thể thay thế cả những chức năng cũ. Ngoài việc thiết lập các giá trị tối đa và tối thiểu của riêng bạn, nó cho phép bạn chỉ định số lượng hàng và cột cần điền và liệu có tạo số thập phân hoặc số nguyên ngẫu nhiên hay không. Được sử dụng cùng với các hàm khác, RANDARRAY thậm chí có thể xáo trộn dữ liệu và chọn một mẫu ngẫu nhiên.
Hàm RANDARRAY Excel
Hàm RANDARRAY trong Excel trả về một mảng các số ngẫu nhiên giữa hai số bất kỳ mà bạn chỉ định.
Đây là một trong sáu hàm mảng động mới được giới thiệu trong Microsoft Excel 365. Kết quả là một mảng động tự động tràn vào số hàng và cột đã chỉ định.
Hàm có cú pháp như sau. Xin lưu ý rằng tất cả các đối số là tùy chọn:
RANDARRAY([hàng], [cột], [tối thiểu], [tối đa], [số_số])Ở đâu:
Hàng (tùy chọn) - xác định số hàng cần điền. Nếu bị bỏ qua, giá trị mặc định là 1 hàng.
Cột (tùy chọn) - xác định số lượng cột cần điền. Nếu bỏ qua, mặc định là 1chỉ định người tham gia vào các nhóm một cách ngẫu nhiên, công thức trên có thể không phù hợp vì nó không kiểm soát số lần một nhóm nhất định được chọn. Ví dụ, có thể xếp 5 người vào nhóm A trong khi chỉ có 2 người vào nhóm C. Để phân công ngẫu nhiên đồng đều , sao cho mỗi nhóm có số lượng người tham gia bằng nhau, bạn cần có một giải pháp khác.
Đầu tiên, bạn tạo danh sách các số ngẫu nhiên bằng cách sử dụng công thức sau:
=RANDARRAY(ROWS(A2:A13))
Trong đó A2:A13 là dữ liệu nguồn của bạn.
Sau đó, bạn chỉ định các nhóm (hoặc bất kỳ thứ gì khác) bằng cách sử dụng công thức chung sau:
INDEX( values_to_assign, ROUNDUP(RANK( first_random_number, random_numbers_range)/ n, 0))Trong đó n là kích thước nhóm, tức là số lần mỗi giá trị sẽ được chỉ định.
Ví dụ: để chỉ định ngẫu nhiên mọi người vào các nhóm được liệt kê trong E2:E5, sao cho mỗi nhóm có 3 người tham gia, hãy sử dụng công thức sau:
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Xin lưu ý rằng đây là công thức thông thường (không phải một công thức mảng động!), vì vậy, bạn cần khóa các phạm vi có tham chiếu tuyệt đối như trong công thức trên.
Nhập công thức của bạn vào ô trên cùng (trong trường hợp của chúng tôi là C2) và n kéo nó xuống bao nhiêu ô tùy ý. Kết quả sẽ giống như sau:
Hãy nhớ rằng hàm RANDARRAY không ổn định. Để ngăn tạo các giá trị ngẫu nhiên mới mỗi khi bạn thay đổi thứ gì đó trong trang tính, hãy thay thếcông thức với các giá trị của chúng bằng cách sử dụng tính năng Dán đặc biệt .
Cách thức hoạt động của công thức này:
Công thức RANDARRAY trong cột trợ giúp rất đơn giản và hầu như không cần giải thích, vì vậy, chúng ta hãy tập trung vào công thức trong cột C.
=INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))
Hàm RANK xếp hạng giá trị trong B2 so với mảng các số ngẫu nhiên trong B2:B13. Kết quả là một số nằm trong khoảng từ 1 đến tổng số người tham gia (trong trường hợp của chúng tôi là 12).
Thứ hạng được chia cho quy mô nhóm, (trong ví dụ của chúng tôi là 3) và hàm ROUNDUP làm tròn nó lên thành số nguyên gần nhất. Kết quả của thao tác này là một số từ 1 đến tổng số nhóm (4 trong ví dụ này).
Số nguyên chuyển đến đối số row_num của hàm INDEX, buộc nó phải trả về giá trị từ hàng tương ứng trong phạm vi E2:E5, đại diện cho nhóm được chỉ định.
Hàm RANDARRAY Excel không hoạt động
Khi công thức RANDARRAY của bạn trả về lỗi, đây là những dấu hiệu rõ ràng nhất lý do cần kiểm tra:
Lỗi #SPILL
Cũng như bất kỳ hàm mảng động nào khác, lỗi #SPILL! lỗi thường có nghĩa là không có đủ khoảng trống trong phạm vi tràn dự định để hiển thị tất cả các kết quả. Chỉ cần xóa tất cả các ô trong phạm vi này và công thức của bạn sẽ tự động tính toán lại. Để biết thêm thông tin, vui lòng xem Lỗi #SPILL trong Excel - nguyên nhân và cách khắc phục.
Lỗi #VALUE
A #VALUE! lỗi có thể xảy ra trong nhữngtrường hợp:
- Nếu giá trị max nhỏ hơn giá trị min .
- Nếu bất kỳ đối số nào không phải là số.
Lỗi #NAME
Trong hầu hết các trường hợp, lỗi #NAME! lỗi cho biết một trong những điều sau:
- Tên của hàm bị sai chính tả.
- Hàm này không có sẵn trong phiên bản Excel của bạn.
#CALC! lỗi
#CALC! xảy ra lỗi nếu đối số hàng hoặc cột nhỏ hơn 1 hoặc tham chiếu đến một ô trống.
Đó là cách tạo trình tạo số ngẫu nhiên trong Excel bằng công cụ mới hàm RANDARRAY. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!
Sách bài tập thực hành để tải xuống
Các ví dụ về công thức RANDARRAY (tệp .xlsx)
cột.Min (tùy chọn) - số ngẫu nhiên nhỏ nhất cần tạo. Nếu không được chỉ định, giá trị 0 mặc định sẽ được sử dụng.
Tối đa (tùy chọn) - số ngẫu nhiên lớn nhất cần tạo. Nếu không được chỉ định, giá trị 1 mặc định sẽ được sử dụng.
Whole_number (tùy chọn) - xác định loại giá trị sẽ trả về:
- TRUE - số nguyên
- SAI hoặc bị bỏ qua (mặc định) - số thập phân
Hàm RANDARRAY - những điều cần nhớ
Để tạo số ngẫu nhiên trong bảng tính Excel của bạn một cách hiệu quả, có 6 điểm quan trọng lưu ý:
- Hàm RANDARRAY chỉ khả dụng trong Excel cho Microsoft 365 và Excel 2021. Trong Excel 2019, Excel 2016 và các phiên bản cũ hơn, hàm RANDARRAY không khả dụng.
- Nếu mảng do RANDARRAY trả về là kết quả cuối cùng (đầu ra trong một ô và không được chuyển sang hàm khác), thì Excel sẽ tự động tạo một phạm vi tràn động và điền vào đó các số ngẫu nhiên. Vì vậy, hãy chắc chắn rằng bạn có đủ các ô trống phía dưới và/hoặc bên phải ô mà bạn nhập công thức, nếu không sẽ xảy ra lỗi #SPILL.
- Nếu không có đối số nào được chỉ định, hàm RANDARRAY( ) trả về một số thập phân duy nhất trong khoảng từ 0 đến 1.
- Nếu các đối số hàng hoặc/và cột được biểu thị bằng số thập phân, chúng sẽ bị cắt bớt thành toàn bộ số nguyên trước dấu thập phân (ví dụ: 5,9 sẽ được xử lýlà 5).
- Nếu đối số min hoặc max không được xác định, thì RANDARRAY mặc định tương ứng là 0 và 1.
- Giống như các giá trị ngẫu nhiên khác RANDARRAY của Excel là dễ bay hơi , có nghĩa là nó tạo ra một danh sách giá trị ngẫu nhiên mới mỗi khi tính toán trang tính. Để ngăn điều này xảy ra, bạn có thể thay thế công thức bằng các giá trị bằng cách sử dụng tính năng Dán đặc biệt > Giá trị của Excel.
Công thức RANDARRAY Excel cơ bản
Và bây giờ, hãy để tôi chỉ cho bạn một công thức Excel ngẫu nhiên ở dạng đơn giản nhất.
Giả sử bạn muốn điền vào một dải ô gồm 5 hàng và 3 cột với bất kỳ số ngẫu nhiên nào. Để hoàn thành, hãy thiết lập hai đối số đầu tiên theo cách này:
- Hàng là 5 vì chúng tôi muốn kết quả trong 5 hàng.
- Cột là 3 vì chúng tôi muốn kết quả trong 3 cột.
Tất cả các đối số khác, chúng tôi để nguyên giá trị mặc định của chúng và nhận được công thức sau:
=RANDARRAY(5, 3)
Nhập nó vào ô trên cùng bên trái của phạm vi đích (trong trường hợp của chúng tôi là A2), nhấn phím Enter và bạn sẽ có kết quả tràn ra số lượng hàng và cột đã chỉ định.
Như bạn có thể thấy trong ảnh chụp màn hình ở trên, công thức RANDARRAY cơ bản này sẽ điền vào phạm vi với các số thập phân ngẫu nhiên từ 0 đến 1. Nếu bạn muốn nhận các số nguyên trong một phạm vi cụ thể, thì hãy định cấu hình giá trị cuối cùng ba đối số như được minh họa trong các ví dụ khác.
Cách chọn ngẫu nhiên trongVí dụ về công thức Excel - RANDARRAY
Dưới đây, bạn sẽ tìm thấy một số công thức nâng cao bao gồm các tình huống ngẫu nhiên điển hình trong Excel.
Tạo số ngẫu nhiên giữa hai số
Để tạo danh sách các số ngẫu nhiên trong một phạm vi cụ thể, cung cấp giá trị nhỏ nhất trong đối số thứ 3 và số lớn nhất trong đối số thứ 4. Tùy thuộc vào việc bạn cần số nguyên hay số thập phân, hãy đặt đối số thứ 5 thành TRUE hoặc FALSE tương ứng.
Ví dụ: hãy điền một phạm vi gồm 6 hàng và 4 cột với các số nguyên ngẫu nhiên từ 1 đến 100. Đối với điều này , chúng tôi thiết lập các đối số sau của hàm RANDARRAY:
- Hàng là 6 vì chúng tôi muốn kết quả trong 6 hàng.
- Cột là 4 vì chúng tôi muốn có kết quả trong 4 cột.
- Tối thiểu là 1, là giá trị tối thiểu mà chúng tôi muốn có.
- Tối đa là 100, đây là giá trị tối đa được tạo.
- Số_số là TRUE vì chúng tôi cần số nguyên.
Đặt các đối số lại với nhau, chúng tôi nhận được công thức này:
=RANDARRAY(6, 4, 1, 100, TRUE)
Và nó tạo ra kết quả như sau:
Tạo ngày ngẫu nhiên giữa hai ngày
Tìm kiếm một trình tạo ngày ngẫu nhiên trong Excel? Hàm RANDARRAY là một giải pháp dễ dàng! Tất cả những gì bạn phải làm là nhập ngày trước đó (ngày 1) và ngày sau đó (ngày 2) vào các ô được xác định trước, sau đó tham chiếu các ô đó trong công thức của bạn:
RANDARRAY(hàng, cột, ngày1, date2, TRUE)Đối với ví dụ này, chúng tôi đã tạo danh sách các ngày ngẫu nhiên giữa các ngày trong D1 và D2 bằng công thức sau:
=RANDARRAY(10, 1, D1, D2, TRUE)
Tất nhiên, không có gì ngăn cản bạn cung cấp trực tiếp ngày tối thiểu và tối đa trong công thức nếu bạn muốn. Chỉ cần đảm bảo rằng bạn nhập chúng ở định dạng mà Excel có thể hiểu:
=RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)
Để tránh nhầm lẫn, bạn có thể sử dụng hàm DATE để nhập ngày:
=RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)
Lưu ý. Nội bộ Excel lưu trữ ngày tháng dưới dạng số sê-ri, do đó, kết quả công thức rất có thể sẽ được hiển thị dưới dạng số. Để hiển thị kết quả chính xác, hãy áp dụng định dạng Ngày cho tất cả các ô trong phạm vi tràn.
Tạo ngày làm việc ngẫu nhiên trong Excel
Để tạo ngày làm việc ngẫu nhiên, hãy nhúng hàm RANDARRAY vào đối số đầu tiên của WORKDAY như sau:
WORKDAY(RANDARRAY(hàng, cột, ngày1 , date2 , TRUE), 1)RANDARRAY sẽ tạo một mảng các ngày bắt đầu ngẫu nhiên, trong đó hàm WORKDAY sẽ thêm 1 ngày làm việc và đảm bảo rằng tất cả các ngày được trả về đều là ngày làm việc.
Với ngày 1 trong D1 và ngày 2 trong D2, đây là công thức để tạo danh sách 10 ngày trong tuần:
=WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)
Như với ví dụ trước, hãy nhớ định dạng phạm vi tràn là Ngày để kết quả được hiển thị chính xác.
Cách tạo số ngẫu nhiên không trùng lặp
Mặc dù Excel hiện đại cung cấp 6 mảng động mớiRất tiếc, vẫn chưa có hàm sẵn có để trả về các số ngẫu nhiên mà không trùng lặp.
Để tạo trình tạo số ngẫu nhiên duy nhất của riêng bạn trong Excel, bạn sẽ cần xâu chuỗi nhiều hàm lại với nhau như minh họa bên dưới.
Số nguyên ngẫu nhiên :
INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , TRUE)), SEQUENCE( n ))Số thập phân ngẫu nhiên :
INDEX(UNIQUE(RANDARRAY( n *2, 1, min , max , FALSE)), TRÌNH TỰ( n ))Ở đâu:
- N là số lượng giá trị bạn muốn tạo.
- Tối thiểu là giá trị thấp nhất.
- Tối đa là giá trị cao nhất.
Ví dụ: để tạo 10 số nguyên ngẫu nhiên không trùng lặp, hãy sử dụng công thức sau:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))
Để tạo một danh sách 10 số thập phân ngẫu nhiên duy nhất, thay đổi TRUE thành FALSE trong đối số cuối cùng của hàm RANDARRAY hoặc chỉ cần bỏ qua đối số này:
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))
Mẹo và lưu ý:
- Giải thích chi tiết về công thức có thể là f ound trong Cách tạo số ngẫu nhiên trong Excel mà không trùng lặp.
- Trong Excel 2019 trở về trước, hàm RANDARRAY không khả dụng. Thay vào đó, hãy xem giải pháp này.
Cách sắp xếp ngẫu nhiên trong Excel
Để xáo trộn dữ liệu trong Excel, hãy sử dụng RANDARRAY cho mảng "sắp xếp theo" ( by_array ) của hàm SORTBY. Hàm ROWS sẽ đếm số hàng trongtập dữ liệu, cho biết số lượng số ngẫu nhiên sẽ tạo:
SORTBY( data , RANDARRAY(ROWS( data )))Với phương pháp này, bạn có thể sắp xếp ngẫu nhiên danh sách trong Excel, cho dù danh sách đó chứa số, ngày tháng hay mục nhập văn bản:
=SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))
Ngoài ra, bạn cũng có thể xáo trộn các hàng mà không trộn dữ liệu của bạn:
=SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))
Cách lấy lựa chọn ngẫu nhiên trong Excel
Cách trích xuất ngẫu nhiên mẫu từ danh sách, đây là công thức chung để sử dụng:
INDEX( data , RANDARRAY( n , 1, 1, ROWS( data ), TRUE))Trong đó n là số lượng mục nhập ngẫu nhiên bạn muốn trích xuất.
Ví dụ: để chọn ngẫu nhiên 3 tên từ danh sách trong A2:A10, hãy sử dụng công thức này :
=INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))
Hoặc nhập cỡ mẫu mong muốn vào một số ô, chẳng hạn như C2 và tham chiếu ô đó:
=INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))
Cách thức hoạt động của công thức này:
Cốt lõi của công thức này là hàm RANDARRAY tạo ra một mảng số nguyên ngẫu nhiên, với giá trị trong C2 xác định số lượng giá trị cần tạo . Số tối thiểu được mã hóa cứng (1) và số tối đa tương ứng với số hàng trong tập dữ liệu của bạn, được trả về bởi hàm ROWS.
Mảng số nguyên ngẫu nhiên chuyển trực tiếp đến row_num Đối số của hàm INDEX, chỉ định vị trí của các mục sẽ trả về. Đối với mẫu trong ảnh chụp màn hình ở trên, đó là:
=INDEX(A2:A10, {8;7;4})
Mẹo. Khi chọn một mẫu lớn từmột tập dữ liệu nhỏ, rất có thể lựa chọn ngẫu nhiên của bạn sẽ chứa nhiều hơn một lần xuất hiện của cùng một mục nhập, vì không có gì đảm bảo rằng RANDARRAY sẽ chỉ tạo ra các số duy nhất. Để ngăn điều này xảy ra, hãy sử dụng phiên bản không trùng lặp của công thức này.
Cách chọn hàng ngẫu nhiên trong Excel
Nếu tập dữ liệu của bạn chứa nhiều cột, hãy chỉ định cột nào sẽ được đưa vào mẫu. Đối với điều này, hãy cung cấp một hằng số mảng cho đối số cuối cùng ( column_num ) của hàm INDEX, như sau:
=INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})
Trong đó A2:B10 là dữ liệu nguồn và D2 là cỡ mẫu.
Do đó, lựa chọn ngẫu nhiên của chúng tôi sẽ chứa hai cột dữ liệu:
Mẹo. Như trường hợp của ví dụ trước, công thức này có thể trả về các bản ghi trùng lặp. Để đảm bảo rằng mẫu của bạn không lặp lại, hãy sử dụng phương pháp hơi khác được mô tả trong Cách chọn hàng ngẫu nhiên không trùng lặp.
Cách gán ngẫu nhiên số và văn bản trong Excel
Để thực hiện gán ngẫu nhiên trong Excel, hãy sử dụng RANDBETWEEN cùng với hàm CHOOSE theo cách sau:
CHOOSE(RANDARRAY(ROWS( data ), 1, 1, n , TRUE), giá trị1 , giá trị2 ,…)Ở đâu:
- Dữ liệu là một phạm vi dữ liệu nguồn mà bạn muốn gán giá trị ngẫu nhiên.
- N là tổng số giá trị cần gán.
- Giá trị1 , giá trị2 , giá trị3 , v.v. là các giá trị đượcđược chỉ định ngẫu nhiên.
Ví dụ: để chỉ định các số từ 1 đến 3 cho những người tham gia trong A2:A13, hãy sử dụng công thức sau:
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)
Để thuận tiện, bạn có thể nhập các giá trị để gán trong các ô riêng biệt, chẳng hạn như từ D2 đến D4 và tham chiếu các ô đó trong công thức của bạn (riêng lẻ, không phải dưới dạng một phạm vi):
=CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)
Kết quả là bạn sẽ có thể chỉ định ngẫu nhiên bất kỳ số, chữ cái, văn bản, ngày và giờ nào theo cùng một công thức:
Lưu ý. Hàm RANDARRAY sẽ tiếp tục tạo các giá trị ngẫu nhiên mới với mỗi thay đổi trong trang tính, do đó, các giá trị mới sẽ được chỉ định mỗi lần. Để "sửa chữa" các giá trị được chỉ định, hãy sử dụng công cụ Dán Đặc biệt > Các tính năng giá trị để thay thế các công thức bằng các giá trị được tính toán của chúng.
Cách thức hoạt động của công thức này
Trọng tâm của giải pháp này lại là hàm RANDARRAY tạo ra một mảng các số nguyên ngẫu nhiên dựa trên các số tối thiểu và tối đa mà bạn chỉ định (từ 1 đến 3 trong trường hợp của chúng tôi). Hàm ROWS cho RANDARRAY biết cần tạo bao nhiêu số ngẫu nhiên. Mảng này đi đến đối số index_num của hàm CHOOSE. Ví dụ:
=CHOOSE({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)
Index_num là đối số xác định vị trí của các giá trị sẽ trả về. Và vì các vị trí là ngẫu nhiên nên các giá trị trong D2:D4 được chọn theo thứ tự ngẫu nhiên. Đúng, đơn giản thôi :)
Cách gán dữ liệu ngẫu nhiên cho các nhóm
Khi nhiệm vụ của bạn là