Bài viết: Chiêu thứ 21: Tô màu dòng xen kẽ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ptm0412

Bad Excel Member
Thành viên BQT
Administrator
Tham gia
4/11/07
Bài viết
14,628
Được thích
37,313
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Chiêu thứ 21: Tô màu dòng xen kẽ

Ắt hẳn bạn đã từng thấy bảng tính Excel với những dòng tô màu cách nhau, thí dụ dòng chẵn thì tô màu xám, dòng lẻ không tô hoặc tô màu khác.
Trình bày bảng tính tô màu cách dòng như vậy khiến cho bảng tính có vẻ Pro và làm cho người dùng dễ đọc dữ liệu. Bạn có thể định dạng từ từ bằng tay từng dòng, nếu bạn đủ kiên nhẫn, nhưng bạn biết rồi đấy, kiên nhẫn 1 lần thì chưa đủ. Bạn sẽ phải bực mình khi cần xoá dòng, chèn dòng, cập nhật dữ liệu.
May sao, sử dụng Conditional Formatting có thể giúp bạn thực hiện tô màu nhanh và loại bỏ hết những phiền toái trên sau khi tô màu.

Giả sử bạn có dữ liệu trong vùng A1:H57, và bạn dự trù sẽ cập nhật cho đến hết tháng sẽ khoảng 100 dòng. Vậy bạn đánh dấu chọn khối A1:H100 sao cho ô A1 là ô hiện hành. Dùng cách như chiêu 18, 19, để vào chỗ cần gõ công thức của chức năng Conditional Formatting, và gõ công thức sau:
= Mod(Row(),2)
Nhấn format và chọn màu tô cho dòng lẻ. Nguyên nhân tô dòng lẻ: Công thức trên sẽ cho các giá trị lần lượt là 1, 0, 1, 0, … đến hết dòng 100, tương ứng với True, False, … và Conditional Formatting sẽ chỉ tô dòng True.


Hack21-01.gif


Cũng như vậy nếu bạn muốn tô màu cột cách cột, thì dùng công thức =Mod(Column(),2)

Hack21-02.gif


Ghi chú: Nếu bạn có sử dụng ASAP Utilities, bạn cũng có thể làm được như sau:
Vào menu ASAP - Row & Column - Color Each n’th row or column in selection


Hack21-03.gif


Chọn Row hoặc column tuỳ ý, chọn màu tuỳ ý, gõ 2 trong ô Steps, đánh dấu vào mục chọn Conditional Formatting.

Hack21-04.gif


Kết quả công thức của Condition là =MOD(ROW()-1,2*1)+1<=1
Công thức trên có vẻ hơi phức tạp nhưng nếu rút gọn là: = Mod(Row()-1,2)=0 thì hiệu quả tương tự như công thức trên. Sở dĩ nó phức tạp, là để có thể thay đổi phương pháp tô màu theo steps đã chọn. Thí dụ khi chọn step = 3, cách 2 dòng tô 1 dòng, nghĩa là như hình sau: Chỉ tô dòng có Mod(Row()-1,3)=0


Hack21-05.gif


Mặc dù phương pháp này dễ thực hiện, nhưng không linh hoạt: Tất cả các dòng lẻ từ 1 đến 100 đều bị tô màu, dù có dữ liệu hay không. (nhớ lại, dữ liệu hiện tại của bạn chỉ đến dòng 57). Vậy có thể chỉ tô tự dộng đến hết dòng cuối có dữ liệu, cò những ô chưa có dữ liệu chỉ bị tô màu sau khi nhập liệu không? Hãy xem cách sau đây:

Tô màu động:
Chỉ cần bạn sửa công thức trên lại 1 xíu xiu:
=And( Mod(Row(),2),CountA($A1:$H1))
Chú ý chỗ tham chiếu tuyệt đối cột và tương đối dòng. Ý nghĩa công thức này là:
- khi bạn đứng ở dòng 1, đó là dòng lẻ và vùng A1:H1 có dữ liệu => tô màu.
- Nếu bạn đứng ở dòng 10, công thức trở thành =And( Mod(Row(),2),CountA($A10:$H10)) nghĩa là dòng chẵn và có dữ liệu => không tô màu
- Nếu bạn đứng ở dòng 59: dòng lẻ nhưng không có dữ liệu => không tô màu.


Mở rộng: Tô màu cách 2 dòng tô 1, hoặc tô xen kẽ 3 màu trở lên:
bạn chỉ cần sửa công thức ASAP cho phù hợp, kết hợp với CountA() cho linh hoạt. Thí dụ với các công thức như hình:


Hack21-06.gif


bạn sẽ có kết quả như hình, dòng nào không có dữ liệu thì không tô màu

Hack21-07.gif


Một số bài viết liên quan:
1/ Chiêu thứ 20: Đếm hoặc cộng những ô đã được định dạng có điều kiện
2/ Chiêu số 19: Đánh dấu những ô chứa công thức bằng Conditional Formatting
3/ Chiêu số 18: Điều khiển Conditional Formating bằng checkbox

http://www.giaiphapexcel.com/vbb/content.php?297
 
Upvote 0
Web KT

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

Back
Top Bottom