Xin hỏi về vẽ đồ thị tự động

Liên hệ QC

springrain836

Thành viên mới
Tham gia
2/8/08
Bài viết
38
Được thích
26
Tôi có 1 file excel có các sheet khác nhau, trong mỗi sheet có dữ liệu, giá trị dữ liệu khác nhau nhưng vị trí bắt đầu của mảng dữ liệu giống nhau, chỉ khác độ dài của mảng dữ liệu. Tôi dùng hàm có thể nhận ra mảng dữ liệu (range) này. Tuy vậy tôi chưa biết có cách nào vẽ đồ thị mà mảng dữ liệu được tự động link từ địa chỉ của 1 ô.
Các bạn có thể xem file gửi kèm, Range của đồ thị trong Sheet 1 hay sheet 2 có thể thấy trong ô G1 (tự động). Mỗi lần mở 1 sheet mới tôi lại phải define lại range của đồ thị thấy mất thời gian quá.
Cám ơn trước các bạn ở GPE.
 

File đính kèm

  • VeDothiTudong.xls
    47 KB · Đọc: 153
Bạn đã làm 1 bước lớn rồi, chỉ còn 1 xíu là tới thôi. Bây giờ chỉ phải đặt name:
Data1 = Indirect(Sheet1!$G$1)
Data2 = Indirect(Sheet2!$G$1)
(kết quả ô G1 hình như lệch cột 1 tí)

Hoặc đặt name trực tiếp không dùng ô phụ như trong file.
Bạn xem trong file, mỗi sheet 2 đồ thị, mỗi đồ thị có datasource đều là name
 

File đính kèm

  • Datasource.zip
    18.5 KB · Đọc: 100
Cảm ơn bạn ptm0412, tôi đã check lại file của bạn, khi tôi thử copy dữ liệu từ sheet 1 sang sheet 2 thì đô thị không vẽ tự động. Khi đặt range của đồ thị theo name đã đặt (chẳng hạn data1) thì ngay sau khi đó range của đồ thị sẽ tự động nhận range theo địa chỉ đã định nghĩa, và không tự thay đổi khi giá trị của range nay ở ô G1 thay đổi.
Bạn thử kiểm tra lại xem có đúng không nhé.
 
Tôi sơ ý vì đồ thị XY Scatter phải định nghĩa 2 name, 1 name cho X value và 1 name cho Y value. Và khi gán name cho X value và Y value của đồ thị phải có tên file kèm theo (vì là name động)
Bạn sửa lại theo hướng này.
 

File đính kèm

  • Datasource2.zip
    21.1 KB · Đọc: 145
Cảm ơn bạn ptm0412, thật là 1 giải pháp hữu ích.
Có cách nào mà khi copy thêm 1 sheet mới từ sheet hiện tại (sheet 1 hoặc 2) thì không phải định nghĩa lại mảng dữ liệu như bạn làm không nhỉ. Vì nếu mà phải định nghĩa thêm các Name cho sheet mới như thế sẽ phức tạp hơn rất nhiều so với việc định nghĩa lại range của đồ thị trực tiếp khi nhìn vào địa chỉ của vùng ở các ô G1 của các sheet (nghĩa là lúc này chỉ cần copy sheet xong, thay đổi dữ liệu hiện tại thành dữ liệu mới, xác định lại range data của đồ thị theo ô G1).
 
Nếu bạn thích nhanh thì chỉ dùng 2 name data1x và data1y, xoá 2 name data1ax và data2ay.
Bạn định nghĩa lại name data1x và data1y cũng lẹ thôi:
- Insert - Define name: Chọn name data1x, sưa refered to thành =indirect(sheet3!$G$1), sửa name thành data3x
(Chỉ sửa sheet1 thành sheet3, sửa có 1 số duy nhất)
- Nhấn add
- Chọn name data1y: sửa 1 thành 3 như trên
- Click vào serie của biểu đồ (cái ở trên): trong thanh formula bar sửa chỗ nào data1x hoặc data2x, sửa thành data3x;
data1y hoặc data2y sửa thành data3y....
- Xong
 
Tôi nghĩ có thể mình làm 1 sheet chung chỉ để vẽ đồ thị cho các sheet thì hơn, bạn ptm0412 nhỉ. Trong đó mình chỉ thay đổi tên sheet ở 1 ô nào đó trong sheet chung đấy, dữ liệu sẽ tự động nhận cập nhật và đồ thị sẽ vẫn tự động thay đổi theo mà không phải định nghĩa lại. Việc còn lại là chỉ copy dữ liệu vào sheet mới và thay đổi tên sheet cũ thành tên sheet mới ở trong sheet vẽ đồ thị chung là được. Cảm ơn bạn ptm0412 nhé.
 
Dữ liệu của em thì đơn giản hơn:

1. dữ liệu nhập theo Tuần
2. Mỗi tuần vẽ 1 đồ thị.
3. Đồ thị tự động vẽ theo dữ liệu nhập.
 
Web KT
Back
Top Bottom