Cùng Bờm Tiên sinh học Calc (Phần 27)

20/03/2013 15:44

Uống nước lọc, Bờm ngồi học các chiêu thức định dạng số trong Calc do Trang chủ truyền đạt. Do Bờm đói đến xỉu, nên bài giảng về tìm kiếm phải dừng lại

Trong ngày học mà dọn thức ăn ngon, thì Bờm mãi ngồi đó mà thưởng thức, mà dọn thức ăn trai tịnh, thì Bờm cũng cắm cúi mà nạp mãi không no! Qua ngày thứ ba, Trang chủ giận quá, dặn nhà bếp không cần nấu nướng gì cả, chỉ dọn cho mỗi người một cốc nước lọc. Biết là Trang chủ cố tình làm khổ mình, Bờm bèn làm ra vẻ dửng dưng. “Ta đây có phải là kẻ phàm phu tục tử ham ăn hóc uống gì đâu, mà lại thèm quan tâm đến hôm nay có dọn món gì ra hay không cơ chứ?” Nghĩ vậy, Bờm ngồi xếp bằng ngay ngắn, mắt nhìn chăm chú vào phía Lão bà và Trang chủ đang kính cẩn mở quyển bí kíp rồi trao đổi trước khi bắt đầu truyền cho các đệ tử của mình.

Hôm nay là ngày cuối trong ba buổi học, nên cả Trang chủ và Lão bà sẽ thay phiên nhau. Được Trang chủ nhường, Lão bà bắt đầu phần giảng của mình: “Ta cũng biết định dạng ô số là việc quá đỗi bình thường. Tuy nhiên, có hai cách định dạng ô số đặc biệt mà không phải ai cũng nắm vững. Thứ nhất là định dạng số từ ngay trong công thức. Ta dùng hàm =FIXED(con_so, thap_phan, dau_phan_ngan), với con_so là giá trị cần định dạng, thap_phan là số con số thập phân, dau_phan_ngan mang một trong hai giá trị 01 cho biết có hiển thị dấu phân cách hàng ngàn hay không”.

Chiêu thứ hai là chúng ta tự mình định nghĩa cách định dạng, để tạo ra các kiểu định dạng phù hợp với ý muốn của mình. Ví dụ như để hiển thị con số theo định dạng tỉ lệ giữa hai giá trị, ta nhấn Ctrl – 1 để mở cửa sổ định dạng ô, chọn LoạiTự xác định, rồi gõ vào khu vực Mã định dạng dòng chữ 0.00 : 1 để quy định kiểu hiển thị. Trong khi gõ, các con cũng đừng quên xem thử chúng có thể hiện đúng như ý của mình không nhé! Xong thì các con nhấn OK để áp định dạng vào ô”.

Đến lượt của mình, Trang chủ hắng giọng bước lên rồi mở lời: “Ta thử đố các ngươi, từ một ô chứa giá trị ngày tháng, hỏi rằng các ngươi làm sao mà đưa ra được công thức hiển thị cùng lúc vừa thứ theo tiếng Anh, vừa thứ theo tiếng Việt?” Đợi thêm một lúc, chẳng thấy ai trả lời, Trang chủ cười mỉm rồi tiếp: “Ta phải dùng cùng lúc hai hàm, hàm thứ nhất là hàm Weekday() cho ra giá trị ngày thứ mấy trong tuần. Còn hàm thứ hai là hàm Choose() cho phép lấy giá trị thứ mấy trong danh sách do ta định nghĩa. Vì vậy ta sẽ định nghĩa một danh sách gồm các cặp Sun – chủ nhật, Mon - Thứ hai, Tue – Thứ ba …. Như thế khi hàm Weekday() trả ra giá trị bao nhiêu thì hàm Choose() sẽ tự động chọn cặp thứ mấy trong danh sách để trả ra cho tương xứng”.

“Ta lại truyền thêm cho các con thêm một chiêu thức định dạng nâng cao khác trong bí kíp nữa là làm tròn theo các ngưỡng tùy ý. Thông thường khi làm tròn số bằng hàm ROUND(), ta chỉ có thể làm tròn theo đơn vị 10lũy thừa của 10, ví dụ như một con số 9.157 khi làm tròn thì chỉ có thể hạ xuống thành 9.160, 9.200 hay 10 mà thôi. Nhưng với hàm MROUND(), ta có quyền đặt một ngưỡng bất kỳ cho việc làm tròn số. Ta thử lại ví dụ trên với hàm MROUND() và ngưỡng làm tròn là 0.03, thì kết quả nhận được sẽ là 9.15, với ngưỡng làm tròn 0.04 thì kết quả là 9.16. Tương tự, ta cũng sẽ biểu diễn một kỹ thuật làm tròn thời gian theo dạng 15 phút. Rất đơn giản, phần tham số ngưỡng làm tròn, ta dùng hàm TIME(0;15;0) là xong”.

Một đồ đệ trong Thần Toán sơn trang nghe đến đây bỗng rụt rè giơ tay: “Thưa sư phụ, con chỉ mới gia nhập sơn trang chưa bao lâu, nên công phu còn yếu kém. Từ nãy giờ con thấy sư phụ truyền giảng rất hay, nhưng đến đây con thực sự không hiểu, hàm TIME() nghĩa là sao ạ, và tại sao mà ta phải dùng hàm đó ở đây?”

Đang bực vì mãi mà không thấy thức ăn gì được dọn ra trên chiếc bàn trống, lại thêm nghe hỏi một câu quá đơn giản với kiến thức mình đang có, Bờm buộc miệng: “Xí, vậy mà cũng hỏi! Dùng hàm Time(giờ,phút,giây) với giờ bằng 0, phút bằng 15, còn giây cũng bằng 0 thì ta có giá trị 15 phút. Đem giá trị 15 phút này vào làm ngưỡng tròn số trong MROUND(), thì giá trị thời gian được làm tròn theo 15 phút là đúng quá rồi, còn muốn gì nữa?”

Trang chủ thấy Bờm bực mình, thì lại có vẻ vui ra mặt, vì cuối cùng cũng tìm ra được cách trị thói quen hay ăn uống trong lúc truyền giảng bí kíp của Bờm, nên vờ như chẳng nghe thấy gì mà tiếp tục: “ Một số hàm khi sau khi xử lý mà không thể trả ra kết quả thì lại thông báo một lỗi sai. Ví dụ như hàm tìm kiếm SEARCH(chuỗi_con; chuỗi lớn) là hàm dùng để tìm ra vị trí đầu tiên xuất hiện một chuỗi_con trong một chuỗi_lớn. Thế nhưng khi chuỗi lớn không hề chứa chuỗi con ở bất kỳ vị trí nào, thì dĩ nhiên hàm SEARCH() sẽ không biết phải trả ra giá trị bao nhiêu cả. Khi đó, nó lại đưa ra giá trị lỗi sai #VALUE! mang ý nghĩa là kiểu dữ liệu không đúng(!?). Cách thể hiện lỗi kiểu này cũng bình thường, nhưng khi ai đó nhìn vào bảng tính của ta, mà thấy hàng loạt các thông báo lỗi sai trong các ô giá trị như thế sẽ cho là chúng ta không chuyên nghiệp! Các ngươi có thấy như vậy không?” Đệ tử cả sảnh như đã quen, đồng thanh trả lời: “Dạ có ạ!”. “Được, vậy thì để ta đem một đoạn trong bí kíp ra để giúp các ngươi xử lý trường hợp này nhé! Hàm ISERR() là một hàm trả ra giá trị đúng khi có xảy ra lỗi, ngược lại thì hàm sẽ trả giá trị sai. Như vậy ta sẽ phối hợp hàm này vào hàm tìm kiếm của ta để kiểm tra. Nếu kết quả của hàm SEARCH() có lỗi thì ta cho xuất hiện thông báo Không tìm thấy, còn nếu không có lỗi thì ta cứ cho xuất hiện giá trị mà hàm tìm ra”.

“Một chiêu khác nữa cũng dùng để kiểm tra, tránh việc hiển thị số 0 một cách thiếu chuyên nghiệp trong phần kết quả. Đó là ta dùng hàm IF() với chính công thức tính toán làm điều kiện kiểm tra. Như vậy nếu kết quả mà hàm đó tính toán ra khác 0, nghĩa là điều kiện của hàm IF() là đúng, thì kết quả hiển thị bình thường. Ngược lại, khi kết quả bằng 0, tức điều kiện hàm IF() là sai, thì ta đặt vào ô một giá trị rỗng, là hai dấu ngoặc kép đặt liền nhau…”.

“Ọt ọt, ọt ọt”, đang say mê truyền giảng bí kíp, Trang chủ bực mình khi nghe những tiếng động lạ phát ra. Trang chủ quắc mắt nhìn qua một lượt hết đám học trò làm cả bọn xanh mặt. “Ai?”, chỉ một tiếng hỏi duy nhất, mà cả sảnh sơn trang bổng dưng im phăng phắc, một con muỗi bay ngang cũng nghe rõ tiếng đập cánh. Một tiếng thều thào cất lên: “là… à… à … ta ..a ..a”, mọi người nhìn về hướng đó thì chẳng thấy ai, lát sau thì một bàn tay từ từ đưa lên khỏi mặt bàn. Nhìn thấy bàn tay mập mạp như nãi chuối cau thì ai cùng ồ lên: “Văn Bờm tiên sinh!?”. Nghe vậy, Tí quay sang thì thấy Bờm đã ngã nằm dài từ lúc nào. Tí vội đỡ Bờm dậy rồi nói chữa cho Bờm khỏi quê: “Dạ thưa Trang chủ, hôm nay Trang chủ giảng hay quá, nên Bờm chăm chú ngồi nghe đến nỗi ngất xỉu! Xin tiền bối bỏ quá cho!”

Bờm đang xỉu mê man, bổng chép chép miệng: “đói,… đói…”, làm cả sảnh cười ầm ầm. Lão bà hiểu chuyện cũng cười khanh khách rồi nói: “Thôi, chúng ta tạm nghỉ để nhà bếp dọn thức ăn lên, sau buổi ăn trưa, chúng ta lại tiếp thêm vài chiêu nữa rồi kết thúc kẻo chiều muộn”. Chẳng hiểu do tiếng cười ầm của mọi người, hay tại mùi thức ăn thơm phưng phức, mà Bờm bổng ngồi dậy như chưa từng xỉu: “Ủa, có chuyện gì mà mọi người cười vui dữ vậy?”. Chưa ai kịp trả lời thì bổng đâu tiếng “ọt ọt” vang lên từ bụng Bờm làm mọi người lại thêm một phen cười nghiêng cười ngã.

NHÓM MỤC ĐỒNG

Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang