Sửa dùm công thức name động này

Liên hệ QC

quoc_huy1702

Thành viên hoạt động
Tham gia
9/6/11
Bài viết
132
Được thích
20
Nghề nghiệp
NVVP
Mình dựa theo bài Automatic remove zero values in pie chart
http://www.andypope.info/charts/piezeros.htm

Đặt các name và sử dụng offset để vẽ chart.
Mục đích là khi các dữ liệu bảng chính có cái nào = 0 thì loại ra cho bảng chart gọn gàng hơn

Các giá trị >0 hoặc <0 đều dc hiển thị trên cột M và N
Nhưng công thức khi áp dụng có 1 số trục trặc sau
1/ Tính tổng lại ko thấy đúng ( sum đúng là 47,194)
2/ Chỉ hiện ra các giá trị >0
3/ Tự nhiên cũng có thêm giá trị = 0 của nhóm hàng G0-HR mà lại hiện 2 dòng ( dòng 20 và 21)
4/ Ko hiển thị bên cột M và N các lượng 3918 của nhóm G0-Hatvang (dòng 25) và lượng 8482 của nhóm LK-JASMINE-DX ( dòng 65)

Xin mọi người giúp
 

File đính kèm

  • DYNAMIC CHART.xlsx
    26.2 KB · Đọc: 5
Cám ơn bác pmt0412 đã chỉ; nhưng quả thực sau khi đọc bài xong; e cũng chưa hiểu phải làm thế nào để khắc phuc được.

Xin bác giúp cho trót; vì e còn rất gà các công thức mảng , name và offset.
 
Cũng vậy thôi: 1 name duy nhất:

tmp =IF(DataInColumn!$J$5:$J$82<>0;ROW(DataInColumn!$1:$78);"")

M15 =IfError(INDEX($J$5:$J$82;SMALL(tmp;ROWS($1:1));1);"")
N15 =IfError(INDEX($A$5:$A$82;SMALL(tmp;ROWS($1:1));1);"")

Fill xuống

Hai cột K, L có thể xóa bỏ. AndyPope viết công thức không bằng GPE
 
Thanks Ptm0412 nhiều nhiều
Mình đã làm như công thức bạn chỉ; công thức họat động tốt. Nhưng kết quả chưa như ý; xin bạn chỉ thêm
Như hình bên dưới kết quả tổng cộng dư bán của mình đang là 47194. Kết quả sau khi rút gọn của Ptm0412 chỉ còn 22135. Như vậy chưa chính xác.

Ngoài ra 1 số nhóm có giá trị là 0 vẫn hiển thị như là (O12 và P12 )
loi_zpse3695d65.png
 

File đính kèm

  • DYNAMIC CHART.xlsx
    28 KB · Đọc: 4
Name của bạn không cố định Row(1:78), lẽ ra là Row($1:$78)

Ngoài ra, cột O bạn nên định dạng có 2 số thập phân để xác định đúng ô nào bằng 0 và ô nào không phải 0.
 
Mình muốn hỏi tại sao lại cố định dòng và từ 1 - 78 mà ko phải 82?
 
1. Bắt buộc phải cố định dòng:
Bạn thử đứng ở dòng 10, mở define name ra xem nó đã chạy đi đâu. Một khi nó đã chạy, Small vẫn còn đúng, nhưng index nó đi đằng nào.

2. Tại sao không phải $5:$82:
Tôi muốn Index từ 1 đến hết thông qua Small. Nếu Small từ 5 đến 82 thì không lấy được từ 1 đến 4, còn 79 trở lên bị lỗi. Nếu muốn đúng, thì Small phải trừ 4. Nhưng tôi không chắc dữ liệu có phải lúc nào cũng bắt đầu dòng 5 hay không, trừ 4 có khi bạn không hiểu, có khi thay đổi dữ liệu thì lại sai.
 
Web KT

Bài viết mới nhất

Back
Top Bottom