Cần giúp về công thức tự điền số thứ tự sau khi filter (có dữ liệu trùng)

Liên hệ QC

AnhHuy81

Thành viên mới
Tham gia
1/5/09
Bài viết
35
Được thích
2
Giới tính
Nam
Mình có dữ liệu như sau:
Cột A: STT (cần dùng công thức để tự điền)
Cột B: Mã dự án (một dự án có thể có nhiều nhân viên tham gia)

Cột C: Nhân viên (một nhân viên có thể tham gia nhiều dự án)

Các bạn xem file và hướng dẫn mình tạo công thức để tự điền số thứ tự ở cột A thỏa mãn 2 yêu cầu sau:
- Tự điền số thứ tự theo mã dự án, nếu có 2 dự án trùng thì chỉ đếm 1
- Sau khi filter, nếu có 2 dự án trở lên thì điền số thứ tự theo từng dự án (như yêu cầu trên), trong trường hợp chỉ có 1 dự án thì điền số thứ tự theo số lượng nhân viên tham gia dự án đó.
Cảm ơn các bạn.
 

File đính kèm

  • tu dien so thu tu sau khi filter (co du lieu trung).xls
    34 KB · Đọc: 36
yêu cầu thứ nhất
A4= gõ vào số 1
Ạ5=IF(B4=B5,"",1+COUNT($A$4:A4))
yêu cầu thứ 2
C1=INDEX($C$4:$C$13,SMALL(IF($B$4:$B$13=B21,ROW($B$4:$B$13)-3),A21))
kết thúc bằng Ctrl Shift Enter
 

File đính kèm

  • tu dien so thu tu sau khi filter (co du lieu trung).xls
    69.5 KB · Đọc: 11
yêu cầu thứ nhất
A4= gõ vào số 1
Ạ5=IF(B4=B5,"",1+COUNT($A$4:A4))
yêu cầu thứ 2
C1=INDEX($C$4:$C$13,SMALL(IF($B$4:$B$13=B21,ROW($B$4:$B$13)-3),A21))
kết thúc bằng Ctrl Shift Enter

Hinh như bạn đã hiểu sai ý của tác giả
Công thức người ta cần sẽ điền tại A4:A13. Còn vùng A21:A23 chỉ là 1 ví dụ minh họa
--------------
Nói chung, để các công thức có thể chạy tự động sau khi AutoFilter thì chắc chắn phải dùng đến hàm SUBTOTAL
 
yêu cầu thứ nhất
A4= gõ vào số 1
Ạ5=IF(B4=B5,"",1+COUNT($A$4:A4))
yêu cầu thứ 2
C1=INDEX($C$4:$C$13,SMALL(IF($B$4:$B$13=B21,ROW($B$4:$B$13)-3),A21))
kết thúc bằng Ctrl Shift Enter
Bạn chưa hiểu ý mình. Mình chỉ cần công thức để điền số thứ tự ở cột A thôi, đồng thời phải thỏa mãn 2 yêu cầu trên (chứ không phải yêu cầu 2 là hiển thị tên NV)
 
Hinh như bạn đã hiểu sai ý của tác giả
Công thức người ta cần sẽ điền tại A4:A13. Còn vùng A21:A23 chỉ là 1 ví dụ minh họa
--------------
Nói chung, để các công thức có thể chạy tự động sau khi AutoFilter thì chắc chắn phải dùng đến hàm SUBTOTAL
Bạn giúp giùm mình công thức này nha. Cảm ơn bạn
 
anh Ndu phán vậy thì bài này chắc vô phương làm rùi.....+-+-+-+ hay bạn nhờ các thầy viết bằng vba
lỡ dzọc sáng tới bi giờ, post lên xem đúng ý bạn ko,
mà ko đúng cũng ko làm nổi nữa, hết sức rùi.....!$@!!
 

File đính kèm

  • Copy of tu dien so thu tu sau khi filter (co du lieu trung).xls
    24 KB · Đọc: 11
Theo tôi nghĩ để theo dõi dự án mà thực hiện theo những gì bạn yêu cầu không phải là 1 hướng tốt, 1 cách tốt nhất là bạn Upload File thực theo dõi của bạn lên và nêu rõ tất cả các yêu cầu cần tổng họp, báo cáo, theo dõi, quản lý để mỗi người đóng góp 1 ý tưởng là 1 cách để trả lời nhanh lẹ và tốt nhất.
Ví dụ: tạo 1 nút khi nhấn vào nó sẽ xuất ra 1 File tổng hợp, báo cáo kèm theo là bảng PivotTable với nội dung:
- Tổng số dự án, mỗi dự án bao nhiêu đợt.
- Người nào theo dõi xử lý hoặc thẩm định dự án nào, đợt nào.
- Kết quả xử lý:
+ Xử lý bao nhiêu dự án hoặc bao nhiêu đợt.
+ Đang xử lý dự án nào, đợt nào.
+ Đang trình ký dự án nào, đợt nào.

Hoặc tạo Form nhập dữ liệu để theo dõi dự án, tìm kiếm dự án hoặc đợt dữ liệu tự load lên Form.
Nếu thực sự bạn cần để theo dõi, quản lý dự án tôi sẽ gửi tặng bạn 1 File như nội dung tôi vừa nêu trên, chứ đừng hỏi lòng vòng không giải quyết được vấn đề và làm mất thời gian trả lời của các thành viên muốn giúp bạn.
 
anh Ndu phán vậy thì bài này chắc vô phương làm rùi.....+-+-+-+ hay bạn nhờ các thầy viết bằng vba
lỡ dzọc sáng tới bi giờ, post lên xem đúng ý bạn ko,
mà ko đúng cũng ko làm nổi nữa, hết sức rùi.....!$@!!

vậy tham khảo cái này xem sao, chưa cần đến VBA đâu:
tại cột f tạo cột phụ công thức sau:
cột A công thức sau:
=IF(SUBTOTAL(103,$B$4:$B$13)<>COUNTIF($B$4:$B$13,B4),IF(B3=B4,"",SUM(1,SUBTOTAL(102,$F$3:F3))),SUM(1,SUBTOTAL(102,$F$3:F3)))

xem file kèm theo
 

File đính kèm

  • tu dien so thu tu sau khi filter (co du lieu trung).xls
    30.5 KB · Đọc: 18
anh Ndu phán vậy thì bài này chắc vô phương làm rùi.....+-+-+-+ hay bạn nhờ các thầy viết bằng vba
lỡ dzọc sáng tới bi giờ, post lên xem đúng ý bạn ko,
mà ko đúng cũng ko làm nổi nữa, hết sức rùi.....!$@!!
Công thức của bạn không đúng khi filter theo dự án 4 hoặc khi không filter nó cũng điền số thứ tự không đúng.
Cảm ơn bạn đã giúp mình nha do mình biết bài toán mình yêu cầu cũng hơi quái :)
 
vậy tham khảo cái này xem sao, chưa cần đến VBA đâu:
tại cột f tạo cột phụ công thức sau:
cột A công thức sau:


xem file kèm theo
Công thức của bạn không đúng khi filter theo dự án 2 (hoặc dự án 3). Bạn kiểm tra lại giùm mình nha. Cảm ơn bạn.
 
Theo tôi nghĩ để theo dõi dự án mà thực hiện theo những gì bạn yêu cầu không phải là 1 hướng tốt, 1 cách tốt nhất là bạn Upload File thực theo dõi của bạn lên và nêu rõ tất cả các yêu cầu cần tổng họp, báo cáo, theo dõi, quản lý để mỗi người đóng góp 1 ý tưởng là 1 cách để trả lời nhanh lẹ và tốt nhất.
Ví dụ: tạo 1 nút khi nhấn vào nó sẽ xuất ra 1 File tổng hợp, báo cáo kèm theo là bảng PivotTable với nội dung:
- Tổng số dự án, mỗi dự án bao nhiêu đợt.
- Người nào theo dõi xử lý hoặc thẩm định dự án nào, đợt nào.
- Kết quả xử lý:
+ Xử lý bao nhiêu dự án hoặc bao nhiêu đợt.
+ Đang xử lý dự án nào, đợt nào.
+ Đang trình ký dự án nào, đợt nào.

Hoặc tạo Form nhập dữ liệu để theo dõi dự án, tìm kiếm dự án hoặc đợt dữ liệu tự load lên Form.
Nếu thực sự bạn cần để theo dõi, quản lý dự án tôi sẽ gửi tặng bạn 1 File như nội dung tôi vừa nêu trên, chứ đừng hỏi lòng vòng không giải quyết được vấn đề và làm mất thời gian trả lời của các thành viên muốn giúp bạn.
Ví dụ mình đưa ra chỉ là minh họa nhưng yêu cầu thực tế của mình cũng gần như vậy (chỉ cần điền số thứ tự) chứ không phải mình hỏi lòng vòng gì đâu bạn
 
stt.jpg
Công thức của bạn không đúng khi filter theo dự án 2 (hoặc dự án 3). Bạn kiểm tra lại giùm mình nha. Cảm ơn bạn.
không đúng là như thế nào??? kết quả của bạn muốn là sao, nói 1 lèo mà ko cho cái vidu củ thể nào hết, ai biết đâu mà mò, bạn nói chung chung vậy thì mình cũng nói câu chung chung cho bạn luôn:
bạn tự hiểu tự làm lấy, người khác không hiểu thì giúp bạn sao được:

công thức của mình như sau: nếu có trên 2 dự án lấy dự án làm xếp số thứ tự, còn chỉ 1 dự án duy nhất thì lấy nhân viên làm số thứ tự

à bạn thây đổi công thức này chút:
=IF(SUBTOTAL(103,$B$4:$B$13)<>COUNTIF($B$4:$B$13,B4),IF(B3=B4,"",SUM(1,SUBTOTAL(102,$F$3:F3))),SUM(1,SUBTOTAL(103,$B$3:B3))-1)
 

File đính kèm

  • tu dien so thu tu sau khi filter (co du lieu trung).xls
    30.5 KB · Đọc: 8
Lần chỉnh sửa cuối:
không đúng là như thế nào??? kết quả của bạn muốn là sao, nói 1 lèo mà ko cho cái vidu củ thể nào hết, ai biết đâu mà mò, bạn nói chung chung vậy thì mình cũng nói câu chung chung cho bạn luôn:
bạn tự hiểu tự làm lấy, người khác không hiểu thì giúp bạn sao được:

công thức của mình như sau: nếu có trên 2 dự án lấy dự án làm xếp số thứ tự, còn chỉ 1 dự án duy nhất thì lấy nhân viên làm số thứ tự
Bạn thử Filter dự án 3 xem đã đánh số thứ tự đúng chưa?
 
không đúng là như thế nào??? kết quả của bạn muốn là sao, nói 1 lèo mà ko cho cái vidu củ thể nào hết, ai biết đâu mà mò, bạn nói chung chung vậy thì mình cũng nói câu chung chung cho bạn luôn:
bạn tự hiểu tự làm lấy, người khác không hiểu thì giúp bạn sao được:

công thức của mình như sau: nếu có trên 2 dự án lấy dự án làm xếp số thứ tự, còn chỉ 1 dự án duy nhất thì lấy nhân viên làm số thứ tự
Xin lỗi vì mình không nói rõ lỗi ở công thức của bạn.
Cụ thể, Khi filter dự án 2, có 3 nhân viên thì số thứ tự phải là: 1, 2, 3 nhưng số thứ tự theo công thức của bạn lại là: 1, 2, 2.
Bạn xem lại giùm mình nha
 
Xin lỗi vì mình không nói rõ lỗi ở công thức của bạn.
Cụ thể, Khi filter dự án 2, có 3 nhân viên thì số thứ tự phải là: 1, 2, 3 nhưng số thứ tự theo công thức của bạn lại là: 1, 2, 2.
Bạn xem lại giùm mình nha
mình mới chỉnh lại công thức, bạn tải file lại nhe (file ở bài #13)
 
mình mới chỉnh lại công thức, bạn tải file lại nhe (file ở bài #13)
Cảm ơn bạn nhiều. Công thức này gần như đáp ứng yêu cầu của mình. Tuy nhiên nếu filter theo nhân viên B (tham gia 4 dự án) thì nó lại chỉ hiển thị 1 số thứ tự ở dự án 3
Bạn cho mình hỏi thêm nếu cột dự án không được sort (dự án xếp lộn xộn) thì công thức này phải thay đổi như thế nào vậy bạn?
 
Lần chỉnh sửa cuối:
Cảm ơn bạn nhiều. Công thức này gần như đáp ứng yêu cầu của mình. Tuy nhiên nếu filter theo nhân viên B (tham gia 4 dự án) thì nó lại chỉ hiển thị 1 số thứ tự ở dự án 3
Bạn cho mình hỏi thêm nếu cột dự án không được sort (dự án xếp lộn xộn) thì công thức này phải thay đổi như thế nào vậy bạn?
Nếu dùng cột phụ như Good-Luck thì có thể sửa công thức tại F4:
Mã:
=IF(COUNTIF($B$4:B4,B4)=1,1,"")
Rút gọn công thức tại A4:
Mã:
=IF(SUBTOTAL(103,$B$4:$B$13)<>COUNTIF($B$4:$B$13,B4),IF(COUNTIF($B$4:B4,B4)<>1,"",SUBTOTAL(102,$F$4:F4)),SUBTOTAL(103,$B$3:B3))
Sửa một chút công thức của Good-Luck không cần cột phụ:
Mã:
=IF(SUBTOTAL(103,$B$4:$B$13)<>COUNTIF($B$4:$B$13,B4),IF(COUNTIF($B$4:B4,B4)<>1,"",MAX($A$3:A3)+1),SUBTOTAL(103,$B$3:B3))
 
Lần chỉnh sửa cuối:
Sửa một chút công thức của Good-Luck không cần cột phụ:
Mã:
=IF(SUBTOTAL(103,$B$4:$B$13)<>COUNTIF($B$4:$B$13,B4),IF(COUNTIF($B$4:B4,B4)<>1,"",MAX($A$3:A3)+1),SUBTOTAL(103,$B$3:B3))
Công thức này bị lỗi ở chỗ filter theo từng nhân viên. Ví dụ: filter nhân viên B (tham gia 4 dự án) thì nó không hiển thị đúng số thứ tự của 4 dự án mà nhân viên đó tham gia.
Bạn xem lại giùm mình nha
 
Công thức này bị lỗi ở chỗ filter theo từng nhân viên. Ví dụ: filter nhân viên B (tham gia 4 dự án) thì nó không hiển thị đúng số thứ tự của 4 dự án mà nhân viên đó tham gia.
Bạn xem lại giùm mình nha
Công thức:
Mã:
=IF(SUBTOTAL(103,$C$4:$C$13)=COUNTIF($C$4:$C$13,C4),SUBTOTAL(103,$C$4:C4),IF(SUBTOTAL(103,$B$4:$B$13)=COUNTIF($B$4:$B$13,B4),SUBTOTAL(103,$B$4:B4),IF(COUNTIF($B$4:B4,B4)<>1,"",MAX($A$3:A3)+1)))
Còn filter 2 dự án trở lên thì chưa được.
 
Web KT

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

Back
Top Bottom