hngiatuong
CMC
- Tham gia
- 14/9/12
- Bài viết
- 312
- Được thích
- 68
- Nghề nghiệp
- VT
Tôi thấy bạn đặt vùng dữ liệu từ A5 :A23 là data vậy công thức tại D5 :Nhờ các A/C nghĩ cách giùm Sắp xếp và tính tổng sau khi sắp xếp
=INDEX(data,MATCH(1,INDEX((COUNTIF($D$4:D4,data)=0)*(data<>""),0),0))
=SUMIF(data,D5,$B$5:$B$23)
=LOOKUP(REPT("z",255),CHOOSE({1;2},"",INDEX(data,MATCH(1,INDEX((COUNTIF($D$4:D4,data)=0)*(data<>""),0),0))))
Nhờ các A/C nghĩ cách giùm Sắp xếp và tính tổng sau khi sắp xếp
=$A$5:$A$23
=IF((data<>"")*(COUNTIF($D$4:$D4;data)=0);COUNTIF(data;"<"&data);"")
=IFERROR(INDEX(data;MATCH(SMALL(arr;1);arr;0));"")
=IF($D5<>"";SUMIF(data;$D5;OFFSET(data;;1));"")
Công thức bài #3 là đúng.Cảm ơn 2 bạn: siwtom, hoamattroicoi
Mình làm theo hoamattroicoi thì kết quả thấy đúng còn làm theo siwtom lại ko được nhỉ. Mình chưa hiểu nhiều lắm về công thức này, nên mình sẽ nghiên cứu kỹ để tìm hiểu xem tại sao. Cảm ơn 2 bạn nhé.
Ngoài ra bạn thay thế toàn bộ dấu chấm phảy ; bằng dấu phảy ,2. Chọn ô D5, đặt name arr
Công thức bài #3 là đúng.
Bạn đọc thật kỹ hướng dẫn đặc biệt là mục số 2
Ngoài ra bạn thay thế toàn bộ dấu chấm phảy ; bằng dấu phảy ,
Thật là xin lỗi. Không biết nên nói thể nào cả ... Mình nhập vào thì cứ báo lỗi, trong khi về vấn đề này minh lại chưa hiểu biết nhiều. Thật lòng cảm ơn mọi người trên diễn đàn, mình sẽ nghiên cứu thử lại thêm nhiều lần nữa để tìm hiểu tại sao.
Tuy nhiên cách này mình thấy bảng tính chạy lâu quá, không biết có cách nào nhanh hơn không. Đặc biệt khi thay đổi 1 số dòng nào đó thì hơi mất thời gian. ở đây mình mới thử có khoảng 600 dòng. Hay do máy tính mình kém quá.
dk=MATCH(0,COUNTIF(XL!$F$1:F1,Data)*(Data<>""),0)
F2=INDEX(Data,DK)
Mong các A/c chỉ giúp xem tại sao như vậy. Mình không tìm nổi. Cảm ơn.
=IF(ISERROR(INDEX(Data,MATCH(SMALL(arr,1),arr,0))),"",INDEX(Data,MATCH(SMALL(arr,1),arr,0)))
Chào Let-GâuGâusố liệu của bạn quá lớn nên việc sử dụng cthức mảng làm tốc độ tính ko nhanh được,
bạn có thể đưa vào name để tăng tốc phần nào
tại F2 đặt name
cthức tạiMã:dk=MATCH(0,COUNTIF(XL!$F$1:F1,Data)*(Data<>""),0)
Mã:F2=INDEX(Data,DK)
ngoài ra bạn có thể sử dụng các cách khác nhanh hơn như remove duplicated hay pivot table và nhờ các thầy viết code vba