nguyendaithang93
Thành viên chính thức


- Tham gia
- 19/6/16
- Bài viết
- 87
- Được thích
- 2
Có công thức nào để sắp xếp phần tên từ cột B sang cột F theo thứ tự A,B,C mà không dùng sort tự động không ạ?Chào các bác, nhờ các bác giúp em hàm để sort tự động tên theo thứ tự A,B,C như file đính kèm với.
Em cám ơn
Bạn không muốn dùng công cụ sẵn có trong Excel, lại tìm công thức cho phức tạp ?Chào các bác, nhờ các bác giúp em hàm để sort tự động tên theo thứ tự A,B,C như file đính kèm với.
Em cám ơn
kiểu như khi em thêm dữ liệu tên vào thì tự nó sort luôn ở 1 sheet khác, em ko phải sort nữa ấy ạBạn không muốn dùng công cụ sẵn có trong Excel, lại tìm công thức cho phức tạp ?
Vậy bạn thử:kiểu như khi em thêm dữ liệu tên vào thì tự nó sort luôn ở 1 sheet khác, em ko phải sort nữa ấy ạ
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B5:B1000")) Is Nothing Then
Range("B5:B1000").Sort [b5], 1 'A-->Z
' Range("B5:B1000").Sort [b5], 2 'Z-->A
End If
End Sub
Nếu có thêm cột C là Tuổi chẳng hạn thì có khi bà 60 tuổi tự nhiên thành cô gái 18 xuân thì.Vậy bạn thử:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B5:B1000")) Is Nothing Then Range("B5:B1000").Sort [b5], 1 'A-->Z ' Range("B5:B1000").Sort [b5], 2 'Z-->A End If End Sub
Cách đơn giản là xài 1 cột phụ:Chào các bác, nhờ các bác giúp em hàm để sort tự động tên theo thứ tự A,B,C như file đính kèm với.
Em cám ơn
Công thức lợi hại thậtCách đơn giản là xài 1 cột phụ:
Đây em không xài cột phụ:Công thức lợi hại thật
Thử không dùng cột phụ![]()
Tôi nghĩ là không dài. Công thức không dùng các hàm cao siêu. Và sort y như Excel làm. Tức THÙY đứng trước THỦY, và TUAN phải đứng trước TUAN 91Trường hợp trùng tên bị lỗi, công thức mảng hơi dài:
Mã:=INDEX(DSA,MATCH(LARGE(COUNTIF(DSA,"<="&DSA),E5),COUNTIF(DSA,"<="&DSA),0))
Hình như SMALL() thì phải!?Trường hợp trùng tên bị lỗi, công thức mảng hơi dài:
Mã:=INDEX(DSA,MATCH(LARGE(COUNTIF(DSA,"<="&DSA),E5),COUNTIF(DSA,"<="&DSA),0))
F5=OFFSET($B$4,MOD(AGGREGATE(15,6,(COUNTIF(DSA,"<"&DSA)+1)*10^4+$A$5:$A$24,E5),100),)
LARGE cũng được nhưng đổi "<=" thành ">=". Tôi chỉ nhìn lướt qua nên không để ý tới chiềuQuên, dùng nhầm SMALL thành LARGE.
Mã:=INDEX(DSA,MATCH(SMALL(COUNTIF(DSA,"<="&DSA),E5),COUNTIF(DSA,"<="&DSA),0))
Dùng công thức trước, bị lổi đã có hàm Iferror màĐây em không xài cột phụ:
À em có nghĩ qua rồi nhưng không làm kkDùng công thức trước, bị lổi đã có hàm Iferror mà![]()
Bạn để ý dòng trùng tên bị lổi nằm ở trên dòng không bị lổi, dùng Iferror lấy dòng dướiÀ em có nghĩ qua rồi nhưng không làm kk
Em có biết cách đó, nhưng nghĩ tới trường hợp sort dài mà không biết điểm dừng đến chỗ hết kết quả báo lỗi.Bạn để ý dòng trùng tên bị lổi nằm ở trên dòng không bị lổi, dùng Iferror lấy dòng dưới