kobebryant
Thành viên thường trực




- Tham gia
- 7/8/09
- Bài viết
- 248
- Được thích
- 28








Ráp vào thấy báo sai ở ngay cái C3 trong công thức LEFT bạn ạ, mình đang ở hàng thứ 2 thì mình nghĩ đó là C2, nhưng mình sửa 2 cái LEFT thành C2 nó vẫn báo lỗi ở đấy
Bạn dung công thức này xemCông thức đặt tại A2Mã:=IF(AND(LEFT(C3,2)<>"PC",LEFT(C3,2)<>"LP"),0,IF(COUNTIF($C$2:C3,C3)=1,MAX($A$1:A2)+1,MAX($A$1:A2)))








công thức này phải A3 mới đúng, copy lên A2 và các ô khác
Tuy nhiên công thức trên chỉ đúng khi Mã hàng hoá nếu giống nhau thì phải liên tục, sẽ sai khi mã hàng hoá giống nhau mà không nằm ở các cell liên tục (ví dụ giờ thay giá tri C13 thành LP127 --> sẽ thấy sai ngay)
Khắc phục công thức mới cho chuẩn cả trường hợp dữ liệu không liên tục:
Công thức cho cell A2:
=OR(LEFT(C2,2)="PC",LEFT(C2,2)="LP")*IF(MATCH(C2,$C$2:$C2,0)=ROW(C2)-ROW($C$2)+1,1+MAX($A$1:A1),OFFSET($A$2,MATCH(C2,$C$2:$C2,0)-1,0 ))
copy down cho các cells còn lại




Cũng có thể áp dụng công thức này:
B2 =IF(OR(LEFT(C2;2)="LP";LEFT(C2;2)="PC");IF(COUNTIF($C$1:C2;C2)=1;MAX($B$1:B1)+1;INDIRECT("B" & MATCH(C2;$C$1:C2;0)));0)
Khắc phục công thức mới cho chuẩn cả trường hợp dữ liệu không liên tục:
Công thức cho cell A2:
=OR(LEFT(C2,2)="PC",LEFT(C2,2)="LP")*IF(MATCH(C2,$C$2:$C2,0)=ROW(C2)-ROW($C$2)+1,1+MAX($A$1:A1),OFFSET($A$2,MATCH(C2,$C$2:$C2,0)-1,0 ))
copy down cho các cells còn lại




Hoặc thế này cho dễ hiểu
=IF(OR(LEFT(C2,2)="PC",LEFT(C2,2)="LP"),IF(MATCH(C2,$C$2:$C2,0)=ROW(C2)-ROW($C$2)+1,1+MAX($A$1:A1),OFFSET($A$2,MATCH(C2,$C$2:$C2,0)-1,0 )),0)
áp cho cell A2, copy cho các cells còn lại



Bạn xem file tôi đưa công thức vào nhéCông thức này những ô sẽ hiển thị số thứ tự báo lỗi NAME hết bạn ơi




Bạn xem file tôi đưa công thức vào nhé