Tổng hợp hỏi đáp về excel (theo pcworld)

Liên hệ QC
Hỏi: Trong MS Excel, làm sao để vẽ 1 đường thẳng trong header & footer như Microsoft Word? Tôi dùng SHIFT+/- để vẽ, trên màn hình thấy liên tục nhưng khi in ra lại bị ngắt khúc.



Đáp:

Excel không đủ mạnh như Word trong tác vụ chỉnh dạng hình thức. Để vẽ đường thẳng ngang trong header hay footer của trang Excel, bạn có thể dùng 1 trong các phương pháp sau:

1. Dùng 1 font chữ chứa 1 ký tự đặc biệt, ký tự này là lằn gạch ngang từ biên trái sang biên phải của ký tự, rồi soạn header hay footer bằng 1 chuỗi những ký tự gạch ngang này. Ý tưởng của phương pháp này rất giống cách mà bạn thực hiện nhưng đảm đảo footer hay header sẽ được in đúng (lằn gạch ngang liền nét tạo từ các ký tự gạch ngang liên tiếp nhau). Tuy nhiên ít có font chữ thông dụng nào có ký tự gạch ngang thỏa mãn yêu cầu của bạn, bạn cần dùng trình soạn font (như FontoGrapher) để tự vẽ ký tự này theo ý mình rồi dùng nó cho mục đích riêng.

2. Dùng chế độ chỉnh dạng gạch dưới cho header hay footer. Bạn chỉ cần nhập chuỗi ký tự trống (space) đủ lớn, sau đó thiết lập chế độ gạch dưới cho chuỗi ký tự trống này thì sẽ có ngay 1 lằn gạch ngang liền nét. Độ dài của lằn gạch ngang phụ thuộc vào số lượng ký tự trống và co chữ được dùng.

3. Nếu thấy 2 cách trên phiền hà quá, bạn có thể dùng Word để trang trí khung trang cần in gồm header và footer với nội dung và hình thức mong muốn rồi dán nội dung cần in trong trang từ Excel sang.
 
Hỏi: Bảng tính Excel có 2 cột: 1cột English, 1 cột Vietnamese. Làm sao để khi sắp xếp cột English theo thứ tự từ A đến Z thì cột Vietnamese cũng được sắp tự động theo A đến Z? Mỗi cột có comment, làm sao để cột này tự động lấy giá trị là comment của cột kia?



Đáp:

Máy tính cũng như các phần mềm máy tính (trong trường hợp của bạn là Excel) là những phần tử thừa hành, chúng không tự động thực hiện việc gì cả, muốn chúng làm giúp công việc gì, người dùng bắt buộc phải ra lệnh cho chúng một cách cụ thể và chi tiết.

Với ý tưởng như trên, Excel không thể sắp xếp tự động dùm bạn cột dữ liệu tiếng Việt khi bạn chỉ ra lệnh cho nó sắp xếp cột dữ liệu chứa tiếng Anh. Nếu việc sắp xếp xãy ra nhiều lần, bạn có thể ghi lại qui trình thao tác mà bạn thực hiện để sắp xếp 1 cột dữ liệu thành 1 macro, sau đó hiệu chỉnh lại macro đó để nó thực hiện nhiều lần trên những cột dữ liệu khác, nhờ đó khi cần sắp xếp lại các cột dữ liệu, bạn chỉ cần ra lệnh chạy macro tương ứng. Để hiệu chỉnh được macro, bạn cần biết ngôn ngữ VBA (Visual Basic for Application), ngôn ngữ được dùng để viết macro trong các ứng dụng Microsoft Office.

Tương tự muốn các cell của 1 cột nào đó nhận chuỗi chú thích (comment) của cell tương ứng ở cột khác, bạn buộc phải ra lệnh tường minh cho Excel thực hiện. Nếu thấy thao tác thủ công thực hiện công việc này là phiền hà, bạn có thể tự động hóa bằng cách viết 1 hàm VBA như sau: (từ Excel, chọn menu Tools.Macro.Visual Basic Editor)

Function Comment(src As Range)

' hàm đọc chuỗi chú thích của cell src

Comment = src.Comment.Text

End Function

Sau khi đã viết hàm này thì từ trong WorkSheet, nếu bạn muốn cell nào đó (td. cell B1) nhận chuỗi chú thích của cell nào đó (td. cell A1), bạn chỉ cần nhập công thức sau vào cell B1:

=Comment(A1)

Nếu muốn từng cell của cột B chứa chuỗi chú thích của cell tương ứng của cột A, bạn chỉ cần copy nội dung của cell B1 rồi 'paste' nó vào các cell còn lại trong cột B, Excel sẽ tự động hiệu chỉnh tham số của hàm Comment trong công thức thành A2, A3, ... vì tham số đó ở dạng tham khảo tương đối.
 
Hỏi: Xin chỉ cách để chuyển từ file Word sang file Excel với qui định phân tách cột nếu cách 2 khoảng trắng trở lên. Ví dụ: "Nguyễn Văn A 8644859 8 đường Lữ Gia, P15, Q11, TP.HCM" được chuyển thành 3 cột sau: Nguyễn Văn A 8644859 8 đường Lữ Gia, P15 Q11 TP.HCM



Đáp:

Excel có thể đọc được nhiều dạng file khác nhau, trong đó có dạng file text-only (văn bản thô). Khi bạn chọn menu File.Open để mở 1 file text-only thì Excel sẽ hiển thị tuần tự 3 cửa sổ yêu cầu bạn khai báo kiểu dữ liệu (bạn chọn checkbox 'Delimited'), dấu ngăn cách các field dữ liệu (bạn có thể chọn dấu tab, dấu phẩy, dấu chấm phẩy, khoảng trống hay nhập vào ký tự dấu ngăn nào bạn muốn). Nếu bạn khai báo dấu ngăn phù hợp với ký tự mà bạn dùng để ngăn cách các field dữ liệu trong file văn bản của mình thì Excel sẽ đọc và chứa vào các cột đúng theo ý muốn.

Tóm lại nếu bạn muốn chuyển dữ liệu từ Word sang Excel và muốn giữ đúng các cột dữ liệu, bạn hãy ngăn các cột dữ liệu bằng 1 ký tự đặc biệt nào đó sao cho không tranh chấp và nhầm lẫn với dữ liệu (ký tự tab là phù hợp nhất trong đại đa số trường hợp). Nếu đã lỡ dùng 2 khoảng trắng để ngăn cách các cột dữ liệu, bạn có thể thay thế chúng bằng ký tự dấu ngăn phù hợp hơn (bằng cách chọn menu Edit.Replace, nhập 2 khoảng trắng vào mục 'Find what' và ký tự dấu ngăn vào mục 'Replace with' rồi ấn button 'Replace All'). Lưu ý rằng nếu chọn dấu ngăn là ký tự điều khiển (thí dụ ký tự tab), bạn không nhập trực tiếp được ký tự điều khiển này mà phải chọn button More.Special.Tab Character. Sau khi đã chuẩn bị đúng format cần thiết cho Excel, bạn dùng chức năng File.Save As để lưu kết quả lên file (chọn kiểu file lưu là 'Plain text (*.txt)'. Sau đó chạy Excel, dùng menu File.Open để đọc file, lúc này Excel sẽ hiển thị tuần tự 3 cửa sổ yêu cầu bạn khai báo tính chất của file để nó xử lý đúng.

Trong trường hợp bạn muốn copy dữ liệu dạng nhiều cột từ Word rồi dán trực tiếp vào bảng tính Excel, bạn phải dùng dấu ngăn là tab vì Excel coi tab là dấu ngăn cách mặc định.
 
Hỏi: Hỏi: Xin hỏi làm cách nào để khai báo tiêu đề tùy ý cho add-ins *.xla trong Excel (bình thường trong hộp thoại add-ins hiển thị tiêu đề mặc định của file *.xla) và không cho phép người khác chỉnh sửa add-ins này?



Đáp:

Hiện có 2 công nghệ khác nhau để tạo 'add-ins' cho Excel (hay Word, PowerPoint...):
1. Công nghệ add-ins cũ dựa trên macro dùng ngôn ngữ kịch bản VBA (Visual Basic for Application). Với công nghệ này, 'add-ins' được lưu ở dạng source code (thường dưới dạng file *.xla), nó chỉ có thể chạy trên ứng dụng cụ thể (add-ins của Excel chỉ chạy với Excel, add-ins của Word chỉ chạy với Word...).
2. Công nghệ COM add-ins, đây là công nghệ mới, bạn có thể dùng bất kỳ ngôn ngữ lập trình nào hỗ trợ COM cũng được. Với công nghệ này, 'add-ins' được lưu ở dạng mã máy theo cấu trúc file *.dll, nó có thể chạy trên nhiều ứng dụng khác nhau.
Nếu bạn tạo file add-ins *.xla theo đúng qui trình và đã thiết lập thông số 'title' cho nó thì khi 'add' nó vào workbook Excel nào đó, bạn sẽ thấy nội dung title của add-ins chứ không phải tên file. Hãy kiểm tra lại qui trình xây dựng file *.xla của bạn với qui trình điển hình như sau:

o Chạy Excel, tạo 1 Workbook mới, viết code các hàm add-ins theo yêu cầu, tạo thêm toolbar hay menu bar cá nhân nếu muốn.
o Chọn menu File.Properties để hiển thị cửa sổ thuộc tính, chọn tab Summary, nhập chuỗi nhận dạng file add-ins, tức tên gợi nhớ của add-ins được hiển thị trong hộp thoại add-ins của người dùng.
o Dịch project add-ins và debug nó bằng cách chọn menu Debug.Compile... trong cửa sổ soạn code 'Visual Basic Editor'.
o Nếu cần bảo vệ project add-ins không cho người khác xem và chỉnh sửa code, hãy chọn menu Tools.VBAProject Properties trong cửa sổ code 'Visual Basic Editor', chọn tab Protection, đánh dấu chọn vào checkbox 'Lock project for Viewing', nhập password vào rồi ấn button OK. Lưu ý phải cẩn thận nhớ password để có thể hiệu chỉnh add-ins sau này (nên ghi vào sổ tay vì trí nhớ của con người thường rất ngắn hạn).
o Dùng menu File.Save As để lưu add-ins lên file *.xla.
Tương tự, nếu bạn xây dựng COM add-ins bằng tiện ích AddInDesigner theo đúng qui trình và đã thiết lập thông số 'AddIn Display Name' trong cửa sổ AddInDesigner thì khi người dùng sử dụng add-ins này, tên gợi nhớ của nó sẽ được hiển thị trong hộp thoại add-ins.
Trong trường hợp đã xây dựng add-ins rồi và chỉ muốn hiệu chỉnh lại tên hiển thị của add-ins, bạn có thể dùng Windows Explorer, duyệt tìm file add-ins, hiển thị cửa sổ Properties của file, chọn tab Summary, nhập tên gợi nhớ vào textbox 'Title'.
 
Hỏi: Hỏi: 1. Tôi gặp khó khăn trong việc đưa các file *.xla tự tạo vào ứng dụng thực tế: Tôi copy các tập tin *.xla vào thư mục ...\applications data\microsoft\add-ins, và thực hiện add vào trong Excel, nhưng khi dùng bảng tính có sử dụng công thức trong file .xla trên máy khác (trong cùng mạng) thì máy báo không nhận được file .xla, và lại phải thực hiện việc add. 2. Để tạo phần trợ giúp (help) cho file .xla thì dùng file dạng *.chm hay *.hlp? Dùng chương trình gì để tạo các file đó?



Đáp:

Đáp: 1. Những file add-ins là những file của người dùng định nghĩa và thêm vào môi trường Excel để dùng cho mục đích cá nhân, chúng không phải là những file chuẩn và tích hợp sẵn vào Excel để mọi người đều dùng được, do đó để Excel trên máy nào đó dùng được các thành phần trong file add-ins thì người dùng trên máy đó phải thực hiện thao tác "add" file add-ins vào Excel trước khi có thể dùng nó. Tuy nhiên nếu thấy việc thực hiện thủ công thao tác "add" các file add-ins vào Excel của 1 máy nào đó là phiền hà, tốn thời gian và có thể bị sai sót, bạn có thể viết 1 macro để thực hiện tự động thao tác này rồi dùng nó khi cần thiết. Bạn có thể tạo 1 file *.xls có đặc điểm là khi người dùng "open" nó thì macro sẽ chạy tự động bằng cách khai báo thủ tục xử lý sự kiện mở workbook của file *.xls như sau:

Private Sub Workbook_Open()

' gọi macro 'add' các file adds-ins vào Excel

Call MyMacro_Setup_Addins

End Sub

' macro 'add' các file add-ins vào Excel

Sub MyMacro_Setup_Addins

' các lệnh thưc hiện 'add' các file add-ins vào Excel

' có thể tạo ra các lệnh này bằng chức năng "Tools.Macro.Record New Macro"

...

End Sub

2. Hiện có 2 công nghệ xây dựng file trợ giúp (Help) do Microsoft hỗ trợ: Windows Help (file dạng *.hlp) và HTML Help (file dạng *.chm), trong đó HTML Help là công nghệ mà Microsoft đề nghị dùng vì nó mạnh, uyển chuyển hơn công nghệ cũ. File Help theo công nghệ HTML Help tương đương với 1 Website: nó là 1 tập gồm nhiều tài nguyên Web cấu thành. Để xây dựng file Help theo công nghệ này, bạn có thể dùng tiện ích "HTML Help Workshop", có thể tìm tiện ích này từ bộ Visual Studio .Net hay download trực tiếp từ website của Microsoft (http://www.msn.com). Việc sử dụng tiện ích khá dễ dàng, gồm các bước chính: tạo bảng mục lục theo dạng cây thứ bậc, viết từng trang Web miêu tả nội dung từng mục, liên kết từng mục trong bảng mục lục với trang web tương ứng, dịch ra file *.chm kết quả để sử dụng.
 
Hỏi: Hỏi: Làm thế nào để tạo được bảng tính Excel giống file "samples.xls" nằm ở thư mục "..\office\Examples\samples.xls"? 1. Từ ở sheet Contents sẽ tự động chuyển đến các sheet khác khi click chuột vào tên có trên đó? 2. Làm mất các số của row và chữ của column?



Đáp:

Đáp: 1. Trong Excel, mỗi cell ngoài việc có thể chứa dữ liệu nhập hay công thức, còn có thể chứa thêm 1 mối liên kết siêu văn bản (hyperlink) để giúp người dùng liên kết đến 1 cell khác trong worksheet nào đó của cùng workbook hay đến 1 file bất kỳ. Để tạo 1 hyperlink đến cell khác của cùng workbook, bạn chọn cell chứa hyperlink, chọn menu Insert.Hyperlink. Khi cửa sổ "Insert Hyperlink" hiển thị, bạn chọn mục "Place in this document" và khai báo địa chỉ của cell và tên worksheet mà bạn cần liên kết đến. Sau khi đã có hyperlink, bạn có thể nhấn kép chuột vào nó, Excel sẽ tự động chuyển đến vị trí liên kết của hyperlink. Thí dụ trong file samples.xls, cell B5 trong worksheet "Table of Contents" chứa 1 hyperlink với tiêu đề "Worksheet Functions", hyperlink này liên kết đến cell đầu tiên (cell A1) của worksheet "Worksheet Functions", nhờ vậy khi bạn nhấn chuột vào cell B5 thì worksheet "Worksheet Functions" sẽ được hiển thị để bạn thấy cell A1 của nó.

2. Để giấu các hàng và cột tiêu đề (hiển thị địa chỉ của hàng và cột) của 1 worksheet nào đó, bạn chỉ cần chọn menu Tools.Options.View rồi bỏ checkbox "Row & Column Headers" trong nhóm "Windows options".
 
Hỏi: Có 5 học sinh A, B, C, D, E với số điểm tuần tự là 9, 8, 8, 7, 6. Nếu dùng hàm Rank xếp hạng thì có kết quả như sau: A hạng 1, B hạng 2, C hạng 2, D hạng 4 và E hạng 5 (không có hạng 3 vì 2 học sinh đồng hạng nhì). Để có kết quả: A hạng 1, B hạng 2, C hạng 2, D hạng 3 và E hạng 4 thì phải làm sao?



Đáp:

Đáp: Bạn đã biết cách dùng cũng như chức năng cụ thể của hàm Rank(), tuy nhiên hàm này sắp hạng theo qui ước là nếu có nhiều phần tử cùng hạng i, thì hạng kế tiếp không phải là i+1 mà là i+n (n là số phần tử cùng hạng i). Nếu muốn kết quả sắp hạng theo cách khác (như bạn trình bày là các hạng phải liên tục nhau bất chấp có nhiều thành phần có cùng thứ hạng), bạn có thể viết 1 hàm VBA chuyên dụng cho mình (thí dụ tên là MyRank) với danh sách đối số giống như hàm Rank() có sẵn nhưng dùng giải thuật sắp hạng theo ý bạn. Tùy việc lưu trữ hàm MyRank() vào vị trí nào (file Excel hiện hành, All templates & document...), bạn có thể dùng nó chỉ trong file Excel hiện hành hay tất cả các file Excel trên máy bạn.
 
Hỏi: Hỏi: Trong một hoặc nhiều cột Excel, làm cách nào để tìm ra nhanh nhất các số trùng nhau?



Đáp: Đáp: Yêu cầu của bạn khá đặc biệt, Excel chưa cung cấp lệnh nào để thực hiện trực tiếp yêu cầu này. Tuy nhiên nếu bạn biết lập trình bằng ngôn ngữ VBA và biết cấu trúc dữ liệu hướng đối tượng của Worksheet Excel thì bạn có thể viết 1 macro (1 thủ tục VBA) thực hiện yêu cầu của mình. Bạn có thể dùng giải thuật tuần tự để tìm kiếm các cell có cùng 1 nội dung nào đó.
 
Hỏi: Hỏi: Tôi sử dụng hàm chuyển từ số sang chữ trong Excel theo hướng dẫn của PC World VN số 7/1999. Tuy nhiên hàm này chỉ dịch được các số không vượt quá 2.147.483.647, với các số lớn hơn, hàm trả về thông báo "#Value !".



Đáp:

Đáp: Đúng như bạn trình bày, hàm Writing (được viết bằng VBA) được đăng ở trang 90 số tháng 7/1999 PC World VN, mặc dù được viết theo giải thuật tổng quát nhưng chỉ có thể đổi các số không vượt quá giá trị 2.147.483.647. Lý do là hàm VBA này sử dụng 2 toán tử Mod và '\', đặc tính của 2 toán tử này là cố gắng đổi 2 toán hạng của mình về kiểu Long rồi mới lấy phần dư hay chia nguyên, do đó nếu 1 trong 2 toán hạng lớn hơn giá trị lớn nhất của số Long (2.147.483.647) thì nó không thể tính toán được.

Để khắc phục nhược điểm trên, bạn cần phải tìm 2 dòng lệnh sau trong hàm gốc:

temp = num Mod 1000

num = num \ 1000

rồi hiệu chỉnh chúng thành 2 lệnh tương đương sau (không dùng toán tử Mod và '\'):

temp = num - Fix(num / 1000) * 1000 ₡ num Mod 1000

num = Fix(num / 1000) ₡ num \ 1000
 
Hỏi: Hỏi: Excel có chức năng nào tương tự như Section của Word để chia văn bản ra thành những phần có thể định dạng riêng, ví dụ như header riêng không?



Đáp:

Đáp: Vì Excel là ứng dụng chuyên về xử lý bảng tính nên không đủ mạnh trong vấn đề dàn trang như Word. Thí dụ, Excel không cung cấp khả năng chia 1 worksheet ra thành nhiều Section có header và footer riêng như bạn muốn, do đó nếu muốn in dữ liệu trong Worksheet Excel ra nhiều trang với header và footer khác nhau thì bạn có thể dùng 1 trong các phương pháp phổ biến sau:

o Chọn in từng phần dữ liệu có header và footer riêng, hiệu chỉnh lại nội dung và hình thức trước khi in qua menu File.Page Setup.Header/Footer. Nếu cần thực hiện việc in ấn nhiều lần tại những thời điểm khác nhau, bạn có thể ghi lại trình tự điều khiển in trong lần đầu thành 1 macro để dùng dễ dàng cho những lần sau.

o Soạn thảo file Word phục vụ việc chỉnh dạng và in ấn, chia file Word ra nhiều section khác nhau để có header và footer độc lập nhau, vào Excel, chọn copy từng vùng dữ liệu Excel rồi sang Word, dùng menu Edit.Paste special, chọn checkbox "Paste Link" rồi chọn mục "HTML Format" để nhúng đối tượng Excel vào vị trí mong muốn trong file Word. Khi cần in dữ liệu, bạn chỉ in file Word. Khi cần hiệu chỉnh dữ liệu, bạn chỉ cần hiệu chỉnh file Excel, thông tin hiệu chỉnh sẽ được cập nhật tự động sang file Word.
 
Hỏi: Trong Excel, làm sao chỉnh độ rộng của cột, hàng ở mỗi trang khác nhau?



Đáp:

Không biết khái niệm “trang Excel” của bạn là gì. Lưu ý rằng mỗi file Excel có thể chứa nhiều worksheet, mỗi worksheet là 1 bản tính chứa tối đa 65536 hàng, mỗi hàng tối đa 256 cột. Trong mỗi worksheet, mỗi cột hay mỗi hàng có độ rộng thay đổi được theo yêu cầu người dùng, tuy nhiên bạn không thể chia 1 hàng hay 1 cột ra nhiều phân đoạn rồi thiết lập độ rộng riêng biệt cho từng phân đoạn đó.
 
Hỏi: Trong Excel, làm thế nào để cộng giá trị trong ô hiện thời với 1 ô khác và ghi lại vào ô đó. Ví dụ : E3 = E3 + E4.



Đáp:

Yêu cầu của bạn có thể giải quyết bằng macro. Bạn hãy viết macro đơn giản sau:

Sub MySum()

‘ macro cộng giá trị cell đang chọn với cell E4

‘ rồi cất kết quả vào cell đang chọn.

ActiveCell.Value = ActiveCell.Value + Range(“E4”)

End Sub
Rồi gán 1 trình tự phím tắt hay 1 icon trong toolbar cho macro này để tiện dụng. Mỗi lần cần thực hiện phép tính trên, bạn chỉ cần ấn trình tự phím tắt hay icon lệnh tương ứng.
 
Hỏi: Trong một số báo trước có bài viết về việc copy liên kết bảng tính MS Excel sang MS Word, tôi đã thử làm nhưng khi thay đổi nội dung trong file Excel thì nội dung của bảng tính trong Word lại không thay đổi. Vậy mong quý báo vui lòng cho biết nguyên nhân.



Đáp:

Thao tác copy 1 bảng Excel và dán mối liên kết của nó vào Word là rất dễ dàng, bạn chỉ cần thực hành một vài lần là thuần thục. Qui trình như sau:

- Chạy Excel, dùng chuột chọn vùng dữ liệu của bảng tính cần copy rồi thực hiện copy vào clipboard bằng cách nhấn chuột vào nút ‘Copy’ trên toolbar (hay nhấn phím tắt Ctrl-C).

- Chạy Word, đưa cursor về vị trí cần dán, nhấn chuột để xác định vị trí cần dán.

- Vào menu Edit.Paste Special, chọn checkbox “Past Link”, chọn mục “Microsoft Excel Worksheet Object”, bỏ checkbox “Float over text” rồi nhấn nút OK để dán mối liên kết vào vị trí. Từ đây mỗi khi bạn thay đổi thông tin trong vùng copy của bản tính Excel thì dữ liệu tương ứng trong Word cũng sẽ thay đổi theo. Tuy nhiên việc copy file Word này sang máy khác để tiếp tục làm việc sẽ gây nhiều phiền phức: bạn phải copy file Excel theo và để đúng vị trí thư mục như trong máy gốc.
 
Hỏi: 1. Khi khởi động Excel luôn hiện hộp thoại thông báo sau: The list and decimal separators specified by the system are identical. Substituting”:” for the list separator. phải ấn OK thì mới vào được Excel dùng bình thường? 2. Có cách nào để chỉnh cho dữ liệu liên kết dán từ Excel sang Word thẳng hàng với dòng văn bản trong Word không?



Đáp:

1. Sở dĩ Excel báo lỗi như bạn miêu tả là vì trong cửa sổ cấu hình của Control Panel.Regional Settings của Windows bạn đã dùng cùng ký tự để thiết lập cho “list seperator” và “decimal symbol”. Để Excel không báo lỗi nữa, bạn nên vào Control Panel.Regional Settings, chọn tab Number rồi quan sát và hiệu chỉnh ký tự của 2 field trên (tốt nhất là nên dùng dấu ‘.’ cho “decimal symbol” và dấu ‘,’ cho “list seperator”).

2. Khi bạn dán mối liên kết của một cell hay một vùng cell Excel vào một hàng văn bản của Word, Word sẽ dùng cạnh dưới của khung dữ liệu Excel để dóng hàng với đường “base line” của văn bản. Với cách thức dóng hàng này, ta cảm thấy văn bản trong các cell Excel hơi nhô cao so với văn bản Word trên cùng hàng. Để khắc phục lỗi này, bạn chọn các cell Excel trên hàng văn bản Word, rồi chọn menu Format.Font, chọn tab Character Spacing, chọn mục “Lowered” trong listbox “Position”, nhập số điểm cần hạ thấp văn bản trong cell (thí dụ 6pt).
 
Hỏi: Sau khi cài lại Excel, hàm đọc số ra chữ đã Add-in trước đây không còn dùng được, các ô chứa công thức (hàm) không đọc ra chữ nữa mà hiện thông báo “#NAME?”. Cách khắc phục?



Đáp:

Khi bạn cài lại Excel thì các thông số làm việc của Excel đã bị reset, danh sách các file Add-Ins mà bạn đã “add” vào Excel trước đây đã bị mất. Do đó sau khi cài đặt lại Excel, bạn mở file bảng tính của bạn, các cell nào có dùng các hàm nằm trong file Add-Ins của bạn sẽ không được Excel hiểu nữa và nó báo lỗi “#NAME?” như bạn trình này. Cách khắc phục là vào menu Tools.Add-Ins rồi “add” lại các file Add-Ins chứa các hàm cần dùng (như bạn đã làm trước đây).
 
Hỏi: Trong Excel, làm cách nào để sort dữ liệu trong bảng tính, đồng thời thứ tự dữ liệu trên một hàng phải đi theo dữ liệu cần sort đó?



Đáp:

Bạn có thể xem bảng tính Excel như là 1 database chứa nhiều record dữ liệu, các record được tổ chức theo hàng (mỗi hàng chứa 1 record) hay được tổ chức theo cột (mỗi cột chứa 1 record). Bạn có thể dùng menu Data.Sort để sắp xếp các record của database theo 1 số trường (field) dữ liệu của record. Để sắp xếp các record được chứa theo hàng, bạn hãy thực hiện các thao tác sau:

• Chọn các hàng chứa các record cần sắp xếp (dùng chuột nhấn vào hàng đầu, giữ chuột và kéo về hàng cuối trước khi thả chuột ra).

• Chọn menu Data.Sort, ấn button Options để vào cửa sổ “Sort Options” rồi chọn checkbox “Sort top to bottom”, quay lại cửa sổ “Sort” rồi khai báo từ 1 đến n cột dữ liệu làm tiêu chuẩn sắp xếp, mỗi tiêu chuẩn nên khai báo chính xác thứ tự sort tăng dần (ascending) hay giảm dần (descending).

• Cuối cùng nhấn button “OK” để bắt đầu sắp xếp.

Tương tự, để sắp xếp các record được chứa theo cột, bạn hãy thực hiện các thao tác sau :

• Chọn các cột chứa các record cần sắp xếp (dùng chuột ấn vào cột đầu, giữ chuột và kéo chuột về cột cuối trước khi thả chuột ra).

• Chọn menu Data.Sort, nhấn button Options để vào cửa sổ “Sort Options” rồi chọn checkbox “Sort left to right”, quay lại cửa sổ “Sort” rồi khai báo từ 1 đến n hàng dữ liệu làm tiêu chuẩn sắp xếp, mỗi tiêu chuẩn nên khai báo chính xác thứ tự sort tăng dần (ascending) hay giảm dần (descending).

• Cuối cùng nhấn button “OK” để bắt đầu sắp xếp.
 
Hỏi: Excel có thể biểu diễn số thập phân vô hạn tuần hoàn và phân số (dạng a/b) được không? Có thể đổi số thập phân vô hạn tuần hoàn ra phân số được không? Nếu được xin cho biết cách đổi.



Đáp:

Trong Excel, bạn chỉ có thể miêu tả phân số bằng cách nhập phân số đó vào 1 cell nào đó dưới dạng công thức “=a/b”. Tùy theo chế độ hiển thị mà cell đó được hiển thị như thế nào (kết quả gần đúng hay chính công thức đó). Tóm lại, bạn chỉ có thể miêu tả số thập phân vô hạn tuần hoàn trong Excel dưới dạng phân số tạo ra số đó và như vậy không cần chuyển đổi qua lại giữa 2 dạng này. Lưu ý là kết quả hiển thị lên màn hình chỉ là 1 số thực gần đúng chứ không phải dạng vô hạn tuần hoàn, tuy nhiên bạn đừng bận tâm với giá trị hiển thị vì nếu bạn dùng cell đó trong 1 công thức ở cell khác, Excel sẽ dùng phân số chứ không dùng giá trị được hiển thị.
 
Hỏi: Trong Excel, khi nhập các con số phần nguyên từ 32767 (nghĩa là 2^15) trở lên, với phần đuôi lẻ “,348” thì ở thanh formula phần số lẻ hiển thị không đúng. Đây là lỗi của Microsoft Excel? Làm thế nào để sửa lỗi này?



Đáp:

Trong Excel, khi bạn nhập 1 số thực (thí dụ 32768.348) thì formula bar có thể hiển thị giá trị hơi khác một chút (thí dụ là 32768.3479999999). Đây không phải là lỗi của Excel mà là vì Excel chứa số thực ở dạng không chính xác. Tuy nhiên độ sai lệch so với giá trị nhập vào là rất bé và thường chấp nhận được trong đại đa số trường hợp thông thường (chưa cần độ chính xác cao đặc biệt). Thí dụ trong trường hợp trên sai số là 10-10, quá nhỏ và có thể bỏ qua. Không phải chỉ có Excel mà tất cả các phần mềm khác cũng vậy, chúng luôn chứa số thực trong máy ở dạng không chính xác để đỡ tốn bộ nhớ.
 
Hỏi: Dùng Excel và định dạng trang nằm ngang, khi View lên rất đẹp, rất cân đối, nhưng đến khi in thì lại bị lệch trang sang trái. Tôi đã kiểm tra định dạng kiểu trang và máy in (HP LaserJet1100) đều đúng. Một bảng tính khác cũng trong Excel in theo trang ngang lại bình thường. Nguyên nhân và cách khắc phục?



Đáp:

Kết quả in bị lệch trái (hay lệch lên trên trong trường hợp in dọc) so với kết quả Preview thường là do bạn định dạng trang trong bảng tính Excel là khổ “Letter”, nhưng khi in bạn dùng khổ giấy A4 (hấu hết các loại giấy được bán ở thị trường VN là A4). Cách khắc phục là khai báo lại khổ giấy được dùng trong bảng tính đúng với khổ giấy sử dụng. File bảng tính khác cho kết quả in bình thường là vì trong bảng tính đó, bạn đã khai báo đúng khổ giấy A4.
 
Hỏi: Trong Excel làm cách nào đếm đươc tháng hiện tại có bao nhiêu ngày thứ hai, thứ ba,. .?



Đáp:

Bất kỳ ngôn ngữ lập trình nào cũng có thể giúp bạn giải quyết vấn đề này, ở đây là đếm số ngày thứ hai, thứ ba,... chủ nhật trong tháng hiện tại. Điều cốt lõi là giải thuật đếm ngày trong tháng, nếu bạn đã biết giải thuật thì chỉ cần miêu tả giải thuật bằng ngôn ngữ ưa thích. Trong Excel, bạn có thể dùng VBA để viết macro giải quyết vấn đề nào đó. Thí dụ đoạn macro sau sẽ giải quyết vấn đề của bạn:

Option Explicit

‘ Khai báo kiểu chứa thông tin thời gian

Private Type SYSTEMTIME

wYear As Integer

wMonth As Integer

wDayOfWeek As Integer

wDay As Integer

wHour As Integer

wMinute As Integer

wSecond As Integer

wMilliseconds As Integer

End Type

‘ Khai báo hàm API của Windows

Private Declare Sub GetLocalTime Lib “kernel32” (lpSystemTime As SYSTEMTIME)

‘ Khai báo biến cần dùng

Dim Days(0 To 6) As Integer

Dim MinDay As Integer

Dim MaxDay As Integer

‘ Macro đếm ngày

Sub DayCount()

Dim lpSystemTime As SYSTEMTIME

Dim iday As Integer

Dim idayofweek As Integer

‘ Khởi động counter ban đầu

For idayofweek = 0 To 6

Days(idayofweek) = 0

Next

‘ đọc thông tin ngày hiện tại

GetLocalTime lpSystemTime

‘ Tìm ngày nhỏ nhất và lớn nhất trong tháng

MinDay = 1

If (lpSystemTime.wMonth = 2) Then

MaxDay = 28

‘ Nên kiểm tra thêm năm nhuần, có 29 ngày

ElseIf (lpSystemTime.wMonth < 8 And lpSystemTime.wMonth Mod 2) Then

MaxDay = 31

ElseIf (lpSystemTime.wMonth > 7 And (lpSystemTime.wMonth Mod 2) = 0) Then

MaxDay = 31

Else

MaxDay = 30

End If

‘ Tính số ngày trong tuần của tháng hiện tại

iday = lpSystemTime.wDay

idayofweek = lpSystemTime.wDayOfWeek

While (iday <= MaxDay)

Days(idayofweek) = Days(idayofweek) + 1

iday = iday + 1

idayofweek = (idayofweek + 1) Mod 7

Wend

iday = lpSystemTime.wDay

idayofweek = lpSystemTime.wDayOfWeek

Days(idayofweek) = Days(idayofweek) - 1

While (iday >= MinDay)

Days(idayofweek) = Days(idayofweek) + 1

iday = iday - 1

If (idayofweek = 0) Then

idayofweek = 6

Else

idayofweek = idayofweek - 1

End If

Wend

‘ Hiển thị kết quả

MsgBox (“C.Nhat:” & Days(0) & “, T.Hai:” & Days(1) & “, T.Ba:” & Days(2) & “, T.Tu:” & Days(3) & “, T.Nam:” & Days(4) & “, T.Sau:” & Days(5) & “, T.Bay:” & Days(6))
End Sub
 
Web KT
Back
Top Bottom