ledinhtham
Thành viên mới
- Tham gia
- 26/11/08
- Bài viết
- 19
- Được thích
- 4
Ok! Mình đã xem xong rồi. Hôm trước có gởi bài cho ttphong2007 ở mục các câu đố. Trong đó mình chưa làm được chổ nhận dạng cell ở chế độ Unlock . Đọc xong thi mình giải quyết được rồi.
Nói về CF thì trên GPE thiếu gì bài liên quan! Mời bạn tham khảo thử 1 vài món:Ok! Mình đã xem xong rồi. Hôm trước có gởi bài cho ttphong2007 ở mục các câu đố. Trong đó mình chưa làm được chổ nhận dạng cell ở chế độ Unlock . Đọc xong thi mình giải quyết được rồi.
Giải quyết một vấn đề có nhiều cách, các bạn thử down về và làm thêm xem sao, pop lên để bà con học hỏi.
Thân chào!
Chào các bạn!
Mình gởi file excel đã có lời giải, các bạn xem và cho thêm nhiều lời giải khác để vấn đề định dạng có điều kiện (CF) thật sự là một ứng dụng tuyệt vời. Mỗi lời giải mong các bạn đặt ở một Sheet riêng.
=$J3>=8
=$J3=MAX(OFFSET($J$3,,,COUNTA($J:$J),1))
=COUNTIF($B$3:$B11,$B3)>1
- Nếu dùng địa chi $B$3:$B11 thì khi thêm giá trị ở ô B13,B14, B15 trùng với giá trị ở ô B3 thì ô B3 không có đổi định dạng mà các ô B13, B14, B15 đổi định dạng. Vì giá trị B3 chỉ áp dụng trong vùng ô B3:B11 chứ không áp dụng B3:B15 nhưng B15 thì áp dụng vùng ô B3:B15 thập chí còn rộng hơn nữa. Mặc dù đã áp dụng copy định dạng.Góp ý về file CF1 của bạn:
3. Tương tự sheet[VD2.4], công thức cần sửa lại để khi có thêm dòng, ta chỉ cần copy format ô trên xuống dưới là xong, khỏi phải sửa công thức:
PHP:=COUNTIF($B$3:$B11,$B3)>1
- Nếu dùng địa chi $B$3:$B11 thì khi thêm giá trị ở ô B13,B14, B15 trùng với giá trị ở ô B3 thì ô B3 không có đổi định dạng mà các ô B13, B14, B15 đổi định dạng. Vì giá trị B3 chỉ áp dụng trong vùng ô B3:B11 chứ không áp dụng B3:B15 nhưng B15 thì áp dụng vùng ô B3:B15 thập chí còn rộng hơn nữa. Mặc dù đã áp dụng copy định dạng.
- Vấn đề là khi thêm một giá trị tiếp theo ở hàng tiếp theo thì giá tri B3 sẽ nới rộng vùng so sánh. Ví dụ thêm giá trị ở ô B14 thì công thứ trên tự chuyển đổi
=COUNTIF($B$3:$B14,$B3) (chưa thay đổi được). Nếu đặt con trỏ ở ô B14 thì chúng ta thấy =COUNTIF($B$3:$B22,$B14)>1.
Mong có ý kiên đóng góp chỗ này. Chân thành cảm ơn!
=OFFSET(VD2.4!$B$1,,,MATCH(REPT("Z",255),VD2.4!$B:$B),)
Countif(MHS,B3)>1
Ok!Bạn tạo một name động rồi countif name này là được
Name MHS:
Mã:=OFFSET(VD2.4!$B$1,,,MATCH(REPT("Z",255),VD2.4!$B:$B),)
Công thức trong CF:
Mã:Countif(MHS,B3)>1
Mình dùng match ... là để tránh trường hợp trong cột MHS có ô trống, Nếu có thì hàm counta sẽ không đúng nữa.Ok!
Cám ơn bạn nhiều!
Công thức của bạn hơi dài, mình cải tiến lại bạn cho ý kiến nha!
=COUNTIF(OFFSET($B$3,,,COUNTA($B:$B),1),$B3)>1
Hàm COUNTA($B:$B) trả về số ô trong CỘT B có giá trị <> NULL. Chúng ta sử dụng trong hàm OFFSET() sẽ cho số dòng của vùng, khi nhập giá trị vào ở bất kỳ trong cột B sẽ làm vùng này tăng lên (Vùng động).
- Mã số học sinh thì không thể bỏ trống được, dùng Counta() cũng OK, =COUNTIF(OFFSET($B$3,,,COUNTA($B:$B),1),$B3)>1 nhưng còn dài dòng. Chúng ta có thể dùng công thức như thế này: = COUNTIF($B:$B,$B3)>1 cũng cho kết quả đúng. Mời các bạn cho ý kiến thảo luận chỗ này!Bạn tạo một name động rồi countif name này là được
Name MHS:
Mã:=OFFSET(VD2.4!$B$1,,,MATCH(REPT("Z",255),VD2.4!$B:$B),)
Công thức trong CF:
Mã:Countif(MHS,B3)>1