Thủ
thuật trong Excel
Sắp xếp theo 4 mức có sẵn
Nguyễn Phương Thảo - mailto: fthaoabc@yahoo.com
Trong khi cày xới ruộng vườn và cày xới Windows tôi có nhận được một câu hỏi của một học sinh dân tộc. "Em đang thiết kế công thức cho lớp em để phân loại các mức giỏi, khá, trung bình, kém. Em muốn Giỏi mà đỏ, Khá màu hồng, trung bình màu xanh, kém màu đen. Nhưng em muốn sắp xếp bằng lệnh Data/Sort cột này thì, phải xếp theo thứ tự Giỏi đến Khá, đến Trung bình, đến Kém".
Tôi có thể khuyên cô bé này thêm một cột để nhận giá trị bằng số theo giá trị của cột này, rồi xếp theo cột mới như người ta thường làm. Hoặc chọn thực đơn Format/Conditional Forrmating... Điều này quá bình thường. Tôi muốn nhắc đến một cách làm khác. Đó chính là ý tưởng của chính tập đoàn Microsoft đề cập trong các bài phát biểu khi công bố các bộ OFFICE mới.
Trong bài Trung bình cộng theo màu chữ, tôi có nhắc đến một vấn đề mà có lẽ ít bạn để ý. Đó là việc thể hiện của màu sắc tuỳ thuộc vào giá trị của ô. Bài viết này tôi xin đề cập đến vấn đề ứng dụng sâu hơn. Ta sẽ làm được gì và từ đó phát triển thêm dựa vào VBA (Ngôn ngữ lập trình Visual Basic For Application - Quà tặng cho những người thích tìm hiểu).
Trong một ô của Excel sẽ đựng giá trị của ô. Khi ta để hộp sáng tại ô đó, giá trị hoặc công thức tính ra giá trị, sẽ hiển thị trên thanh công thức Formular. Đó chính là giá trị thực của ô. Giá trị thực này tham gia tính toán khi công thức chỉ tới địa chỉ ô đó. Giá trị này còn gọi là phần thứ cấp của ô.
Hiển thị trong ô không những chỉ có giá trị thực đó, nó còn một dạng giá trị khác. Đó là giá trị giả, giá trị làm vỏ bọc, không tham gia tính toán mà chỉ giúp cho việc hiển thị giá trị thực thứ cấp rõ ràng hơn. Đó là phần sơ cấp của ô.
Đơn giản nhất như bảng sau:
|
(4) Họ tên |
Sản phẩm (D) |
Mức khoán (E) |
So với định mức (F) |
|
Ông A |
500 |
300 |
|
|
Bà B |
400 |
200 |
|
|
Anh C |
700 |
500 |
|
|
Chị D |
800 |
500 |
Sản phẩm, mức khoán, định mức chính là ô số. (Phần mở ngoặc tôi muốn thuyết minh cho tiêu đề cột của ô ở hàng 4)
Ta thấy, khi nhập vào các số, giá trị của ô F5 được tính theo:F5 = D5 - E5. Nếu D5 và E5 chỉ là số, thì đương nhiên ô sẽ có kết quả phép tính. Nhưng nếu bạn đánh thêm vào ô D5 để thành "500 cái". Bạn sẽ bị lỗi #Value. Điều đó là đương nhiên vì các ô kiểu xâu ký tự không thể thực hiện phép tính của toán được.
Khi đó, muốn đánh được "500 cái", bạn hãy vào FormatCell, chọn Number, chọn Custom và đánh vào hộp Type: #.### " cái". Bạn sẽ thấy, phép tính vẫn thực hiện bình thường và trên ô vẫn hiện đủ "500 cái".
Tôi mô tả tương đối tỉ mỉ để bạn hiểu chữ " cái" chính là phần sơ cấp của ô. Phần sơ cấp được thực hiện như trên, nhưng nhớ là luôn phải có dấu ngoặc kép ở 2 đầu để tránh lỗi Format.
Copy phần sơ cấp này bằng cách để hộp sáng tại ô nguồn rồi chọn nút Format Painter (Hình cái chổi) rồi "quét" vào các ô đích.
Tôi chép lại phần định dạng Code của các loại gía trị trong ô trong bài Trung bình cộng theo màu chữ để bạn tiện theo dõi. Tuỳ thuộc vào giá trị thứ cấp của ô, Excel phân chia thành 2 loại định dạng (2 Code chính).
Code 1: Phần số dương ; Phần số âm ; Phần số 0 ; Phần không phải số.
Code 2: [ > mốc] Phần lớn hơn mốc; Phần số âm; Phần từ 0 đến mốc; Phần không phải số.
Bạn căn cứ vào code trên để định dạng từng phần (Lưu ý, máy của tôi cài theo kiểu Việt Pháp nên dấu phân cách là dấu chấm phảy, còn máy của bạn định dạng kiểu Mỹ Anh thì dấu phân cách chính là dấu phảy).
Tại mỗi phần, nếu bạn điều chỉnh màu sắc thì đặt tên màu sắc vào trong hộp có dấu [ ], sau đó đánh định dạng theo khuôn mẫu quy ước, dấu # (không bắt buộc hiển thị) và số 0 (Bắt buộc hiển thị đủ số chữ số, nếu không đủ thì điền số 0 vào cho đủ số chữ số). Phần sơ cấp được đặt trong dấu ngoặc kép.
PCWorld VN số tháng 4/2001 có hướng dẫn không cho hiển thị trong ô bằng ba dấu ; chính là không cho hiện cả sơ và thứ cấp của ô.
Có nghĩa là ta cũng có thể chỉ cho hiển thị phần sơ cấp mà không hiển thị phần thứ cấp. Còn các lệnh của EXcel đương nhiên chỉ tác động tới phần thứ cấp rồi.
Bây giờ xét tới bài toán của cô học trò dân tộc. Ta hãy đặt mức sau đây để cho máy sắp xếp:
|
Mức |
Giá trị |
Thể hiện |
|
1 |
a |
Giỏi [Màu đỏ] |
|
2 |
2 |
Khá [Màu hồng] |
|
3 |
0 |
Trung bình [Xanh] |
|
4 |
-1 |
Kém [Đen] |
Giá trị tôi sẽ đặt làm thứ cấp, còn thể hiện, tôi sẽ đặt làm sơ cấp.
Ta lựa chọn phần xếp loại rồi đánh vào FormatCell/Number/Type theo code 2 như sau:
[>1] "Khá" [Magenta] ; "Kém" ; "Trung bình" [blue]; "Giỏi" [red]
Khi đó tuỳ thuộc giá trị thứ cấp của ô nếu:
> 1 Ô sẽ hiện chữ "Khá" màu hồng.
Từ 0 - 1 Ô sẽ hiện chữ "Trung bình" màu xanh
Số âm Ô hiện chữ "Kém" màu đen
Chữ bất kỳ Ô hiện chữ giỏi màu đỏ
Ta lập công thức để thứ cấp là các giá trị trên. Khi đó nếu sắp xếp giảm dần, ta sẽ thấy các hàng đều theo thứ tự: Giỏi - Khá - Trung bình - Kém
Tương tự bạn có thể làm 4 mức trên với việc khác.
Ta có thể thiết kế một hàm mới để mở rộng chức năng này lên, phần này xin viết ở bài viết khác.
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com