Kết quả 1 đến 8 của 8

Chủ đề: Cần giúp đỡ hàm ngẫu nhiên Randbetween().

  1. #1
    VinhLink Guest
    Trích dẫn Gửi bởi thdong2010
    Mình đang cần hàm ngẫu nhiên với điều kiện là số chọn ngẫu nhiên sẽ tăng dần hoặc giảm dần.
    Ai rành code có thể viết giùm và hướng dẫn giùm mình với. Mình cảm ơn rất nhiều.
    VD : 1 dãy số tự nhiên từ 1 - 100.
    Chọn số trong dãy số đó nhưng sẽ chọn ngẫu nhiên tăng dần(hoặc giảm dần). Chẳng hạn số đầu tiên là 5 thì số sau sẽ là 10 hoặc 15.
    Cứ chọn ngẫu nhiên đi, sau đó sort lại là được rồi

  2. #2
    leotran Guest
    Khối lượng công việc rất nhiều nên làm thủ công vậy cũng lâu lắm anh ơi. Ai rành code viết giùm em tí với

  3. #3
    bietthugeleximco Guest
    Trích dẫn Gửi bởi thdong2010
    Khối lượng công việc rất nhiều nên làm thủ công vậy cũng lâu lắm anh ơi. Ai rành code viết giùm em tí với
    Không phải code đâu,
    Ví dụ bạn lấy 10 số tăng dần ngẫu nhiên trong khoảng 1--100 thì làm như sau

    - tại vùng A2:A11 nhập công thức

    Mã nguồn PHP:
    =RANDBETWEEN(1,100)  
    - tại B2 nhập công thức

    Mã nguồn PHP:
    =SMALL($A$2:$A$11,ROWS($1:1))  
    copy công thứcnày cho vùng B2:B11

    như vậy kết quả 10 số cần chọn ngẫu nhiên chính nằm ở B2:B11
    (bấm F9 sẽ thấy yếu tố ngẫu nhiên)

  4. #4
    vlvietlamvl Guest
    Trích dẫn Gửi bởi thdong2010
    Khối lượng công việc rất nhiều nên làm thủ công vậy cũng lâu lắm anh ơi. Ai rành code viết giùm em tí với
    A1 để trống hoặc nhập 0
    Công thức A2:
    =RANDBETWEEN(A1+1,ROW(A1)*5)
    Kéo xuống
    Có thể sửa số 5 bằng số khác.

  5. #5
    halalavn276 Guest

    Cần giúp đỡ hàm ngẫu nhiên Randbetween().

    Mình đang cần hàm ngẫu nhiên với điều kiện là số chọn ngẫu nhiên sẽ tăng dần hoặc giảm dần.
    Ai rành code có thể viết giùm và hướng dẫn giùm mình với. Mình cảm ơn rất nhiều.
    VD : 1 dãy số tự nhiên từ 1 - 100.
    Chọn số trong dãy số đó nhưng sẽ chọn ngẫu nhiên tăng dần(hoặc giảm dần). Chẳng hạn số đầu tiên là 5 thì số sau sẽ là 10 hoặc 15.

  6. #6
    noob Guest
    Trích dẫn Gửi bởi bebo021999
    Đã là ngẫu nhiên thì cơ hội xuất hiện của mỗi số trong khoảng 1-100 phải như nhau
    Trong công thức của bạn thì khống chế số đầu tiên trong khoảng <=5, số thứ hai trong khoảng <=10
    Theo tôi cần phân tích như sau:
    Giả sử dãy số là 10 số tăng dần từ 1-100. Như vậy, số thứ 10 tối đa là 100, số thứ 9 tối đa là 99,..., số thứ nhất tối đa là 91.
    Tương ứng với dòng đầu tiên, 91 sẽ được biểu diễn bằng 100-10+ROW(1:1), sẽ tự động tăng lên 92 cho dòng thứ hai.
    Như thế, số đầu tiên sẽ nằm trong khoảng 1-91:
    A1=RANDBETWEEN(1,100-10+ROW(1:1))
    Số thứ hai sẽ là:
    A2=RANDBETWEEN(A1+1,100-10+ROW(2:2))
    Copy xuống đến A10
    Trong đó số 10 là số số hạng trong dãy số , có thể thay đổi
    Mỗi cách đều có những ưu, khuyết riêng của nó.
    Ví dụ như cách của bài 6: Trường hợp số thứ nhất đạt tối đa là 91, các số sau không còn ngẫu nhiên nữa mà chắc chắn sẽ là 92,93,94,95,96,97,98,99,100
    nên câu:


    Đã là ngẫu nhiên thì cơ hội xuất hiện của mỗi số trong khoảng 1-100 phải như nhau

    không được thỏa
    Ví dụ như cách của bài 4: mỗi số có thể xuất hơn 1 lần ( trùng)
    Thân!

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Mình đã làm theo cách của giola và đã đáp ứng đc yêu cầu công việc của mình.Cảm ơn giola và các bạn nhiều. [IMG]images/smilies/a20.gif[/IMG][IMG]images/smilies/a20.gif[/IMG][IMG]images/smilies/a20.gif[/IMG]

  8. #8
    leequyetkt Guest
    Trích dẫn Gửi bởi phuocam
    A1 để trống hoặc nhập 0
    Công thức A2:
    =RANDBETWEEN(A1+1,ROW(A1)*5)
    Kéo xuống
    Có thể sửa số 5 bằng số khác.
    Đã là ngẫu nhiên thì cơ hội xuất hiện của mỗi số trong khoảng 1-100 phải như nhau
    Trong công thức của bạn thì khống chế số đầu tiên trong khoảng <=5, số thứ hai trong khoảng <=10
    Theo tôi cần phân tích như sau:
    Giả sử dãy số là 10 số tăng dần từ 1-100. Như vậy, số thứ 10 tối đa là 100, số thứ 9 tối đa là 99,..., số thứ nhất tối đa là 91.
    Tương ứng với dòng đầu tiên, 91 sẽ được biểu diễn bằng 100-10+ROW(1:1), sẽ tự động tăng lên 92 cho dòng thứ hai.
    Như thế, số đầu tiên sẽ nằm trong khoảng 1-91:
    A1=RANDBETWEEN(1,100-10+ROW(1:1))
    Số thứ hai sẽ là:
    A2=RANDBETWEEN(A1+1,100-10+ROW(2:2))
    Copy xuống đến A10
    Trong đó số 10 là số số hạng trong dãy số , có thể thay đổi

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •