Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
820,79 KB
Nội dung
Chiêu 41: Bẫy lỗi để trống liệu Bằng cách dùng Data Validation, bảo đảm trường liệu thiết phải nhập liệu, không để trống Thí dụ ta tạo bảng liệu trường, với tên trường Tên Bộ phận nằm ô A1 B1 Bên dưới, bạn muốn người nhập liệu vào bảng phải nhập đủ nội dung Nếu bạn bắt đầu với bảng liệu có sẵn ô bị để trống, cần điền đầy vào, xem phần sau: Điền liệu vào ô trống: Một số công cụ hàm Excel không làm việc với ô trống Pivot table, Sorting, Filter, hàm SumProduct, … Giả sử bạn có cột A với đống ô trống nằm xen kẽ bạn nhấn F5, Control – G, nhấn Special, chọn ô chọn blank, nhấn OK Bây tất ô trống chọn Nếu bạn muốn điền vào giá trị công thức giống ô liền nó, nhấn dấu (=), nhấn mũi tên lên, nhấn Ctrl-Enter Bây đến phần chính: Tô chọn từ ô A3 đến ô B100 chẳng hạn, theo độ lớn vùng bạn định nhập liệu Mở hộp thoại Data – Validation, tab setting chọn Custom ô Allow, điền công thức sau vào khung công thức: =AND(COUNTA($A$2:$A2)=ROW()-2,COUNTA($B$2:$B2)=ROW( )-2) Chú ý ký hiệu $ liên quan đến tham chiếu tương đối tuyệt đối, sai thiếu, validation không hoạt động ý muốn ráng chịu Vào tab Alert, gõ tiêu đề cho thông báo cảnh báo ô Title, gõ câu thông báo bạn vào ô Error Message, chọn Stop khung Error Style Bây bạn nhập thiếu dòng trên, mà nhảy xuống nhập dòng dưới, bạn cảnh báo sau:[/ Chiêu 42: Giảm danh sách xổ xuống Validation, sau chọn Rất hữu ích cho người dùng Excel bạn cho họ danh sách để chọn Validation, danh sách tự động ngắn lại họ chọn mục danh sách, để khỏi phải lựa chọn danh sách dài, đồng thời tránh việc nhập trùng liệu (đôi cần thiết) Bước 1: Trong sheet (thí dụ sheet1) bạn có danh sách vùng A1:A10 Bạn hy đặt name cho danh sách cách tô chọn vùng danh sách, gõ tên MyList hộp namebox Bước 2: Trong sheet khác mà bạn muốn dùng validation dựa vào danh sách MyList nói trên, tô chọn vùng bạn cần, mở menu Data – Validation, chọn Allow List, source =MyList, nhấn OK Bước 3: mở cửa sổ VBA sheet đó, copy đoạn code sau: Code: Private Sub Worksheet_Change(ByVal Target As Range) Dim strVal As String Dim strEntry As String On Error Resume Next strVal = Target.Validation.Formula1 If Not strVal = vbNullString Then strEntry = Target Application.EnableEvents = False With Sheet1.Range("MyList") Replace What:=strEntry, _ Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False Sort Key1:=.Range("A1"), Order1:=xlAscending, _ Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom Range("A1", Range("A65536").End(xlUp)).Name = "MyList" End With End If Application.EnableEvents = True On Error GoTo End Sub Đóng cửa sổ VBA quay Excel Thử chọn mục validation, sang ô khác xổ validation xuống, bạn thấy mục vừa chọn xong không list Lưu ý code, nói đến name MyList, phải xác định rõ Sheet1.MyList, không, VBA cho name nằm chung sheet với sheet chứa code không tìm thấy báo lỗi Chiêu 43: Thêm danh sách có sẵn danh sách tự tạo vào menu chuột phải Tạo danh sách để fill Excel thông qua Fill handle việc làm hay để nhanh chóng nhập danh sách chuỗi số chuỗi văn vào bảng tính Excel xây dựng sẵn số Custom List ngày tuần (Sun - Sat), danh sách tháng (Jan – Dec) chuỗi số bạn tự tạo thêm danh sách cho Phần hướng dẫn bạn tạo thêm Custom List cho Fill Handle Trước tiên, bạn cần nhập vào danh sách phần tử cần đưa vào Custom List bảng tính Ví dụ bạn nhập 26 chữ ô A1:A26 Sheet1 Sau nhấn vào nút Office ➝ Excel Options ➝ Popular ➝ Edit Custom Lists (E2003: Tools ➝ Options ➝ Custom Lists) Nhấp chọn nút nằm bên trái nút Import dùng chuột quét chọn vùng liệu A1:A26 Sau nhấn nút Import OK Kể từ lúc danh sách chữ sử dụng để fill tất bảng tính máy tính Tiếp theo, để đưa Custom List vào thực đơn ngữ cảnh bạn nhấn tổ hợp ALT+F11 vào Insert ➝ Module Sau đó, bạn nhập vào đoạn mã sau: Code: Sub AddFirstList() Dim strList As String strList = Application.CommandBars.ActionControl.Caption If Not strList Like "* *" Then Exit Sub ActiveCell = Left(strList, InStr(1, strList, ".", vbTextCompare) - 1) End Sub[/highlight] Bạn kích chuột hai lần lên ThisWorkbook cửa sổ VBAProject nhập vào đoạn mã sau: [highlight=VB] Private Sub Workbook_SheetBeforeRightClick _ (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Dim cBut As CommandBarButton Dim lListCount As Long Dim lCount As Long Dim strList As String Dim MyList On Error Resume Next With Application lListCount = CustomListCount For lCount = To lListCount MyList = GetCustomListContents(lCount) strList = CommandBars("Cell").Controls(MyList(1) & " " & _ MyList(UBound(MyList))).Caption CommandBars("Cell").Controls(strList).Delete Set cBut = CommandBars("Cell").Controls.Add(Temporary:=True) With cBut Caption = MyList(1) & " " & MyList(UBound(MyList)) Style = msoButtonCaption OnAction = "AddFirstList" End With Next lCount End With On Error GoTo End Sub Đóng cửa sổ VBE lưu bảng tính lại Sau nhấp phải chuột vào ô bảng tính, bạn thấy Custom List dựng sẵn bạn tạo xuất trình đơn ngữ cảnh Muốn sử dụng, bạn cần nhấn chuột phải vào ô chọn, chọn list menu ngữ cảnh, bạn có giá trị thứ list Sau kéo Fill handle để fill list Chiêu thứ 44: Thay địa liệu tên Mặc dù ô Excel định thứ tự sẵn từ đầu, nhiên, thật dễ dàng chúng nhớ tên, chẳng hạn như, bạn thấy mã số hàng hóa có tính gợi mở A1:A100 phải không? Excel sử dụng kỹ thuật để định danh cho ô lẫn cho dãy, sử dụng Name box (hộp Name) phía bên trái công thức Và để đặt tên cho dãy, bạn chọn dãy bạn muốn, sau đó, bạn đánh tên bạn mong muốn vào Name box nhấn phím Enter Bạn có thấy mũi tên phía bên phải Name box không? Khi bạn nhấn vào đó, có danh sách tên xổ xuống để bạn tìm tên dãy mà bạn sử dụng Cũng vậy, bạn chọn ô dãy định danh Name box, bạn không thấy địa tham chiếu mà thay vào tên dãy Bạn sử dụng tên thay địa công thức Chẳng hạn, bạn đặt tên cho F4 “number4” Vậy, bạn đánh =number4 thay phải đánh =F4 trước Tương tự vậy, giả sử bạn đặt tên cho A1:A10 “soluong” bạn cần tính tổng Bạn dùng công thức =SUM(soluong) thay phải dùng =SUM(A1:A10) Như vậy, bạn thấy kỹ thuật định danh đặc biệt vô hữu ích mà bảng tính bạn ngày “phình to” phức tạp Chiêu thứ 45: Sử dụng tên cho dãy worksheet khác Thỉnh thoảng, thật tiện lợi sử dụng tên cho địa cho nhiều worksheet khác chung workbook Thông thường, bạn sử dụng tên cho dãy xác định worksheet xác định, tất nhiên chung workbook, tên dùng bạn không dùng lại để định danh cho dãy khác worksheet khác Mặc dù vậy, bạn sử dụng số kỹ thuật để “qua mặt” Giả sử bạn có workbook chứa ba worksheet khác mang tên Sheet1, Sheet2 Sheet3 Và bạn muốn sử dụng tên “MyRange” để tham chiếu đến A1:A10 Sheet1, A1:A10 Sheet2 A1:A10 Sheet3 Bạn làm này, sử dụng Name box chiêu số 44, bạn đặt tên Sheet1!MyRange cho dãy A1:A10 Sheet1, tương tự Sheet2!MyRange Sheet2, Sheet3!MyRange Sheet3 Như vậy, bạn xổ danh sách tên Name box ra, tất bạn thấy tên MyRange Và bạn chọn nó, bạn tham chiếu trực tiếp đến A1:A10 worksheet bạn kích hoạt mà không ảnh hưởng đến worksheet khác Bạn kiểm tra cách vào Formulas -> Defined Names -> Name Manager, bạn thấy Tại ô A11, gõ =SUM(GPENumber) Tại ô B11, gõ =SUM(GPENumber) Kết bạn nhận A11 55 B11 10, bạn định danh A$1:A$10, bạn sử dụng tham chiếu tương đối cho cột tham chiếu tuyệt đối cho hàng Bạn nên lưu ý rằng, bạn dùng =SUM(GPENumber) worksheet khác, tham chiếu đến worksheet mà bạn dùng để định danh, chẳng hạn trường hợp worksheet dùng định danh mang tên Sheet1 Đơn giản hóa tổng: Nếu bạn muốn đơn giản hóa tổng, tức bạn dùng tên, tự động cộng 10 ô cột lại với nhau, bạn làm sau: Bạn giả lập lại toàn bước 1, 2, làm phía Tuy nhiên, bước 2, bạn đặt tên “GPESum” bước 3, dòng “Refers To:”, gõ =SUM(A$1:A$10) thay =A$1:A$10 Tại ô A11, gõ =GPESum Tại ô B11, gõ =GPESum Kết bạn nhận trước, vậy, công thức mà bạn phải gõ lược giản nhiều Qua đây, bạn thấy rằng, vài bước kết hợp đơn giản địa tham chiếu tương đối, địa tham chiếu tuyệt đối vài hàm, bạn tiết kiệm nhiều công sức cho Chiêu thứ 46: Sử dụng tên để tạo hàm tự tạo Mặc dù tham chiếu liệu tên tiện lợi, hữu ích với việc dùng tên để lưu trữ giá trị số hay công thức đó, đặc biệt kể bạn dùng để tạo hàm VBA tự tạo Giả sử bạn có tỷ suất thuế 10% bạn cần suốt trình tính toán Thay bạn phải gõ 10% 0.1 vào công thức, bạn dùng tên TaxRate Excel hiểu 0.1, cách: Chọn thẻ Formulas -> chọn Defined Names -> Define Name (với Excel 2003 Insert -> Name -> Define) Ở dòng “Names:”, gõ TaxRate Ở dòng “Refers To:”, gõ =0.1 nhấn Add Một ưu điểm lớn sử dụng cách này, là, chẳng hạn tỷ suất thuế có thay đổi bạn cần vào lại thẻ Formulas -> Defined Names -> Define Name (Excel 2003: Insert -> Name -> Define) chọn tên TaxRate sau chỉnh lại cho phù hợp mà không cần phải cất công rà công thức để thay đổi Bên cạnh việc dùng giá trị số trên, bạn sử dụng công thức dòng Refers To bảng Name Giả sử bạn muốn tạo lập công thức mà bạn gõ vào ô, tự động lấy tổng (SUM) 10 ô phía ô bạn vừa gõ Bạn làm sau: Chọn A11 -> Click chuột phải -> chọn Name a Range (với Excel 2003, Insert -> Name -> Define) Tại dòng “Name:”, gõ TongCong dòng “Refers To:”, gõ =SUM(A1:A10) Sau chọn OK Gõ 10 số 10 ô phía liên tiếp mà số bắt đầu hàng nào, cột Giả sử gõ từ đến 10 vào C2:C11 Sau đó, hàng thứ 11 mà ví dụ trên, gõ ô C12: =TongCong Kết mà bạn thấy, là, tự động cộng liên tục 10 ô phía ô mà bạn gõ =TongCong Nếu bạn muốn tạo tên chứa công thức mà không bị giới hạn 10 ô, lấy toàn tất ô phía ô chứa công thức =TongCong Bạn làm sau: Chọn B11 -> Chọn thẻ Formulas -> Ở Defined Names, chọn Name Manager (với Excel 2003, chọn Insert -> Name -> Define) -> Chọn tên TongCong mà bạn tạo từ ví dụ trước Ở dòng “Refers To:”, bạn thấy ghi =SUM(Sheet1!B1:B10), bạn sửa lại =SUM(B$1:B10) Bây bạn thử lại đi, tạo bảng liệu theo cột đó, ô cột đó, bạn dùng =TongCong, bạn thấy rằng, cộng toàn ô phía ô bạn nhập =TongCong lại ô số 1, có ô Đó bạn đặt tham chiếu tuyệt đối vào hàng Sử dụng tên với Intersect (tạm dịch: phép giao) Bằng việc kết hợp dùng tên với toán tử giao (một đặc trưng Excel mà người biết đến), bạn dễ dàng tạo nên hàm dò tìm phức tạp Nếu bạn chưa rành phương thức Intersect hoạt động sao, thực hành ví dụ nho nhỏ: Tại A1, gõ tiêu đề “Họ Tên”, tương tự với B1 “Lương (đơn vị: triệu đồng)”, C1 “Nghề nghiệp” Bạn đặt hai tên A2 A3, chẳng hạn đặt “Nguyễn Văn A” “Trần Thị B” Hãy cho hai mức lương vào B2 B3, đặt “10” “20” Hai người làm nghề gì? Tôi đặt “Giáo viên” “Bác sĩ” Sau đó, bạn quét chọn A1:C3 -> vào thẻ Formulas -> Defined Names, chọn Create from Selection (với Excel 2003, chọn Insert -> Name -> Create) Hãy bảo đảm lựa chọn “Top row” “Left column” đánh dấu check -> Nhấn OK Kể từ đây, bạn gõ công thức theo cú pháp =Tên Tiêu_đề (lưu ý tên có khoảng trắng dấu “(“, “:” bạn phải thay dấu gạch _), bạn nhận thông tin bạn mong muốn Cũng xin lưu ý khác là, khoảng trắng Tên Tiêu đề quan trọng, thể cho Excel biết rằng, toán tử giao Dựa lý thuyết trên, bạn kết hợp với tên để làm cho công việc đơn giản giúp bạn dễ sử dụng, dễ đọc dễ nhớ Bạn thử làm sau: Đầu tiên, bạn tạo bảng liệu hình bạn dùng cách Create from Selection bước phía trên: Sau đó, bạn làm thao tác sau: Bấm chuột phải vào ô bất kỳ, chọn Name a Range (với Excel 2003, chọn Insert -> Name -> Define) Gõ tên vào “Name:”, gõ DuyAnhJob Tại “Refers To:”, gõ =Thái_Duy_Anh Nghề_nghiệp chọn OK Từ đây, bạn cần dùng =DuyAnhJob bạn có thông tin nghề nghiệp Thái Duy Anh Bạn linh hoạt biến hóa để phục vụ nhu cầu bạn, chắn, giúp cho công việc bạn dễ dàng Chiêu thứ 47: Tạo dãy mở rộng thu hẹp Nếu bạn có nhu cầu cần phải cập nhật thêm liệu, bạn làm việc với biểu đồ PivotTables, bạn muốn tạo tên cho dãy động, mà thân mở rộng thu hẹp cho phù hợp với liệu bạn Để hiểu cách hoạt động tên dãy động, điều bạn cần phải làm quen hàm OFFSET Excel Chúng ta bắt đầu với tên dãy động đơn giản Giả sử cột A bạn có 10 dòng liên tiếp chứa liệu, tức bạn phải có tên dãy A1:A10 Hãy làm theo bước sau để có nó: Vào thẻ Formulas, Defined Names, chọn Define Name (Excel 2003: Insert -> Name -> Define) đánh MyRange vào dòng “Names:” Tại dòng “Refers To:”, bạn gõ =OFFSET($A$1,0,0,COUNTA($A$1:$A$100),1) sau OK Bạn cần lưu ý rằng, bạn sử dụng hàm COUNTA, bạn phải cưỡng lại cám dỗ thực hết toàn cột, làm vậy, bạn vô tình bắt hàm COUNTA phải đếm hàng ngàn dòng cách vô ích Sau bạn làm xong công việc trên, bạn cho vài liệu vào cột A MyRange thực công việc hợp tất dòng có liệu liên tục lại với nhau, A1 Tuy vậy, tên dãy động không hộp Name (Name box) Nhưng, bạn biết kết MyRange cách gõ thẳng tên MyRange vào hộp Name nhấn Enter, xuất vùng chọn báo hiệu cho bạn biết Tất nhiên, bạn vào thẻ Home, Editting, chọn Find & Select chọn Go To…(Ctrl + G) Sau đó, bạn gõ MyRange vào dòng “Reference:” OK Bạn thấy rằng, tên dãy động bạn ví dụ ẩn phía sau hàm COUNTA tham số Height hàm OFFSET Lưu ý rằng: hàm COUNTA đếm tất ô không rỗng, bao gồm ô có chứa công thức trả giá trị rỗng Nếu bạn có danh sách bao gồm liệu kiểu số, cuối danh sách lại có lưu liệu kiểu chuỗi Tất nhiên, bạn không muốn tên dãy động bạn có chứa kiểu liệu chuỗi Hãy dùng hàm COUNT thay hàm COUNTA hàm COUNT đếm liệu kiểu số mà Trong ví dụ đây, bạn dùng tên dãy động để định nghĩa bảng liệu mà bạn muốn động Để làm điều đó, điền công thức sau vào dòng “Refers To:”: =OFFSET($A$1,0,0,COUNTA($A$1:$A$100),COUNTA($1:$1) ) Với công thức này, tên dãy động bạn mở rộng không theo chiều dọc mà theo chiều ngang Nếu bạn chắn số cột bạn cố định, bạn thay hàm COUNTA thứ hai công thức số Một vấn đề rắc rối sử dụng tên dãy động cho bảng liệu cột dài bảng lại cột A bảng liệu phổ biến khác, bạn làm gì? Để khắc phục lỗi đó, hàm MAX lựa chọn tốt Bạn tạo bảng liệu hình đây: Nếu bạn dùng COUNTA, bạn nhận kết cột A điều dẫn đến kết sai Do đó, bạn cần dùng hàm MAX sau: =OFFSET($A$1,0,0,MAX($1:$1),COUNTA($1:$1)) Tiếp tục đến với ví dụ khác, danh sách số bạn lại có ô rỗng điều khiến cho bạn sử dụng hàm COUNT COUNTA, sử dụng, kết hoàn toàn sai so với số dòng thực chứa liệu Để rõ hơn, bạn tạo bảng liệu khác hình Bạn thấy đấy, bạn có tất 10 dòng chứa liệu số thứ tự có 6, đó, tất nhiên, hàm COUNT trả kết Để khắc phục vấn đề này, bạn sử dụng hàm MATCH Hàm MATCH trả cho bạn vị trí tương đối giá trị có mảng mà khớp với điều kiện có hàm Với ví dụ này, bạn sử dụng hàm này: =MATCH(6,$A$1:$A$100,0), kết bạn nhận 11 giá trị nằm dòng 11 cột A Một điều dễ nhận thấy rằng, bạn sử dụng hàm MATCH phần tên dãy động, số cuối dãy chắn không dễ nhận biết Bởi vậy, bạn cần yêu cầu hàm MATCH trả giá trị gần số lớn cách chỉnh tham số cuối hàm Như ví dụ trên, bạn yêu cầu tìm xác giá trị 6, bạn giá trị lớn bao nhiêu, bạn làm này: =MATCH(1E+306,$A$1:$A$100,1) Vậy, tổng kết lại phía trên, bạn có công thức đầy đủ để điền vào dòng “Refers To:” =OFFSET($A$1,0,0,MATCH(1E+306,$A$1:$A$100,1),1) Một kiểu biến thể khác, không liệu kiểu số bao gồm kiểu chuỗi nữa, tất nhiên có ô rỗng xen Như vậy, hàm MATCH thiết kế lại sau: MATCH("*",$A$1:$A$100,-1) Giờ bạn dùng công thức để vượt qua ô rỗng lấy toàn liệu bao gồm kiểu số lẫn kiểu chuỗi bảng liệu bạn: =MAX(MATCH("*",$A$2:$A$100,-1),MATCH(1E+306,$A$2:$A$100,1)) Áp dụng vào bảng liệu, bạn dùng công thức sau vào tên dãy động: =OFFSET($A$2,0,0, MAX(MATCH("*",$A$2:$A$100,-1),MATCH(1E+306,$A$2:$A$100,1)),1) Để tổng kết lại tất điều trên, giả sử có bảng liệu cột A, bạn tạo tên dãy động theo công thức sau: - Nếu toàn bảng liệu kiểu số: =OFFSET($A$1,0,0,COUNT($A:$A),1) - Nếu toàn bảng liệu kiểu số kiểu chuỗi hai: =OFFSET($A$1,0,0,COUNTA($A: $A),1) - Nếu bảng có ô rỗng dòng cuối bảng liệu kiểu số: =OFFSET($A$1,0,0,MATCH(1E+306,$A:$A)) - Nếu bảng có ô rỗng dòng cuối bảng liệu kiểu chuỗi: =OFFSET($A$1,0,0,MATCH("*", $A:$A,-1)) Ngoài ra, bạn vận dụng công thức cho số trường hợp khác như: - Mở rộng bảng theo chiều dọc với độ dài giá trị từ ô khác (chẳng hạn B1): =OFFSET($A$1,0,0,$B$1,1) - Mở rộng bảng theo chiều dọc với độ dài tháng tại: =OFFSET($A$1,0,0,MONTH(TODAY( )),1) - Mở rộng bảng theo chiều dọc với độ dài thứ tự tuần năm: =OFFSET($A$1,0,0,WEEKNUM(TODAY( )),1) Tất nhiên, đòi hỏi bạn phải cài đặt Analysis ToolPak Bạn chọn cách chọn nút Office -> Excel Options -> Add-ins (Excel 2003: Tools -> Add-Ins) Một bổ sung nho nhỏ chiêu 47 (của Lê Duy Thương), để có dãy động có khả mở rộng hay thu hẹp tùy ý, bạn sử dụng công cụ có sẵn Excel, Table Bằng cách vào thẻ Insert -> Table, bạn chọn dãy nguồn từ đó, lần bạn thêm liệu vào hàng hàng cuối bảng, bảng "phình to" thêm chí, bạn áp dụng với Data Validation (dùng List trỏ vào bảng nguồn, giả sử A2:A10) bảng phình to ra, Data Validation bạn cho nguồn A2:A11 tương ứng Chiêu thứ 48: Sử dụng dãy động cách linh hoạt Một tên dãy động trú ngụ tên dãy động khác, điều vô hữu ích cho bạn nhiều vấn đề, chẳng hạn bạn có danh sách dài tên Chúng ta thử ví dụ việc lập tên để gọi nó, tham chiếu đến tên xếp thứ tự mà bắt đầu chữ D Trước tiên, tạo bảng liệu hình cột A bạn nên nhớ tên xếp theo thứ tự bảng chữ Sau đó, bạn làm tiếp bước sau: Chọn thẻ Formulas -> Defined Names, chọn Define Name (với Excel 2003, chọn Insert -> Name -> Define) Bạn tạo tên với tên gọi Ten sử dụng công thức: =OFFSET($A$2,0,0,COUNTA($A$2:$A$1000),1) sau nhấn OK Sau đó, tiếp tục tạo tên khác với tên gọi DTen sử dụng công thức: =OFFSET(INDIRECT(ADDRESS(MATCH("D*",Ten,0)+1,1)),0 ,0,COUNTIF(Ten,"D*"), 1) với D chữ đầu tên mà bạn muốn chọn sau nhấn OK Sau làm xong, kết bạn nhận này: Nếu bạn muốn, bạn tạo tên tương ứng với chữ bảng chữ cái, chẳng hạn ATen, ĂTen, ÂTen, Tuy vậy, cách làm thật thời gian Thay vậy, bạn áp dụng cách khác tạo bảng lựa chọn ký tự ô bảng tính tên dãy động dựa vào ô Bạn làm sau: Chọn ô mà bạn không sử dụng tới, đặt tên cho ô KyTu Chọn thẻ Data -> Data Tools, chọn Data Validation (với Excel 2003, chọn Data -> Validation) Trong danh sách dòng “Allow:”, chọn List bạn gõ tất bảng chữ vào dòng “Source:” A*,Ă*,Â*,B*,… sau nhấn OK Chọn thẻ Formulas -> Defined Names -> Define Name (với Excel 2003, chọn Insert -> Name -> Define) Đặt tên Ten gõ công thức vào dòng “Refers To:” =OFFSET($A$2,0,0,COUNTA($A$2:$A$1000),1) sau nhấn OK Tiếp tục tạo tên khác với tên gọi KyTuDau với công thức sử dụng là: =OFFSET(INDIRECT(ADDRESS(MATCH(KyTu,Ten,0)+1,1)),0 ,0,COUNTIF(Ten, KyTu),1) OK Bây giờ, bạn tận hưởng thành việc lựa chọn ký tự xem thử tên bạn hoạt động Chiêu thứ 49: Nhận biết tên dãy worksheet Excel cho phép người dùng đặt tên có nghĩa cho dãy xác định worksheet Tuy vậy, với số lượng ngày lớn tên, bạn cần đến công cụ để nhận biết dãy đặt tên Có nhiều cách để nhận biết, chiêu đề cập đến hai cách dễ nhận biết (ngoài hai cách đây, bạn sử dụng hộp Name hay dùng hộp thoại Go To , dùng Name Manager, ) Cách Chọn thẻ Formulas -> Defined Names, chọn Use in Formula -> Paste Names (với Excel 2003, chọn Insert -> Name -> Paste) nhấn F3 Tại hộp thoại Paste Name, nhấn Paste List Excel liệt kê toàn tên địa tham chiếu cho bạn Mặc dù cách tỏ hữu dụng đòi hỏi bạn lựa chọn tên cụ thể Bên cạnh đó, bạn sử dụng cách có loạt tên (chẳng hạn bắt đầu cho liệt kê tên ô A1) Bạn thay địa tương đối ô B1 trở sau hàm HYPERLINK đơn giản để trực tiếp liên kết với tên cách dùng công thức cho B1: =HYPERLINK("[Book1.xls]"&A1,A1) Tất nhiên, bạn phải lưu file với tên Book1.xls liên kết bạn hoạt động Sau đó, kéo xuống tương ứng với B2, B3,… Cách Một cách khác hay người biết đến, bạn sử dụng chức Zoom Excel Hãy thu nhỏ lại vào cỡ [...]... là thứ tự tuần hiện tại trong năm: =OFFSET($A$1,0,0,WEEKNUM(TODAY( )),1) Tất nhiên, nó đòi hỏi bạn phải cài đặt Analysis ToolPak Bạn có thể chọn nó bằng cách chọn nút Office -> Excel Options -> Add-ins (Excel 2003: Tools -> Add-Ins) Một bổ sung nho nhỏ về chiêu 47 (của Lê Duy Thương), đó là để có được một dãy động có khả năng mở rộng hay thu hẹp tùy ý, bạn cũng có thể sử dụng công cụ có sẵn của Excel, ... điểm lớn nhất khi sử dụng cách này, đó là, chẳng hạn như tỷ suất thuế có thay đổi thì bạn chỉ cần vào lại thẻ Formulas -> Defined Names -> Define Name (Excel 2003: Insert -> Name -> Define) rồi chọn tên TaxRate và sau đó chỉnh lại cho phù hợp mà không cần phải cất công rà từng công thức một để thay đổi Bên cạnh việc dùng giá trị hằng số như trên, bạn cũng có thể sử dụng công thức ở dòng Refers To trong... hay một công thức nào đó, đặc biệt kể cả nếu bạn dùng để tạo một hàm VBA tự tạo nào đó Giả sử bạn có tỷ suất thuế là 10% và bạn cần nó trong suốt quá trình tính toán của mình Thay vì bạn cứ phải gõ 10% hoặc 0.1 vào từng công thức, bạn có thể dùng tên TaxRate và Excel sẽ hiểu nó là 0.1, bằng cách: 1 Chọn thẻ Formulas -> chọn Defined Names -> Define Name (với Excel 2003 thì là Insert -> Name -> Define)... dùng Name Manager, ) Cách 1 Chọn thẻ Formulas -> ở Defined Names, chọn Use in Formula -> Paste Names (với Excel 2003, chọn Insert -> Name -> Paste) hoặc nhấn F3 Tại hộp thoại Paste Name, nhấn Paste List và Excel sẽ liệt kê toàn bộ tên cùng địa chỉ tham chiếu cho bạn Mặc dù cách này tỏ ra khá hữu dụng nhưng nó đòi hỏi bạn lựa chọn một cái tên cụ thể Bên cạnh đó, khi bạn sử dụng cách này và có được một... hoạt động thế nào nhé Chiêu thứ 49: Nhận biết tên của dãy trong worksheet Excel cho phép người dùng đặt một cái tên có nghĩa cho một dãy xác định trong worksheet Tuy vậy, với số lượng ngày càng lớn những cái tên, bạn sẽ cần đến công cụ để nhận biết các dãy đã được đặt tên Có rất nhiều cách để nhận biết, nhưng trong chiêu này sẽ chỉ đề cập đến hai cách dễ nhận biết nhất (ngoài hai cách dưới đây, bạn cũng... viên” và “Bác sĩ” 5 Sau đó, bạn hãy quét chọn A1:C3 -> vào thẻ Formulas -> ở Defined Names, chọn Create from Selection (với Excel 2003, chọn Insert -> Name -> Create) Hãy bảo đảm rằng lựa chọn “Top row” và “Left column” đã được đánh dấu check -> Nhấn OK Kể từ đây, khi bạn gõ công thức theo cú pháp =Tên Tiêu_đề (lưu ý là nếu tên có khoảng trắng hoặc các dấu như “(“, “:” thì bạn phải thay là dấu gạch... =OFFSET($A$1,0,0,MATCH(1E+306,$A:$A)) - Nếu bảng có ô rỗng và dòng cuối cùng của bảng là một dữ liệu kiểu chuỗi: =OFFSET($A$1,0,0,MATCH("*", $A:$A ,-1 )) Ngoài ra, bạn cũng có thể vận dụng công thức cho một số trường hợp khác như: - Mở rộng bảng theo chiều dọc với độ dài là giá trị từ một ô khác (chẳng hạn như B1): =OFFSET($A$1,0,0,$B$1,1) - Mở rộng bảng theo chiều dọc với độ dài là tháng hiện tại: =OFFSET($A$1,0,0,MONTH(TODAY( )),1) -. .. hàng thứ 11 mà ở ví dụ trên, tôi gõ tại ô C12: =TongCong Kết quả mà bạn thấy, đó chính là, nó sẽ tự động cộng liên tục 10 ô phía trên ô mà bạn gõ =TongCong Nếu bạn muốn tạo một tên chứa công thức mà nó không bị giới hạn bởi 10 ô, nhưng nó sẽ lấy toàn bộ tất cả các ô phía trên ô chứa công thức =TongCong Bạn làm như sau: 1 Chọn B11 -> Chọn thẻ Formulas -> Ở Defined Names, chọn Name Manager (với Excel. .. cái tên đã được xếp thứ tự mà bắt đầu bằng chữ D Trước tiên, hãy tạo một bảng dữ liệu như hình dưới đây tại cột A và bạn nên nhớ rằng tên đã được xếp theo thứ tự bảng chữ cái Sau đó, bạn hãy làm tiếp những bước sau: 1 Chọn thẻ Formulas -> ở Defined Names, chọn Define Name (với Excel 2003, chọn Insert -> Name -> Define) 2 Bạn hãy tạo một cái tên với tên gọi là Ten và sử dụng công thức: =OFFSET($A$2,0,0,COUNTA($A$2:$A$1000),1)... “Source:” như A*,Ă*,Â*,B*,… và sau đó nhấn OK 4 Chọn thẻ Formulas -> ở Defined Names -> Define Name (với Excel 2003, chọn Insert -> Name -> Define) 5 Đặt một cái tên như Ten và gõ công thức vào dòng “Refers To:” là =OFFSET($A$2,0,0,COUNTA($A$2:$A$1000),1) và sau đó nhấn OK 6 Tiếp tục tạo một cái tên khác với tên gọi là KyTuDau với công thức sử dụng là: =OFFSET(INDIRECT(ADDRESS(MATCH(KyTu,Ten,0)+1,1)),0 ... dụng với tên dãy động Chiêu thứ 50: PivotTable Bản thân chiêu thứ 50 giới thiệu PivotTable nên kyo thiết nghĩ, diễn đàn GPE có hẳn tài liệu chi tiết vấn đề tác giả ptm 0412 biên soạn, thật không... ô chọn, chọn list menu ngữ cảnh, bạn có giá trị thứ list Sau kéo Fill handle để fill list Chiêu thứ 44: Thay địa liệu tên Mặc dù ô Excel định thứ tự sẵn từ đầu, nhiên, thật dễ dàng chúng nhớ... không cần phải cất công rà công thức để thay đổi Bên cạnh việc dùng giá trị số trên, bạn sử dụng công thức dòng Refers To bảng Name Giả sử bạn muốn tạo lập công thức mà bạn gõ vào ô, tự động lấy