[Xin giúp đỡ] Biểu diễn tính liên tục chẵn hay lẻ của 1 dãy số ngẫu nhiên cho trước

Liên hệ QC

lyly2626

Thành viên chính thức
Tham gia
15/5/12
Bài viết
74
Được thích
1
- Em có 1 bài toán nội dung như sau
- cho 1 dãy số gồm 100 số ngẫu nhiên từ 00 đến 99 nằm trong range A1:A100
- Hãy biểu diễn tính liên tục chẵn hay lẻ của 100 số trên sao cho giống như hình vẽ
- Xin mở file đính kèm để biết chi tiết
- Thành thật cám ơn !
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Xem chi tiết trong file kèm,

Dùng conditional formatting, và công thức vùng xanh nhạt từ dòng C18:CC32
 

File đính kèm

Bạn dùng công thức này cho ô D2
Mã:
=CHOOSE(MOD(INDEX($A$1:$A$100,COUNTIF($C$2:C$[B][COLOR=#ff0000]12[/COLOR][/B],"?*")+COUNTIF(D$1:D1,"?*")+1),2)+MOD($A$1+COLUMN(A$1)-1,2)+1,"Even","","Odd")

1.Bạn có thể giải thích chỗ đỏ đỏ không? Tại sao là 12 mà không là số nào khác?

2. Công thức có rồi nhưng qui tắc kéo - copy công thức thế nào? Kéo xuống dưới thì phải kéo cho tới khi gặp lỗi ở cột D (vd. nếu trong A1:A100 có 100 số lẻ hoặc 100 số chẵn thì phải kéo tới khi D102 có lỗi). Kéo sang phải thì phải kéo cho tới khi gắp lỗi ở dòng 2 (vd. A1:A100 có 100 số chẵn lẻ đan xen nhau thì phải kéo cho tới khi CZ có lỗi)

Nói tóm lại cách kéo như thế nào, kéo tới đâu để không bị mất dữ liệu.
Giả sử có A1 = A50 = A100 = 4, các A còn lại = 1 thì kết quả theo tôi phải là 5 cột: cột D có 1 Even, cột E có 48 Odd, cột F có 1 Even, cột G có 49 Odd, cột H có 1 Even. Nhưng với cách kéo như ở trên thì kết quả tới cột W và tới dòng 50.

3. Cũng có thể tôi không hiểu được ý người hỏi. Nếu là thế thì coi như câu hỏi 1 và 2 không có. Lạ một cái là hình như người hỏi không ghi hết kết quả mong đợi mà chỉ ghi một phần.

Tôi hỏi vì tôi đoán mò ý tác giả (do xanh xanh) nhưng cái đoán mò đó lại không khớp với công thức của bạn. Vậy 99% có thể tôi đoán ý sai.

Mà ai cũng hiểu nghĩa của từ Even và Odd trong các cột D-Q vậy cho cột B để làm gì? Nếu đã cho cột B thì có được sử dụng cột B không? Khó hiểu quá.

Ai cũng hiểu được ý tác giả, chỉ mình tôi có đầu óc hạn chế. Buồn quá.
 
Lần chỉnh sửa cuối:
1.Bạn có thể giải thích chỗ đỏ đỏ không? Tại sao là 12 mà không là số nào khác?

2. Công thức có rồi nhưng qui tắc kéo - copy công thức thế nào? Kéo xuống dưới thì phải kéo cho tới khi gặp lỗi ở cột D (vd. nếu trong A1:A100 có 100 số lẻ hoặc 100 số chẵn thì phải kéo tới khi D102 có lỗi). Kéo sang phải thì phải kéo cho tới khi gắp lỗi ở dòng 2 (vd. A1:A100 có 100 số chẵn lẻ đan xen nhau thì phải kéo cho tới khi CZ có lỗi)

Nói tóm lại cách kéo như thế nào, kéo tới đâu để không bị mất dữ liệu.
Giả sử có A1 = A50 = A100 = 4, các A còn lại = 1 thì kết quả theo tôi phải là 5 cột: cột D có 1 Even, cột E có 48 Odd, cột F có 1 Even, cột G có 49 Odd, cột H có 1 Even. Nhưng với cách kéo như ở trên thì kết quả tới cột W và tới dòng 50.

3. Cũng có thể tôi không hiểu được ý người hỏi. Nếu là thế thì coi như câu hỏi 1 và 2 không có. Lạ một cái là hình như người hỏi không ghi hết kết quả mong đợi mà chỉ ghi một phần.

Tôi hỏi vì tôi đoán mò ý tác giả (do xanh xanh) nhưng cái đoán mò đó lại không khớp với công thức của bạn. Vậy 99% có thể tôi đoán ý sai.

Mà ai cũng hiểu nghĩa của từ Even và Odd trong các cột D-Q vậy cho cột B để làm gì? Nếu đã cho cột B thì có được sử dụng cột B không? Khó hiểu quá.

Ai cũng hiểu được ý tác giả, chỉ mình tôi có đầu óc hạn chế. Buồn quá.

1. Do trong file đính kèm chủ topic giới hạn vùng kết quả từ dòng 2 đến dòng 12 nên em em hiểu là số số chẵn (hoặc lẻ) liên tục lớn nhất là 11, và vì vậy công thức tham chiếu đến dòng 12. Nếu dữ liệu có thể xuất hiện số số chẵn (hoặc lẻ) liên tục lớn hơn 11 thì mở rộng vùng tham chiếu này. Nếu muốn đảm bảo thì tham chiếu đến C101 và công thức cũng kéo đến dòng 101. Tuy nhiên ai cũng biết vùng tham chiếu càng rộng thì công thức sẽ tính toán chậm hơn nên nếu giới hạn được thì tốt hơn hết nên giới hạn lại.

2. Khi công thức đã tuân theo nguyên tắc trên thì kéo công thức cho đến khi gặp dòng trống và cột có kết quả lỗi.

3. Cột 3 có được dùng hay không thì phải hỏi lại chủ topic. Nếu không được dùng thì đương nhiên phải sửa lại công thức rồi.
 
- thành thật cám ơn các lão đại. Vấn đề đã được giải quyết. Và em đang từng bước tìm hiểu từng phần công thức ạ
 
- Em có 1 bài toán nội dung như sau
- cho 1 dãy số gồm 100 số ngẫu nhiên từ 00 đến 99 nằm trong range A1:A100
- Hãy biểu diễn tính liên tục chẵn hay lẻ của 100 số trên sao cho giống như hình vẽ
- Xin mở file đính kèm để biết chi tiết
- Thành thật cám ơn !

công thức tạo vùng dữ liệu để vẽ biểu đồ
Mã:
=SMALL(IF($B$1:$B$100<>$B$2:$B$101,ROW($1:$100)),ROW(1:1))-IF(ROW(1:1)=1,,SMALL(IF($B$1:$B$100<>$B$2:$B$101,ROW($1:$100)),ROW(1:1)-1))
ctrl+shift+enter
kéo xuống cho đến khi gặp #NUM!
 
Lần chỉnh sửa cuối:
công thức tạo vùng dữ liệu để vẽ biểu đồ
Mã:
=SMALL(IF($B$1:$B$100<>$B$2:$B$101,ROW($1:$100)),ROW(1:1))-IF(ROW(1:1)=1,,SMALL(IF($B$1:$B$100<>$B$2:$B$101,ROW($1:$100)),ROW(1:1)-1))
ctrl+shift+enter
kéo xuống cho đến khi gặp #NUM!
Nếu muốn tạo ra cột dữ liệu như vậy thì có thể dùng công thức mảng này tại F20. Tham chiếu trực tiếp lên vùng dữ liệu, khỏi phải qua cột phụ.
Mã:
=MATCH(MOD($A$1+ROW(A1),2),MOD(OFFSET($A$1,SUM($F$19:F19),,100),2),0)-1
 
1.Bạn có thể giải thích chỗ đỏ đỏ không? Tại sao là 12 mà không là số nào khác?

2. Công thức có rồi nhưng qui tắc kéo - copy công thức thế nào? Kéo xuống dưới thì phải kéo cho tới khi gặp lỗi ở cột D (vd. nếu trong A1:A100 có 100 số lẻ hoặc 100 số chẵn thì phải kéo tới khi D102 có lỗi). Kéo sang phải thì phải kéo cho tới khi gắp lỗi ở dòng 2 (vd. A1:A100 có 100 số chẵn lẻ đan xen nhau thì phải kéo cho tới khi CZ có lỗi)

Nói tóm lại cách kéo như thế nào, kéo tới đâu để không bị mất dữ liệu.
Giả sử có A1 = A50 = A100 = 4, các A còn lại = 1 thì kết quả theo tôi phải là 5 cột: cột D có 1 Even, cột E có 48 Odd, cột F có 1 Even, cột G có 49 Odd, cột H có 1 Even. Nhưng với cách kéo như ở trên thì kết quả tới cột W và tới dòng 50.

3. Cũng có thể tôi không hiểu được ý người hỏi. Nếu là thế thì coi như câu hỏi 1 và 2 không có. Lạ một cái là hình như người hỏi không ghi hết kết quả mong đợi mà chỉ ghi một phần.

Tôi hỏi vì tôi đoán mò ý tác giả (do xanh xanh) nhưng cái đoán mò đó lại không khớp với công thức của bạn. Vậy 99% có thể tôi đoán ý sai.

Mà ai cũng hiểu nghĩa của từ Even và Odd trong các cột D-Q vậy cho cột B để làm gì? Nếu đã cho cột B thì có được sử dụng cột B không? Khó hiểu quá.

Ai cũng hiểu được ý tác giả, chỉ mình tôi có đầu óc hạn chế. Buồn quá.
Phần đỏ đỏ đáng lẽ phải là 102 (tức kiểm tra giá trị khác rỗng của cột 100 dòng - tương ứng với 100 số ngẫu nhiên)
Do
HTML:
COUNTIF($C$2:C$102,"?*")+COUNTIF(D$1:D1,"?*")
là việc đếm cộng dồn các cột dữ liệu 100 dòng từ trái qua phải và cộng dồn ô dữ liệu của từng cột từ trên xuống, nên chúng ta cứ kéo xuống 100 dòng và kéo sang phải đến khi gặp lỗi thì dừng.
Còn muốn bẫy lỗi thì thêm công thức sau
HTML:
if(COUNTIF($C$2:C$102,"?*")+COUNTIF(D$1:D1,"?*")<=100,....,"")
 
Phần đỏ đỏ đáng lẽ phải là 102 (tức kiểm tra giá trị khác rỗng của cột 100 dòng - tương ứng với 100 số ngẫu nhiên)
Do
HTML:
COUNTIF($C$2:C$102,"?*")+COUNTIF(D$1:D1,"?*")
là việc đếm cộng dồn các cột dữ liệu 100 dòng từ trái qua phải và cộng dồn ô dữ liệu của từng cột từ trên xuống, nên chúng ta cứ kéo xuống 100 dòng và kéo sang phải đến khi gặp lỗi thì dừng.
Còn muốn bẫy lỗi thì thêm công thức sau
HTML:
if(COUNTIF($C$2:C$102,"?*")+COUNTIF(D$1:D1,"?*")<=100,....,"")
Bạn xem lại bài #5, lý do tôi đã giải thích rõ ràng.
 
Nếu muốn tạo ra cột dữ liệu như vậy thì có thể dùng công thức mảng này tại F20. Tham chiếu trực tiếp lên vùng dữ liệu, khỏi phải qua cột phụ.
Mã:
=MATCH(MOD($A$1+ROW(A1),2),MOD(OFFSET($A$1,SUM($F$19:F19),,100),2),0)-1

công thức của bạn sẽ bị sót dữ liệu, nếu :
-toàn bộ dữ liệu đều chẵn hoặc lẻ
-vùng cuối dữ liệu là các số chẵn
 
công thức của bạn sẽ bị sót dữ liệu, nếu :
-toàn bộ dữ liệu đều chẵn hoặc lẻ
-vùng cuối dữ liệu là các số chẵn
Đúng là tôi chưa kiểm tra kỹ. Sửa lại bằng cách thêm bẫy lỗi:
Mã:
=IFERROR(MATCH(MOD($A$1+ROW(A1),2),MOD(OFFSET($A$1,SUM($F$19:F19),,100),2),0)-1,100-SUM($F$19:F19))
 
Lần chỉnh sửa cuối:
Thêm lựa chọn cho chủ Topic. tại D2 kéo thoải mái sang trái, xuống
Mã:
=IF(COUNTIF($C$1:C$102,"?*")+COUNTIF(D$1:D1,"?*")<100,IF((LEN(D1)>0)+(ROW(D1)=1),IF(MOD(OFFSET($A$1,COUNTIF($C$2:C$102,"?*")+ROW(1:1)-1,),2)=MOD(COLUMN(B:B),2),IF(MOD(COLUMN(B:B),2)=0,"Even","Odd"),""),""),"")
 
Web KT

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

Back
Top Bottom