Liệt kê các phần tử theo số ấn định

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Hoàng Hải Khang

Thành viên mới
Tham gia
27/9/23
Bài viết
17
Được thích
2
Chào các bạn,

Excel có công thức nào liệt kê được các số lần xuất hiện theo cấp độ lủy thửa không các bạn,

Nếu nhập vào số lần tung đồng xu sẽ liệt kê ra các giá trị tương ứng


Mình có làm chi tiết trong file đính kèm
 

File đính kèm

  • 5.xlsx
    5.xlsx
    16.6 KB · Đọc: 24
  • main-qimg-787b5d62cd1b78ba54699df5ca4abc37.png
    main-qimg-787b5d62cd1b78ba54699df5ca4abc37.png
    71.9 KB · Đọc: 32
Chào các bạn,

Excel có công thức nào liệt kê được các số lần xuất hiện theo cấp độ lủy thửa không các bạn,

Nếu nhập vào số lần tung đồng xu sẽ liệt kê ra các giá trị tương ứng


Mình có làm chi tiết trong file đính kèm
Nếu tung 1 lần sẽ có 2 kết quả xảy ra , 2 lần sẽ có 4 kết quả, 3 lần sẽ có 8 kết quả và 4 lần sẽ có 16 kết quả, 5 lần có 32 kết quả , 6 lần có 64 kết quả
.... 12 lần sẽ có 4096 kết quả Heads hoặc Tails

xem file đính kèm mình đã upload,

vì số lượng nhiều quá không nhập bằng tay được, nên muốn nhờ Excel dùng hàm viết ra,

Cám ơn .
 
Xem file mà chẳng hiểu ban muốn thế nào luôn
Nếu tung 1 lần sẽ có 2 kết quả xảy ra , 2 lần sẽ có 4 kết quả, 3 lần sẽ có 8 kết quả và 4 lần sẽ có 16 kết quả, 5 lần có 32 kết quả , 6 lần có 64 kết quả
.... 12 lần sẽ có 4096 kết quả Heads hoặc Tails

xem file đính kèm mình đã upload,

vì số lượng nhiều quá không nhập bằng tay được, nên muốn nhờ Excel dùng hàm viết ra,

Cám ơn .
 
Nếu tung 1 lần sẽ có 2 kết quả xảy ra , 2 lần sẽ có 4 kết quả, 3 lần sẽ có 8 kết quả và 4 lần sẽ có 16 kết quả, 5 lần có 32 kết quả , 6 lần có 64 kết quả
.... 12 lần sẽ có 4096 kết quả Heads hoặc Tails
Bài này giống dạng thả thóc vào 64 ô bàn cờ.
 
Lần chỉnh sửa cuối:
Chào các bạn,

Excel có công thức nào liệt kê được các số lần xuất hiện theo cấp độ lủy thửa không các bạn,

Nếu nhập vào số lần tung đồng xu sẽ liệt kê ra các giá trị tương ứng


Mình có làm chi tiết trong file đính kèm
Dùng thử cái này có phải không?
B1=SUBSTITUTE(SUBSTITUTE(--DEC2BIN(ROW(),6),0,"T"),1,"H")

Kéo xuống
 
số kết quả: 2^row()
Muốn biết HT thì diễn ra các cố từ 0 đến (số kết quả - 1), dùng hàm Base(số, 2) để đỏi nó sang dạng nhị phân. Tự động hiểu 0 là H và 1 là T, hoặc dùng hàm Substitue để đổi.
 
Chào các bạn,

Excel có công thức nào liệt kê được các số lần xuất hiện theo cấp độ lủy thửa không các bạn,

Nếu nhập vào số lần tung đồng xu sẽ liệt kê ra các giá trị tương ứng


Mình có làm chi tiết trong file đính kèm
Mã:
V4 =IF(ROW(A1)>$T$4,"",V3+1)
W4 =IFERROR(SUBSTITUTE(SUBSTITUTE(TEXT(DEC2BIN(V4-1),REPT("0",$T$3)),"0","H"),"1","T"),"")
Copy xuống vài ngàn dòng :cool:
 
Dùng thử cái này có phải không?
B1=SUBSTITUTE(SUBSTITUTE(--DEC2BIN(ROW(),6),0,"T"),1,"H")

Kéo xuống
giải pháp này không đúng nha bạn,

Ví dụ mình nhập vào ô T3 là 4 thì số lần xuất hiện đồng xu có hai mặt xấp và ngữa ( heads / Tails ) là 2 x 2 x 2 x 2 = 16 kết quả như sau
HHHH
HHHT
HHTH
HHTT
HTHH
HTHT
HTTH
HTTT
THHH
THHT
THTH
THTT
TTHH
TTHT
TTTH
TTTT

nếu mình nhập vào ô T3 là 5 thì số lần xuất hiện đồng xu có hai mặt xấp và ngữa ( heads / Tails ) là 2 x 2 x 2 x 2 x 2 = 32 kết quả như sau

HHHHH
HHHHT
HHHTT
HHTTT
HHHTH
HTHTH
HTHTT
HTHHT
HTHHH
HTTHT
HTTTH
HTTTT
HTTHH
HHTTH
HHTHT
HHTHH
THHHH
THHHT
THHTT
THHTH
THTHT
THTHH
THTTT
THTTH
TTHHH
TTHHT
TTHTH
TTHTT
TTTHT
TTTHH
TTTTH
TTTTT

Tương tự thì mình nhập số lần tung đồng xu là 10 lần thì số lần xuất hiện kết quả là 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 1024 kết quả,

bạn xem file hình cây mình đính kèm bài số #1 sẽ hiểu, vì nếu nhâp số lần tung đồng xu lớn thì kết quả sẽ rất lớn nhập tay không nổi

Bạn chổ nào chưa hiểu ý mình mình sẽ giải thích, cám ơn bạn đã reply
 
giải pháp này không đúng nha bạn,
Không đúng là do bạn chưa hiểu công thức thôi, muốn y như cột W thì sửa lại 1 tí, do tớ xuất ảnh thành thơ chứ không mở file.
Tớ thích xem ảnh hơn là mở file lên rồi đọc chữ. Cái hay ở chỗ không biết làm thì ngay lập tức lướt qua đời nhau.

Của bác Hieu trên chuẩn đét luôn.
 
Mã:
V4 =IF(ROW(A1)>$T$4,"",V3+1)
W4 =IFERROR(SUBSTITUTE(SUBSTITUTE(TEXT(DEC2BIN(V4-1),REPT("0",$T$3)),"0","H"),"1","T"),"")
Copy xuống vài ngàn dòng :cool:
Đúng rồi bạn !

nhưng mình nhập giá trị tại ô số T3 ( số lần tung đồng xu ) là 12 thì thì ô T4 ( số lần các trường hợp xảy ra là 4096 lần ), lúc này tại ô V4 mình phải kéo công thức xuống 4096 hàng, và tại ô W4 mình phải kéo công thức xuống 4096 hàng mới ra kết quả,

Có cách nào khi mình nhập dữ liệu tại ô T3 là 18 thì tại ô( V4 và W 4 ) kết quả công thức tự động chạy xuống đúng 262,144 lần không bạn
Bài đã được tự động gộp:

Không đúng là do bạn chưa hiểu công thức thôi, muốn y như cột W thì sửa lại 1 tí, do tớ xuất ảnh thành thơ chứ không mở file.
Tớ thích xem ảnh hơn là mở file lên rồi đọc chữ. Cái hay ở chỗ không biết làm thì ngay lập tức lướt qua đời nhau.

Của bác Hieu trên chuẩn đét luôn.
do mình không nói rõ để bạn hiểu ý mình, bác HieuCD đã làm đúng nhưng chưa tự động được, phải còn kéo tay công thức xuống đúng số dòng hiện ra, nếu tại ô T3 mà nhập 25 thì phải kéo công thức xuống tới dòng 33,554,432 mới hiện đủ kết quả,
Mình đang nhờ làm tự động,
 
Mã:
V4 =IF(ROW(A1)>$T$4,"",V3+1)
W4 =IFERROR(SUBSTITUTE(SUBSTITUTE(TEXT(DEC2BIN(V4-1),REPT("0",$T$3)),"0","H"),"1","T"),"")
Copy xuống vài ngàn dòng :cool:
nhập ô T3 giá trị là 9 thì số lần xuất hiện 512 đúng, nhưng khi mình nhập là 10 thì hiện ra tới hàng số 512 hà bạn ơi, phía sau không hiện nửa, nếu nhập T3 là 10 kết quả đúng thì khi kéo công thức xuống phải là 1024 mới đúng
bạn xem file đính kèm thử
 

File đính kèm

Tớ dùng 2021 không ra được số dòng này.
DEC2BIN chỉ tính được đến số 511 thôi nên bị lỗi, không cần phải kéo thêm.
Chờ phương án khác.
Mình thấy Excel 2021 kéo xuống thấy có 1,048,576 dòng, nhờ bạn nói mới biết DEC2BIN chỉ hổ trợ đến 512 ,

cám ơn bạn !
 
Đúng rồi bạn !

nhưng mình nhập giá trị tại ô số T3 ( số lần tung đồng xu ) là 12 thì thì ô T4 ( số lần các trường hợp xảy ra là 4096 lần ), lúc này tại ô V4 mình phải kéo công thức xuống 4096 hàng, và tại ô W4 mình phải kéo công thức xuống 4096 hàng mới ra kết quả,

Có cách nào khi mình nhập dữ liệu tại ô T3 là 18 thì tại ô( V4 và W 4 ) kết quả công thức tự động chạy xuống đúng 262,144 lần không bạn
Bài đã được tự động gộp:


do mình không nói rõ để bạn hiểu ý mình, bác HieuCD đã làm đúng nhưng chưa tự động được, phải còn kéo tay công thức xuống đúng số dòng hiện ra, nếu tại ô T3 mà nhập 25 thì phải kéo công thức xuống tới dòng 33,554,432 mới hiện đủ kết quả,
Mình đang nhờ làm tự động,
Muốn làm tự động và cho số lớn phải dùng code VBA
 
Muốn làm tự động và cho số lớn phải dùng code VBA
bạn giúp mình VBA cho bài này nha, VBA chạy cho số lớn nhất trên Excel được tới bao nhiêu bạn, hiện tại đang là 2^100, Kết quả xuất ra y như vậy,

ví dụ mình nhập T3 là 10 thì V4 sẽ chạy từ 1 tới 1024 và W4 củng sẽ chạy ra kết quả từ 1 tới 1024, tương tự cho tất cả các giá trị còn lại, W4 cắt bỏ khoảng trắng 2 đầu để đảm bảo dữ liệu luôn luôn bằng độ dài ô T3
 
Tớ dùng 2021 không ra được số dòng này.
DEC2BIN chỉ tính được đến số 511 thôi nên bị lỗi, không cần phải kéo thêm.
Chờ phương án khác.
Kể tư 2013 đã có hàm Base, cho số cao đến 2^53-1
Tuy nhiên, do giới hạn chính xác của số thực là 15 chữ số cho nên bài này chỉ tính được tới 2^

Vì Excel chỉ có trên một triệu dòng cho nên đổi thành mảng hai chiều thì cũng chỉ được tới 1048576*16384 = 17179869184. Tức là chỉ tính được đến 2^34-1. Độ dài của con số này ở dạng nhị phân là 34.

Nếu sử dụng 2021 hoặc 365 thì có thể dùng hàm đổi dạng mảng 1 chiều ra 2 chiều. Các phiên bản khác thì dùng công thức khủng.
 
bạn giúp mình VBA cho bài này nha, VBA chạy cho số lớn nhất trên Excel được tới bao nhiêu bạn, hiện tại đang là 2^100, Kết quả xuất ra y như vậy,

ví dụ mình nhập T3 là 10 thì V4 sẽ chạy từ 1 tới 1024 và W4 củng sẽ chạy ra kết quả từ 1 tới 1024, tương tự cho tất cả các giá trị còn lại, W4 cắt bỏ khoảng trắng 2 đầu để đảm bảo dữ liệu luôn luôn bằng độ dài ô T3
Bạn @VetMini đã nói rỏ
Kể tư 2013 đã có hàm Base, cho số cao đến 2^53-1
Tuy nhiên, do giới hạn chính xác của số thực là 15 chữ số cho nên bài này chỉ tính được tới 2^

Vì Excel chỉ có trên một triệu dòng cho nên đổi thành mảng hai chiều thì cũng chỉ được tới 1048576*16384 = 17179869184. Tức là chỉ tính được đến 2^34-1. Độ dài của con số này ở dạng nhị phân là 34.

Nếu sử dụng 2021 hoặc 365 thì có thể dùng hàm đổi dạng mảng 1 chiều ra 2 chiều. Các phiên bản khác thì dùng công thức khủng.
1 sheet chỉ được 2^34-1 kết quả, không thể tạo 2^100 kết quả
Thật ra không nên tạo nhiều kết quả vì file rất nặng, xử lý không khéo sẽ không đủ bộ nhớ code VBA không chạy được, không lưu file được, nếu làm được sẽ phải tốn rất nhiều thời gian chạy code. Có lẽ bạn nên tìm phương án khác
 
Bạn @VetMini đã nói rỏ

1 sheet chỉ được 2^34-1 kết quả, không thể tạo 2^100 kết quả
Thật ra không nên tạo nhiều kết quả vì file rất nặng, xử lý không khéo sẽ không đủ bộ nhớ code VBA không chạy được, không lưu file được, nếu làm được sẽ phải tốn rất nhiều thời gian chạy code. Có lẽ bạn nên tìm phương án khác
Mình đang dùng Excel 2021, bạn hổ trợ mình giúp nhé tới 2^34-1,
Cám ơn bạn,
 
Excel 2021 không biết có mảng động chưa. Nếu có bạn có thể thử.
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom