Friday, November 7, 2008

Conditional Formatting - Các ví dụ và kỹ thuật nâng cao

II. Các ví dụ về CF và các kỹ thuật nâng cao

A. Các ví dụ cơ bản

1. Các vấn đề thường gặp


a. Ẩn các lỗi (Hide Errors)

Chúng ta có thể dùng CF để kiểm tra các lỗi trong công thức của các ô trên bản tính và thay đổi định dạng của chúng. Ví dụ sau bạn sẽ thấy khi các ô ở cột A chứa số 0 thì kết quả ở cột C sẽ có lỗi #DIV/0.

B1. Chọn vùng C2:C5
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is trong Condition 1
B4. Nhập vào công thức sau:
=ISERROR(C2) : kiểm tra tất cả các lỗi
=ISNA(C2) : chỉ kiểm tra lỗi #N/A thôi
=ISERR(C2) : kiểm tra các lỗi ngoại trừ lỗi #N/A
B5. Nhấn nút Format, chọn màu chữ trùng với màu của ô (ở đây là màu trắng)
B6. Nhấn OK, và nhấn tiếp OK



b. Tô màu nền các ô rỗng (ISBLANK)

B1. Chọn vùng A1:C10
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is trong Condition 1
B4. Nhập vào công thức: =ISBLANK(A1)
B5. Nhấn nút Format, chọn màu nền xanh trong ngăn Patterns
B6. Nhấn OK, và nhấn tiếp OK




Ghi chú nhóm hàm IS

Dùng để kiểm tra kiểu giá trị trong ô hoặc các tham chiếu



c. Ẩn bớt các giá trị trùng (Hide Duplicate Values)

Ví dụ như hình bên dưới, chúng ta sẽ dùng CF định dạng màu chữ của các giá trị trùng trong cột A (Region) bằng cách tô màu trắng để ẩn chúng đi cho dễ theo dõi.

B1. Chọn vùng A2:A5
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công thức =A2=A1
B5. Nhấn chọn Format, chọn màu chữ sao cho trùng với màu của ô (màu trắng)
B6. Nhấn OK, và nhấn tiếp OK



d. Tô màu các giá trị trùng lặp trong cột (Highlight Duplicates in Column)

B1. Chọn vùng A2:A11
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công thức: =COUNTIF($A$2:$A$11,A2)>1
B5. Nhấn nút Format, chọn màu chữ là màu xanh và in đậm
B6. Nhấn OK, và nhấn tiếp OK



A. Các ví dụ cơ bản

1. Các vấn đề thường gặp (tt)

...

e. Tô màu các phần tử thuộc danh sách (Highlight Items in a List)

B1. Tạo danh sách C2:C4 (giả sử đặt tên là CodeList)
B2. Chọn vùng số liệu A2:A7
B3. Vào Format | Conditional Formatting
B4. Chọn Formula Is từ Condition 1
B5. Nhập vào công thức: =COUNTIF($C$2:$C$4,A2)
hoặc nếu dùng Name cho danh sách thì nhập vào: =COUNTIF(CodeList,A2)
B6. Nhấn nút Format, chọn màu nền là xanh nhạt
B7. Nhấn OK, và nhấn tiếp click OK



f. Tô màu các con số trùng với các con số cho trước

Trong ví dụ này chúng ta dùng CF để tô màu nền các các ô chứa các con số trong vùng B2:G4 (vùng chứa các con số của vé số) nếu nó xuất hiện trong vùng B6:G6 (vùng kết quả xổ số).

B1. Chọn vùng B2:G4
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công: =COUNTIF($B$6:$G$6,B2)
B5. Nhấn nút Format , chọn màu nền là xanh nhạt
B6. Nhán OK, và nhấn tiếp OK

Hình này đã được thay đổi kích thước. Nhấp vào đây để xem hình đầy đủ. Kích thước hình gốc là 869x198.


g. Tô màu các ngày sắp đến hạn (Highlight Upcoming Expiry Dates)

Tô màu các khoản phải trả sắp đến hạn trong 30 ngày nữa. Trong ví dụ này các ngày hết hạn chứa trong vùng A2:A4.

B1. Chọn vùng A2:A4
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công thức: =AND(A2-TODAY()>=0,A2-TODAY()<=30)
B5. Nhấn nút Format, chọn màu xanh in cho chữ
B6. Nhấn OK và nhấn tiếp OK.



h. Ẩn nội dung các ô khi in (Hide Cell Contents When Printing)

Bạn có thể dùng CF để ẩn nội dung các ô khi in ấn. Trong ví dụ này chúng ta sẽ tô màu trắng cho chữ trong các ô B2:F4 khi ô H1 chứa ký tự x. Muốn in các ô bị ẩn thì xoá ký tự x torng H1.

B1. Chọn vùng B2:F4
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công thức: =$H$1="x"
B5. Nhấn nút Format , chọn định dạng các chữ màu trắng
B6. Nhấn OK, và nhấn tiếp OK



i. Tô màu nền cách dòng (Shade Alternating Rows)

B1. Nhấp chuột vào nút Select All để chọn tất cả bảng tính
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công thức: =MOD(ROW(),2)
B5. Nhấn nút Format, vào ngăn Patterns chọn màu nền xanh nhạt
B6. Nhấn OK, và nhấn tiếp OK


  • Muốn tô màu nền cách N dòng thì dùng công thức: =MOD(ROW(),N)=0
  • Muốn tô màu nền cách N cột thì dùng công thức: =MOD(COLUMN(),N)=0
j. Tô màu nền nhóm N dòng cách quãng (Shade Bands of Rows)

Bạn có thể dùng CF để tô màu nền cho một nhóm dòng trên bảng tính. Ví dụ này sẽ minh hoạ cách tô màu nền cách quãng 4 dòng.

B1. Nhấn chuột lên nút Select All để chọn toàn bộ sheet
B2. Vào Format | Conditional Formatting
B3. Chọn Formula Is tại Condition 1
B4. Nhập vào công: =MOD(INT((ROW()-1)/4)+1,2)
B5. Nhấn nút Format, vào ngăn Patterns chọn màu nền là màu xám
B6. Nhấn OK, và nhấn tiếp OK


  • Muốn tô nền nhóm N cách dòng thì dùng =MOD(INT((ROW()-1)/N)+1,2)

k. Tô màu nền cách dòng trong danh sách đang áp dụng Filter (Shade Alternating Filtered Rows)

B1. Chọn vùng A2:B29
B2. Vào Format | Conditional Formatting
B3. Tại Condition 1 chọn Formula Is
B4. Nhận vào công thức: =MOD(SUBTOTAL(3,$A$1:$A2),2)
B5. Nhấn chuột vào nút Format , vào ngăn Patterns, chọn màu nền xám
B6. Nhấn OK, và nhấn tiếp OK
B7. Khi áp dụnh Auto Filter danh sách thì các hàng vẫn được tô nền cách dòng.


  • Muốn tô màu nền cách N dòng thì dùng công thức: =MOD(SUBTOTAL(3,$A$1:$A2),N)
l. Tạo các hình nền màu (Create Coloured Shapes)

Bạn có thể dùng CF kết hợp font chữ để tạo nên các hình nền màu trong các ô. Trong ví dụ này chúng ta sẽ tô hình nền màu trong vùng C3:C7 tuỳ thuộc vào giá trị trong các ô ở cột B bên cạnh. Nếu giá trị nhỏ hơn 10 thì ô bên cột C cạnh bên sẽ là hình tròn màu đỏ, nếu giá trị lớn hơn 30 thì hiện hình vuông màu xanh, còn lại thì hiện hình thoi màu vàng.

B1. Trong ô C3 nhập vào công thức: =IF(B3="","",IF(B3<10,"l",if(b3>30,"n","t")))
B2. Chép công thức xuống cho các ô C4:C7
B3. Định dạng vùng C3:C7 với font chữ Wingding với màu vàng
B4. Chọn vùng C3:C7
B5. Vào Format | Conditional Formatting
B6. Tại Condition 1 chọn Formula Is
B7. Nhập vào công thức: =$B3<10
B8. Nhấn nút Format và chọn màu font chữ là màu đỏ, sau đó nhấn nút OK.
B9. Nhấn nút Add,
B10. Tại Condition 2 chọn tiếp Formula Is
B11. Nhập vào công thức: =$B3>30
B12. Nhấn nút Format, và chọn màu xanh cho font chữ, sau đó nhấn nút OK.
B13. Nhấn nút OK



2. Một số ví dụ về CF với dữ liệu Date – Time

a. Tô màu các ngày lớn hơn ngày 18/09/2000 (trong ô B24) một năm

B1. Chọn vùng A2:B21
B2. Vào CF và nhập vào công thức:
=$A2>DATE(YEAR($B$24)+1,MONTH($B$24),DAY($B$24))
B3. Định dạng nền màu xanh



b. Tô màu nền các ngày từ 1/1/2001 đến ngày 30/4/2001

B1. Chọn vùng D2:E21
B2. Vào CF và nhập vào công thức:
=AND($D2>=DATE(2001,1,1),$D2<=DATE(2001,4,30))
B3. Định dạng nền màu xanh



c. Tô màu nền các ngày trong tuần hiện hành (tuần bắt đầu là ngày chủ nhật)

B1. Chọn vùng G2:H21
B2. Vào CF và nhập vào công thức:
=AND($G2>(TODAY()-WEEKDAY(TODAY())),$G2<=(TODAY()-WEEKDAY(TODAY())+7)) Hoặc dùng công thức sau:
=($G2>(TODAY()-WEEKDAY(TODAY())) * ($G2<=(TODAY()-WEEKDAY(TODAY())+7))
B3. Chọn màu nền xanh



d. Tô màu nền các ngày cuối tuần (tuần bắt đầu là ngày chủ nhật)

B1. Chọn vùng N2:O21
B2. Vào CF và nhập vào công thức:
=OR(WEEKDAY($N2)=1,WEEKDAY($N2)=7)
B3. Chọn màu nền xanh



e. Tô màu nền cho các ngày lễ

Chúng ta có thể đặt tên cho vùng dữ liệu chứa các ngày lễ

B1. Chọn vùng Q2:Q21
B2. Vào CF và nhập vào công thức:
=ISNUMBER(MATCH($Q2,$S$2:$S$4,0))
B3. Chọn màu nền là màu xanh



f. Tô màu các cột là ngày chủ nhật hàng tuần

B1. Nhập ngày đầu của tháng vào ô U3
B2. Tại ô V3 nhập vào =U3, tại ô W3 nhập vào =V3+1 , sao chép W3 cho các ô X3:AZ3
B3. Định dạng vùng V3:AZ3 là dd (chỉ hiển thị ngày)
B4. Chọn vùng V3:AZ21
B5. Vào CF chọn Formula Is và nhập vào công thức: =WEEKDAY(V$3)=1
B6. Chọn nền màu xanh



g. Sử dụng hàm DateDif và CF để tô nền các thành viên nhỏ hơn 18 tuổi

B1. Chọn vùng BB2:BC12
B2. Vào CF và nhập vào công thức: =DATEDIF($BC2,TODAY(), “Y”)<=18
B3. Chọn màu nền xanh



h. Kết hợp TODAY và MONTH tô nền những người có sinh nhật trong tháng

B1. Chọn vùng BE2:BF12
B2. Vào CF và nhập vào công thức: =MONTH($BF2)=MONTH(TODAY())
B3. Chọn màu nền xanh



3. Một số ví dụ về CF với dữ liệu dạng Text

a. Tô màu nền các ô chứa chuỗi đơn cần tìm

B1. Chọn vùng A1:B10
B2. Vào CF chọn Formula Is và nhập công thức:
  • Không phân biệt chữ HOA và thường thì dùng: =TRIM(A1)=”Đào”
  • Có phân biệt chữ HOA và thường thì dùng: =EXACT("Đào",A1)
B3. Chọn nền màu xanh



b. Tô màu nền các ô có chứa chuỗi con cần tìm

B1. Chọn vùng D1:D10 (F1:F10)
B2. Vào CF chọn Formula Is và nhập công thức:
  • Không phân biệt chữ HOA và thường thì dùng:
=SEARCH(“Mai”,D1)
  • Có phân biệt chữ HOA và thường thì dùng
=FIND("Mai",F1) hoặc dùng
=LEN(F1)<>LEN(SUBSTITUTE(F1,“Mai”,””))

B3. Chọn nền màu xanh



c. Tô màu nền các ô chứa chuỗi có các chữ bắt đầu giống chuỗi cần tìm

B1. Chọn vùng H1:H10 (J1:J10)
B2. Vào CF chọn Formula Is và nhập công thức:
  • Không phân biệt chữ HOA và thường thì dùng:
=COUNTIF(H1,”H*”) --> tô nền các ô có ký tự bắt đầu là ký tự H
  • Có phân biệt chữ HOA và thường thì dùng
=FIND("H",J1)=1 --> tô nền các ô có ký tự bắt đầu là ký tự H
B3. Chọn nền màu xanh




d. Tô màu cả dòng khi có một ô thuộc dòng có chứa chuỗi cần tìm

B1. Chọn các dòng 18 đến 27 (dòng 35 đến 44)
B2. Vào CF chọn Formula Is và nhập công thức:
  • Ô chứa chuỗi đơn
=CountIf(18:18,”Mai”) --> Tô màu cả dòng khi có ô chứa chuỗi đơn
  • Ô chứa chuỗi con
=CountIf(35:35,”*Lan*”) --> Tô màu cả dòng khi có ô chứa chuỗi con
B3. Chọn nền màu xanh





e. Tô màu các dòng có lượng hàng tồn kho

B1. Chọn vùng L2:O10
B2. Vào CF chọn Formula Is và nhập vào công thức
=$O2=”Có”
B3. Chọn nền màu xanh



4. Các ví dụ CF sử dụng hàm thống kê

a. Tìm và tô màu nền của ô chứa giá trị lớn nhất trong vùng số liệu

B1. Chọn vùng A1:C10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=A1=MAX($A$1:$C$10)
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns



b. Tìm và tô màu nền của ô chứa giá trị lớn nhất, nhì, ba trong vùng số liệu

B1. Chọn vùng E1:G10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=E1>=LARGE($E$1:$G$10)
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns



c. Tìm và tô màu nền của ô chứa giá trị nhỏ nhất trong vùng số liệu

B1. Chọn vùng I1:K10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=I1>=MIN($I$1:$K$10)
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns



d. Tìm và tô màu nền của ô chứa giá trị nhỏ nhất khác không (0) trong vùng số liệu

B1. Chọn vùng M1:O10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=M1=MIN(IF($M$1:$O$10<>0,$M$1:$O$10))
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns



e. Tìm và tô màu nền của ô chứa giá trị nhỏ nhất, nhì, ba trong vùng số liệu

B1. Chọn vùng Q1:S10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=Q1<=SMALL($Q$1:$S$10,3)
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns



f. Tìm và tô nền của ô chứa giá trị lớn hơn giá trị trung bình cộng

B1. Chọn vùng U1:W10
B2. Vào CF, chọn Formula Is và nhập vào công thức
=U1>AVERAGE($U$1:$W$10)
B3. Chọn Format và chọn màu nền xanh trong ngăn Patterns

No comments: