Những tuyệt chiêu trong Excel
Mục lục
Lời nói đầu: . 2
Chiêu thứ 01: Tùy biến cửa sổ làm việc của bảng tính . 4
Chiêu thứ 02: Nhập dữ liệu đồng thời vào nhiều sheet. . 9
Chiêu thứ 03: Ngăn chận người sử dụng thực hiện một số hành động nào đó nhất định . 13
Chiêu thứ 04: Ngăn chặn các nhắc nhở không cần thiết . 19
Chiêu thứ 05: Ẩn sheet sao cho người dùng không thể dùng lệnh unhide để hiện ra . 23
Chiêu thứ 06: Tự thiết kế một bảng tính mẫu (template) . 26
Chiêu thứ 07: Tạo chỉ mục cho các Sheet trong Workbook . 36
Chiêu thứ 08: Giới hạn vùng cuộn của bảng tính . 42
Chiêu thứ 09: Khóa và bảo vệ những ô có chứa công thức . 47
Chiêu thứ 10: Sử dụng định dạng theo điều kiện để tìm dữ liệu trùng . 54
Chiêu thứ 11: Tìm dữ liệu xuất hiện 2 hoặc nhiều lần bằng công cụ Conditional Formating . 58
Chiêu thứ 12: Tạo riêng một thanh công cụ cho riêng một bảng tính cụ thể . 62
Chiêu thứ 13: Sao chép công thức giữ nguyên tham chiếu tương đối . 65
Chiêu thứ 14: Gỡ bỏ những liên kết ma . 66
Chiêu thứ 15: Giảm kích thước file Excel bị phình to bất thường . 70
Chiêu thứ 16: Cứu dữ liệu từ một bảng tính bị lỗi . 74
Chiêu thứ 17: Sử dụng Data-Validation khi danh sách nguồn nằm trong một Sheet khác . 78
Chiêu thứ 18: Điều khiển Conditional Formating bằng checkbox. . 81
Chiêu thứ 19: Đánh dấu những ô chứa công thức bằng Conditional Formatting. 88
Chiêu thứ 20: Đếm hoặc cộng những ô đã được định dạng có điều kiện. 89
Chiêu thứ 21: Tô màu dòng xen kẽ . 93
Chiêu thứ 22: Tạo hiệu ứng 3D trong các bảng tính hay các ô . 98
Chiêu thứ 23: Bật, tắt chức năng Conditional Formatting bằng 1 checkbox . 105
Chiêu thứ 24: Dùng nhiều List cho 1 Combobox . 106
Chiêu thứ 25: Tạo một danh sách xác thực thay đổi theo sự lựa chọn từ một danh sách khác . 110
Chiêu thứ 26: Sử dụng chức năng thay thế (Replace) để gỡ bỏ các ký tự không mong muốn. . 114
Chiêu thứ 27: Chuyển đổi con số dạng văn bản sang số thực . 115
Chiêu thứ 28: Trích xuất dữ liệu số trong 1 chuỗi bằng VBA . 120
Chiêu thứ 29: Tùy biến chú thích của ô bảng tính . 124
Chiêu thứ 30: Sort thứ tự dựa trên nhiều hơn ba cột . 129
Chiêu thứ 31: Sắp xếp ngẫu nhiên . 130
Chiêu thứ 32: Thao tác trên dữ liệu với Advanced Filter . 133
Chiêu thứ 33: Tạo các định dạng số cho riêng bạn . 141
Chiêu thứ 34: Tăng thêm số lần Undo cho Excel . 150
Chiêu thứ 35: Tự tạo danh sách để fill . 154
Chiêu thứ 36: Làm nổi các Subtotal của Excel . 157
Chiêu thứ 37: Chuyển đổi các hàm và công thức trong Excel thành giá trị. . 164
Chiêu thứ 38: Thêm dữ liệu vào danh sách Validation một cách tự động . 167
Chiêu thứ 40: Cho phép sử dụng tính năng Group and Outline trên bảng tính bị khoá . 175
Chiêu thứ 41: Bẫy lỗi để trống dữ liệu . 177
Chiêu thứ 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1. . 180
Chiêu thứ 43: Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột phải . 181
với Excel (có đến 96% các công thức trong Excel có thể sử dụng trong bảng tính của Openoffice.org). Sau khi đã download phiên bản miễn phí của Openoffice.org, bạn cài đặt nó vào máy. Rồi dùng nó để mở bảng tính bị hư của bạn. Trong khá nhiều trường hợp, dữ liệu của bạn sẽ được phục hồi. Tuy nhiên, những VBA code thì không còn gì cả, vì các VBA code của Excel không tương thích với Openoffice.org. 4. Nếu số bạn quá đen, không thể dùng Openoffice.org để cứu dữ liệu, vẫn còn một cách nữa, nhưng bạn phải mất tiền. Một trong những chương trình có thể phục hồi khá tốt những bảng tính bị hư là Corrupt File Recovery. Bạn hãy tải và cài đặt phần mềm này, chạy chương trình ExcelFix, nhấn Select File, chọn bảng tính bị lỗi, và nhấn Diagnose để phục hồi. Bạn sẽ thấy thành quả của mình, và có thể lưu lại bảng tính, nếu như bạn đã trả tiền bản quyền, còn nếu chưa trả tiền bản quyền, thì bạn chỉ có thể xem chứ không thể lưu lại. Chiêu thứ 17: Sử dụng Data-Validation khi danh sách nguồn nằm trong một Sheet khác Sử dụng Data-Validation là một cách dễ nhất để áp dụng một quy tắc nhập liệu cho một dãy dữ liệu. Theo mặc định, Excel chỉ cho phép Data-Validation sử dụng những danh sách nguồn nằm trong cùng một Sheet với dãy dữ liệu sẽ được áp dụng quy tắc này. Tuy nhiên, vẫn có cách để lách khỏi chuyện đó. Chiêu này sẽ giúp bạn làm cho Data-Validation có thể sử dụng những danh sách nguồn nằm trong một Sheet khác. Cách thứ nhất là lợi dụng chính việc đặt tên cho một dãy của Excel, cách thứ hai là sử dụng một hàm để gọi ra danh sách đó. Cách 1: Sử dụng Name cho dãy nguồn Có lẽ cách nhanh nhất và dễ nhất để vượt qua rào cản Data-Validation của Excel là đặt tên cho dãy mà bạn sẽ dùng làm quy tắc nhập liệu. Để biết cách đặt tên cho dãy, bạn xem ở loạt bài này: Sử dụng tên cho dãy. Giả sử bạn đã đặt tên cho dãy sẽ dùng làm quy tắc nhập liệu là MyRange. Bạn chọn ô (hoặc dãy) trong bất kỳ Sheet nào mà bạn muốn có một danh sách xổ ra để nhập liệu, rồi trong menu Data trên Ribbon, bạn chọn Data Tools | Data Validation [E2003: Data | Validation]. Chọn List trong danh sách các Allow, và trong khung Source, bạn nhập vào =MyRange. Nhấn OK. Bởi vì bạn đã sử dụng một Name để làm List, nên bạn có thể áp dụng Data-Validation này cho bất kỳ Sheet nào. Cách 2: Sử dụng hàm INDIRECT Hàm INDIRECT() cho phép bạn tham chiếu đến ô chứa dữ liệu text đại diện cho một địa chỉ ô. Và rồi bạn có thể sử dụng ô đó như môt tham chiếu cục bộ, cho dù nó tham chiếu đến dữ liệu trong một Sheet khác. Bạn có thể sử dụng tính năng này để tham chiếu đến nơi chứa dãy mà bạn sẽ dùng làm danh sách nguồn cho quy tắc Data-Validation. Giả sử, dãy chứa danh sách nguồn này nằm ở Sheet1, trong dãy $A$1:$A$8. Để tạo một Dala-Validation, bạn cũng làm những bước như tôi đã nói ở cách 1, nhưng thay vì gõ tên dãy vào trong Source, thì bạn nhập vào đó công thức: =INDIRECT("Sheet1!$A$1:$A$8"). Hãy chắc chắn rằng tùy chọn In-cell drop- down đang được kích hoạt, và nhấn OK. Nếu tên Sheet của bạn có chứa khoảng trắng, hoặc có dấu tiếng Việt, bạn phải đặt tên Sheet trong một cặp nháy đơn ('). Ví dụ, giả sử tên Sheet chứa danh sách nguồn là Sheet 1 (chứ không phải Sheet1), thì bạn sửa công thức trên lại như sau: =INDIRECT("'Sheet 1'!$A$1:$A$8"). Chỗ khác nhau so với công thức hồi nãy là có thêm một dấu nhấy đơn (') sau dấu nháy kép ("), và một dấu nháy đơn (') nữa trước dấu chấm than (!). Xin mở một ngoặc đơn: Nếu như có thể được, khi gặp những tham chiếu đến tên Sheet, bạn nên tập thói quen luôn luôn bỏ nó vào trong cặp dấu nháy đơn. Điều này, tuy chẳng có tác dụng gì với những tên sheet như Sheet1, DMHH... nhưng nó sẽ giúp bạn không bao giờ gặp lỗi, khi bạn hay đặt tên Sheet có khoảng trắng, hay là có bỏ dấu tiếng Việt... Ưu điểm và Khuyết điểm của cả hai cách đã nêu trên Đặt tên cho dãy, và dùng hàm INDIRECT, đều có cái tiện lợi và cả cái bất tiện. Tiện lợi của việc đặt tên cho dãy, là việc bạn thay đổi tên Sheet chẳng có ảnh hưởng gì đến Data-Validation. Và đó chính là cái bất tiện của việc dùng INDIRECT, khi bạn đổi tên Sheet, tên mới sẽ không tự động cập nhật trong công thức dùng INDIRECT, cho nên nếu vẫn muốn dùng công thức này, bạn phải mở Data-Validation ra và sửa lại tên Sheet trong công thức. Tiện lợi của việc dùng INDIRECT, là dãy dùng làm danh sách nguồn của bạn luôn luôn nằm yên chỗ đã chọn (A1:A8 trong ví dụ trên chẳng hạn). Còn nếu bạn dùng Name, mà bạn lỡ tay xóa mất vài hàng (hoặc cột) ngay chỗ chứa Name, thì bạn phải điều chỉnh lại cho đúng... Chiêu thứ 18: Điều khiển Conditional Formating bằng checkbox. Mặc dù Conditional Formating là 1 trong những chiêu mạnh của Excel, nhưng muốn bật hay tắt nó bằng ribbon hay menu thì khá bực bội. Bây giờ ta biến hoá bằng cách điều khiển bằng 1 checkbox giống như 1 công tắc (hoặc 1 cái toggle Button càng giống hơn). Conditional Formating có từ đời Excel 97, gán định dạng cho những ô nào thoả 1 số điều kiện nào đó. Điều kiện có thể là 1 điều kiện về giá trị, nhưng ta có thể tuỳ biến nhiều hơn khi dùng điều kiện là công thức, dựa vào đó ta có thể thay đổi định dạng cho những ô này, khi có sự thay đổi giá trị của ô khác. 1. Dùng 1 Checkbox hoặc 1 Toggle Button để xem và ẩn dữ liệu: Bạn muốn một vùng dữ liệu nào đó chỉ hiện ra lúc cần xem, xem xong thì biến đi cho rảnh. Trước tiên bạn phải gán lên sheet 1 Checkbox hoặc 1 Toggle Button. Trong Excel 2007, vào tab Developer, nhấn Insert trong Controls - chọn Checkbox hoặc Toggle Button trong Control Toolbox, trong Excel 2003 chọn trong view – Toolbar – Control Toolbox, vẽ lên sheet 1 cái. Trong hình, tôi làm thử 2 cái. ................. Nhấn vào nút design, click chọn cái control bạn vừa vẽ, nhấn thêm nút Property. Trong cửa sổ Property, sửa dòng Caption thành View/ Hide, sửa dòng Linked Cell thành $C$2. (cả 2007 và 2003 như nhau, cả checkbox và Toggle Button như nhau). Bây giờ khi bạn click chọn checkbox hoặc nhấn nút Toggle, ô C2 sẽ lần lượt có các giá trị TRUE và FALSE. .................. Bây giờ giả sử vùng dữ liệu của bạn gồm 4 fields, trong đó bạn chỉ muốn 3 fields hiện thường xuyên, còn field thứ 4 thì khi nào cần mới hiện ra để xem, không cần thì dấu đi. Bạn đánh dấu chọn vùng chứa field 4, trong 2007 bạn vào tab Home, Conditional Formating, New Rule, chọn tiếp “use a formula to determine which cells to format”, trong 2003 là Fornat - Conditional Formating - chọn tiếp “Formula is”. Trong ô kế bến, bạn gõ: = $C$2=FALSE. Nhấn vào nút Format, định dạng font chữ màu trắng. Nhấn OK và OK. Nhấn nút design 1 lần nữa để thoát ta khõi chế độ design Mode. Và nhấn nút toggle hoặc click chọn cái checkbox xem kết quả. ............ Nếu bạn không thích thì định dạng ô C2 chữ trắng luôn, để khỏi thấy chữ TRUE, FALSE hiện lên. 2. Tắt mở định dạng màu cho ô: Dùng Conditional Formating nhằm tô màu ô theo điều kiện giúp ta dễ tìm được những ô có giá trị đặc biệt cho trước. Excel 2007 có nhiều định dạng khác nhau cho giá trị số nằm trong khoảng cho trước. Nhưng biện pháp để mở tắt bằng checkbox là không có sẵn. Tương tự như phần trên, ta tạo ra 1 checkbox hoặc 1 Toggle Button link tới ô $C$2. Nhưng lần này ta đặt name cho nó là IsFill chẳng hạn. Ta cũng đặt name cho ô $A$2 là BeginNum và $B$2 là EndNum, với A2 là giới hạn dưới thí dụ 100, và B2 là giới hạn trên thí dụ 1.000. Trong vùng dữ liệu B5:B16, ta muốn giá trị nào nằm trong khoảng BeginNum và EndNum sẽ được tô màu. Vậy dùng conditional Formating như trên, chọn vùng C8:C18, lần này công thức là: =AND($C8>=BeginNum,$C8<=EndNum,IsFill) Chọn cho nó 1 định dạng màu theo ý muốn. Kết quả: khi nhấn button hoặc click checkbox thay đổi trạng thái thành True, các ô chứa số trong khoảng (100, 1.000) sẽ được tô màu, các ô còn lại không tô. Khi thay đổi thành False, các ô trở lại bình thường. Đồng thời, vì bạn đặt công thức liên quan đến BeginNum và EndNum, nên khi thay đổi 2 số này, kết quả tô màu cũng thay đổi. ............ Bạn thấy đấy, nếu bạn chưa xem bài này mà thấy 1 file tương tự của người khác, bạn có thể lầm tưởng người ta sử dụng code của VBA. Sự thực thì quá đơn giản phải không? Chiêu thứ 19: Đánh dấu những ô chứa công thức bằng Conditional Formatting Khi một ô có chứa dữ liệu, bạn có thể muốn biết dữ liệu trong ô đơn thuần là dữ liệu nhập vào, hay dữ liệu là kết quả của 1 công thức. Bạn có thể chỉ cần click chọn ô đó và xem trên thanh công thức. Bạn cũng có thể dùng phím tắt Ctrl + ~ để chuyển qua lại giữa chế độ xem giá trị và xem công thức. Chiêu số 19 này sẽ giới thiệu với bạn 1 hàm tự tạo, kết hợp với Conditional Formatting để đánh dấu ô chứa công thức. Bằng cách này có thể giúp bạn tìm ra tất cả những ô chứa công thức trong số 10.000 ô mà không phải ngó từng ô một. Mặc dù bạn có thể dùng 1 hàm có sẵn của Macro4 trong Conditional Formatting, như sau: Trong hộp thoại Conditional Formatting, chọn công thức, gõ công thức này: = CELL(“type”,A1). Nhưng hạn chế của việc dùng hàm Cell() là công thức sẽ tự tính lại mỗi khi có sự thay đổi nhỏ xíu trong bảng tính. Vì Cell() là 1 hàm thuộc loại volatile. Khi Excel tính lại Cell() cho 10.000 ô như trên sẽ khiến cho bạn bực mình vì chờ đợi. Do đó bạn hãy dùng tuyệt chiêu sau đây, đơn giản, dễ làm và không phải hàm loại volatile: Bạn hãy nhấn Alt – F11 để vào cửa sổ VBA, nhấn chuột phải vào This Workbook để insert vào 1 module. Nhập đoạn code sau vào khung soạn thảo: Function IsFormula (CheckCells As Range) IsFormula = CheckCells.HasFormula End Function Do tính chất của Property HasFormula, hàm bạn mới tạo sẽ trả về các giá trị luận lý True, False. Nghĩa là khi bạn gõ vào ô bất kỳ công thức = IsFormula(A1) sẽ cho kết quả True nếu A1 chứa công thức và cho kết quả False nếu A1 chứa giá trị. Đóng cửa sổ VBA lại, trở về bảng tính. Bây giờ đánh dấu toàn bộ vùng dữ liệu của bạn (có thể chọn dư ra một số cột v
File đính kèm:
- Nhung tuyet chieu trong Excel.pdf