Martin có một trang tính chứa 50 hàng dữ liệu, mỗi hàng mô tả một đối tượng. Cột A chứa tên của đối tượng, cột B chứa tọa độ X và cột C chứa tọa độ Y của nó. Khi anh ta tạo biểu đồ phân tán X-Y (cột B so với cột C), kết quả, như mong muốn, là một biểu đồ hiển thị một mảng các điểm hiển thị vị trí của các đối tượng. Tuy nhiên, Martin dường như không thể gắn nhãn các điểm dữ liệu bằng tên riêng của chúng (từ cột A). Khi anh ta cố gắng gắn nhãn các điểm dữ liệu, các tùy chọn khả dụng duy nhất là gắn nhãn mỗi điểm với giá trị X, giá trị Y hoặc Tên chuỗi. Martin tự hỏi liệu có cách nào anh ta có thể dễ dàng sử dụng Cột A để gắn nhãn các điểm dữ liệu được vẽ biểu đồ không.

Điều này có thể được thực hiện thủ công, nhưng nó là tẻ nhạt nhất. Đối với 50 hàng, nó sẽ nhanh chóng trở nên tàn bạo, vì vậy tốt nhất bạn nên xem xét cách tiếp cận theo định hướng vĩ mô. Một ý tưởng là sử dụng macro tương tự như sau, bước qua các điểm dữ liệu trong biểu đồ X-Y và đọc các giá trị nhãn từ cột A.

Sub DataLabelsFromRange()

Dim Cht As Chart     Dim i, ptcnt As Integer

Set Cht = ActiveSheet.ChartObjects(1).Chart     On Error Resume Next     Cht.SeriesCollection(1).ApplyDataLabels _       Type:=xlDataLabelsShowValue, _       AutoText:=True, _       LegendKey:=False

ptcnt = Cht.SeriesCollection(1).Points.Count     For i = 1 To ptcnt         Cht.SeriesCollection(1).Points(i).DataLabel.Text = _           ActiveSheet.Cells(i + 1, 1).Value     Next i End Sub

Macro giả định rằng hàng đầu tiên của trang tính chứa thông tin tiêu đề và dữ liệu thực tế bắt đầu từ hàng 2. Nếu dữ liệu thực sự bắt đầu ở hàng 1, thì hãy thay đổi “i + 1” thành “i”. (Cách tiếp cận macro này thực sự là một biến thể của macro được tìm thấy trên các trang 570-571 của cuốn sách xuất sắc của John Walkenbach Excel 2003 Power Programming with VBA.)

Một cách tiếp cận không macro khá độc đáo là sử dụng các định dạng tùy chỉnh của Excel.

Tất cả những gì bạn cần làm là thiết lập một loạt các định dạng tùy chỉnh chỉ chứa văn bản bạn muốn được hiển thị. Ví dụ: nếu bạn có các giá trị Tuổi, 15 và 23 trong ô A3 đến C3, bạn có thể định dạng ô B3 hoặc C3 để hiển thị từ “Tuổi” mặc dù giá trị sẽ vẫn là 15 hoặc 23, tương ứng. Chỉ cần nhập “Tuổi” (bao gồm cả dấu ngoặc kép) cho Định dạng tùy chỉnh cho ô. Sau đó, định dạng biểu đồ để hiển thị nhãn cho giá trị X hoặc Y.

Khi bạn làm điều này, các giá trị trục X của biểu đồ có thể sẽ thay đổi tất cả thành bất kỳ tên định dạng nào (tức là Tuổi). Tuy nhiên, sau khi định dạng trục X thành Số (không có chữ số sau số thập phân trong trường hợp này) thay vì Chung, biểu đồ sẽ hiển thị chính xác.

Cách tiếp cận này rõ ràng vẫn có thể mất một chút thời gian để triển khai khi bạn thiết lập và áp dụng một loạt các định dạng tùy chỉnh cho mỗi giá trị trong chuỗi dữ liệu của mình. Nếu bạn không muốn gặp rắc rối với việc viết và kiểm tra macro của riêng mình hoặc tạo một loạt các định dạng tùy chỉnh, bạn luôn có thể chuyển sang các phần bổ trợ do người khác viết. Microsoft MVP Rob Bovey đã tạo một bổ trợ tuyệt vời (miễn phí) cho Excel, bao gồm tính năng gắn nhãn X-Y trong số một số tính năng khác. Nó có thể được tải về tại địa chỉ này:

http://www.appspro.com/Utilities/ChartLabeler.htm

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3503) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: