Tìm kiếm Vlookup với các điều kiện là ẩn số XXXXXX ??? (1 người xem)

Người dùng đang xem chủ đề này

wtvnphu

Thành viên chính thức
Tham gia
3/10/08
Bài viết
59
Được thích
22
Chào các anh chị !

Em có 1 file thống kê để tính toán số thùng Inner rất khó khăn.

Ở sheet 3 em cần lấy số lượng tỏng thùng Inner ở sheet Data để tính toán.

Giá trị tìm kiếm là 1 tên hàng cụ thể, còn giá trị tra bên sheet Data là 1 tên sản phẩm chung chung.

Ví dụ : Sheet 3 tên SP là 128X-032S2A-S253LAS
Sheet Data tên SP để tra là : 128X-032S2A-SXXXXXX ( với X là các ký tự có thể thay đổi bất kỳ )

Em đã nghĩ mãi mà không tìm được công thức thích hợp cho trường hợp này.


Nhờ các anh chị bớt chút thời gian chỉ bảo em với.

Cảm ơn các anh chị đã đọc bài viết !
 

File đính kèm

Chào các anh chị !

Em có 1 file thống kê để tính toán số thùng Inner rất khó khăn.

Ở sheet 3 em cần lấy số lượng tỏng thùng Inner ở sheet Data để tính toán.

Giá trị tìm kiếm là 1 tên hàng cụ thể, còn giá trị tra bên sheet Data là 1 tên sản phẩm chung chung.
Dữ liệu sản phẩm này, ở công ty bạn có Mã sản phẩm không? (Mỗi sản phẩm có một Mã tương ứng với nó).

Xin hỏi thêm thông tin:
Ở sheet Data, cột Tên sản phẩm: Bạn nêu chi tiết với mỗi sản phẩm thì ký tự X là các ký tự có thể thay đổi bất kỳ (vì thấy có nhiều ký tự X, không rõ quy luật)
 
Lần chỉnh sửa cuối:
Dữ liệu sản phẩm này, ở công ty bạn có Mã sản phẩm không? (Mỗi sản phẩm có một Mã tương ứng với nó).

Xin hỏi thêm thông tin:
Ở sheet Data, cột Tên sản phẩm: Bạn nêu chi tiết với mỗi sản phẩm thì ký tự X là các ký tự có thể thay đổi bất kỳ (vì thấy có nhiều ký tự X, không rõ quy luật)

Cty không có quy định mã sản phẩm, tên hàng chính là Mã Sản phẩm.

Ở sheet Data Tên Sản Phẩm chính là Mã với các ký tự X là có thể thay đổi bất thường.

Ví Dụ : 128X-032S2A-SXXXXXX bên Data khi qua sheet 3 có thể là :

128A-032S2A-S123456
128D-032S2A-SLDF125
128B-032S2A-S2568DA
128S-032S2A-S5689D5

Nhờ anh giúp đỡ thêm !
 
Cty không có quy định mã sản phẩm, tên hàng chính là Mã Sản phẩm.

Ở sheet Data Tên Sản Phẩm chính là Mã với các ký tự X là có thể thay đổi bất thường.

Ví Dụ : 128X-032S2A-SXXXXXX bên Data khi qua sheet 3 có thể là :

128A-032S2A-S123456
128D-032S2A-SLDF125
128B-032S2A-S2568DA
128S-032S2A-S5689D5

Nhờ anh giúp đỡ thêm !


Cái đó nêu ở bài #1 rồi. Đang hỏi cho những loại khác kìa.
Chi tiết với mỗi sản phẩm thì ký tự X nào là ký tự đại diện.
17LE
17JE (có ký tự nào đại diện không?)
17JE-DIP
232D
...
Có trường hợp nào ký tự X lại không phải là ký tự đại diện HAY ký tự X LUÔN LÀ ký tự đại diện.
 
Cty không có quy định mã sản phẩm, tên hàng chính là Mã Sản phẩm.
.....................................
128A-032S2A-S123456
128D-032S2A-SLDF125
128B-032S2A-S2568DA
128S-032S2A-S5689D5
....................................
Chào wtvnphu,

Tôi thấy hình như các ký tự đầu của tên SP, Vd: 128A là mã LINE?
Còn các số màu xanh tôi trích đoạn bên trên hình như là mã SP, phải không bạn?

Bạn có thể giải thích thêm:
1. Các đoạn số phân cách bởi dấu gạch "-" ngang của Tên SP?
2. Có cách nào thống nhất là bao nhiêu ký tự thì sẽ phân biệt được giữa mã SP này với mã SP khác.
3. Hoặc có thể phân biệt mã bằng cách giới hạn bao nhiêu dấu gạch "-" ngang được hay không?

Chúc bạn ngày vui.
 
Chào các anh chị !

Em có 1 file thống kê để tính toán số thùng Inner rất khó khăn.

Ở sheet 3 em cần lấy số lượng tỏng thùng Inner ở sheet Data để tính toán.

Giá trị tìm kiếm là 1 tên hàng cụ thể, còn giá trị tra bên sheet Data là 1 tên sản phẩm chung chung.

Ví dụ : Sheet 3 tên SP là 128X-032S2A-S253LAS
Sheet Data tên SP để tra là : 128X-032S2A-SXXXXXX ( với X là các ký tự có thể thay đổi bất kỳ )

Em đã nghĩ mãi mà không tìm được công thức thích hợp cho trường hợp này.


Nhờ các anh chị bớt chút thời gian chỉ bảo em với.

Cảm ơn các anh chị đã đọc bài viết !
Chưa hiểu lắm nhưng đoán đại
Mã:
=VLOOKUP(SUBSTITUTE(LEFT(SUBSTITUTE(C6,"-",REPT(" ", 100),2),100), " ","")&"-*",Data!$B$5:$C$298,2,0)
Công thức trên gõ tại cell D6
 
Chưa hiểu lắm nhưng đoán đại
Mã:
=VLOOKUP(SUBSTITUTE(LEFT(SUBSTITUTE(C6,"-",REPT(" ", 100),2),100), " ","")&"-*",Data!$B$5:$C$298,2,0)
Công thức trên gõ tại cell D6

Em thử các trường hợp ở bài #3 chưa cho kết quả anh.

57RE-36
57GE-40360 cũng chưa cho kết quả.
 
Cái đó nêu ở bài #1 rồi. Đang hỏi cho những loại khác kìa.
Chi tiết với mỗi sản phẩm thì ký tự X nào là ký tự đại diện.
17LE
17JE (có ký tự nào đại diện không?)
17JE-DIP
232D
...
Có trường hợp nào ký tự X lại không phải là ký tự đại diện HAY ký tự X LUÔN LÀ ký tự đại diện.

17LE
17JE là tên line => chỉ là ghi chú chưa không có tác dụng trong thuật toán tìm kiếm

X luôn luôn là ký tự đại diện, trong tên hàng không sử dụng ký tự X.

Nhờ anh chỉ dẫn thêm !
 
Chào wtvnphu,

Tôi thấy hình như các ký tự đầu của tên SP, Vd: 128A là mã LINE?
Còn các số màu xanh tôi trích đoạn bên trên hình như là mã SP, phải không bạn?

Bạn có thể giải thích thêm:
1. Các đoạn số phân cách bởi dấu gạch "-" ngang của Tên SP?
2. Có cách nào thống nhất là bao nhiêu ký tự thì sẽ phân biệt được giữa mã SP này với mã SP khác.
3. Hoặc có thể phân biệt mã bằng cách giới hạn bao nhiêu dấu gạch "-" ngang được hay không?

Chúc bạn ngày vui.

Chào anh quocgiacan

Đúng như anh nói, 128 hay 17LE là tên line

Giải thích thêm :
1. dấu gạch ngang là quy định trong cách đặt tên hàng, nhất định phải có, khi ra cứu phải dùng đến cả nó.
2. Các dòng sản phẩm rất đa dạng, hiện tại không có quy chuẩn về giới hạn ký tự tên sản phẩm ( nhiều nhất và ít nhất không có kiểm soát ).
3. Số lượng dấu gạch ngang không giống nhau giữa các tên sản phẩm.

Cảm ơn anh đã hồi âm.

Nhờ anh giúp đỡ tiếp !
 
Chào anh quocgiacan

Đúng như anh nói, 128 hay 17LE là tên line

Giải thích thêm :
1. dấu gạch ngang là quy định trong cách đặt tên hàng, nhất định phải có, khi ra cứu phải dùng đến cả nó.
2. Các dòng sản phẩm rất đa dạng, hiện tại không có quy chuẩn về giới hạn ký tự tên sản phẩm ( nhiều nhất và ít nhất không có kiểm soát ).
3. Số lượng dấu gạch ngang không giống nhau giữa các tên sản phẩm.

Cảm ơn anh đã hồi âm.

Nhờ anh giúp đỡ tiếp !
Chào wtvnphu,

Đành rằng biết là không có quy chuẩn về giới hạn ký tự tên SP, nhưng giả dụ như mình có thể phân biệt để tìm mã bằng cách lấy dấu gạch "-" ngang sau cùng làm mốc được hay không? hoặc bạn có gợi ý gì tương tự vậy không?

Nếu không có gì làm mốc thì thật sự tìm "chua" lắm bạn ơi! --=0--=0--=0

Thêm nữa, là truy tìm ra tương ứng, hay còn có cộng nếu có các mã trùng?

-0-/.-0-/.-0-/.
 
Lần chỉnh sửa cuối:
Chưa hiểu lắm nhưng đoán đại
Mã:
=VLOOKUP(SUBSTITUTE(LEFT(SUBSTITUTE(C6,"-",REPT(" ", 100),2),100), " ","")&"-*",Data!$B$5:$C$298,2,0)
Công thức trên gõ tại cell D6

Anh ndu96081631

Cảm ơn anh rất nhiều.

Em đã thử với các mã hàng.

Chỉ bị sai ở các mã ngắn ký tự, ví dụ : 57RE-14, 57RE-24

Tên hàng ở sheet 3 tương ứng có thể là 57RE-14023-DGTH-125DG hoặc 57RE-40140-L63-21D

Nhờ anh giúp đỡ thêm !
 
17LE
17JE là tên line => chỉ là ghi chú chưa không có tác dụng trong thuật toán tìm kiếm

X luôn luôn là ký tự đại diện, trong tên hàng không sử dụng ký tự X.

Nhờ anh chỉ dẫn thêm !


Chào wtvnphu,

Vậy đã rõ điều kiện.
Thấy nhiều thầy vào xem bài thế này chắc sẽ nhanh có đáp án thôi /-*+/
Cho chắc ăn và làm luôn một lượt., bạn có thể gửi file dữ liệu đang làm lên không? Chỉ cần dữ liệu ở 2 cột đầu của 2 sheet.
Chắc có nhiều loại sản phẩm và dữ liệu nhiều nên chọn phương án vba cho khỏe vậy.
 
Anh ndu96081631

Cảm ơn anh rất nhiều.

Em đã thử với các mã hàng.

Chỉ bị sai ở các mã ngắn ký tự, ví dụ : 57RE-14, 57RE-24

Tên hàng ở sheet 3 tương ứng có thể là 57RE-14023-DGTH-125DG hoặc 57RE-40140-L63-21D
gần như làm được, trừ trường hợp tô đỏ ở trên là hoàn toàn không biết quy luật là cái khỉ gì cả
 
Làm "thí thí" bằng VBA.
Thay mấy chữ "X" bên Data thành dấu "?" rồi xét nó bằng Like.
Hổng trúng thì ............ chạy!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PHP:
Public Function GPE_LOOK(Rng As Range, DK As Range)
Dim sArr(), I As Long, Txt As String, Str As String
sArr = Rng.Value
Str = Replace(DK, " ", "")
For I = 1 To UBound(sArr)
    Txt = Replace(sArr(I, 1), "X", "?")
    If Str Like Txt Then
        GPE_LOOK = GPE_LOOK + sArr(I, 2)
    End If
Next I
End Function
PHP:
D6=GPE_LOOK(Data!$B$5:$C$300;C6)
gần như làm được, trừ trường hợp tô đỏ ở trên là hoàn toàn không biết quy luật là cái khỉ gì cả
Hổng có "cái khỉ gì" thì "gáng chịu".
 
Lần chỉnh sửa cuối:
Chào wtvnphu,

Đành rằng biết là không có quy chuẩn về giới hạn ký tự tên SP, nhưng giả dụ như mình có thể phân biệt để tìm mã bằng cách lấy dấu gạch "-" ngang sau cùng làm mốc được hay không? hoặc bạn có gợi ý gì tương tự vậy không?

Nếu không có gì làm mốc thì thật sự tìm "chua" lắm bạn ơi! --=0--=0--=0

Thêm nữa, là truy tìm ra tương ứng, hay còn có cộng nếu có các mã trùng?

-0-/.-0-/.-0-/.

Anh quocgiacan

Em biết là chua lắm, em đã suy nghĩ 2 ngày rồi không được nên đành phải lên diễn đàn nhờ các anh.

Cái dấu gạch này nó tùm lum.

VD :[TABLE="width: 534"]
[TR]
[TD]232D-24P1B-L15X-XX => 3 dấu[/TD]
[/TR]
[TR]
[TD]232D-24P1A-L15XD1(XX) => 2 dấu

Cái sheet Data là dữ liệu copy thì Quy Cách đóng gói sản phẩm

Cái sheet 3 là Tên sản phẩm xuất ra từ hệ thống Xuất hàng.

Chua thật đấy ![/TD]
[/TR]
[/TABLE]
 
Anh quocgiacan
Em biết là chua lắm, em đã suy nghĩ 2 ngày rồi không được nên đành phải lên diễn đàn nhờ các anh.
Cái dấu gạch này nó tùm lum.
.....................
Chào wtvnphu,

Công ty tôi cũng dùng hộp trong (Inner box) và cũng tùy thuộc vào mã Thành phẩm mà có kích thước dùng hộp trong khác nhau, cho nên tôi thông cảm với bạn. /-*+/

Tóm lại, nếu bạn chưa thể tìm ra quy luật (hay quy chuẩn) nào để phân biệt thì bạn khó quản lý.
Ví dụ: Dòng 7, dòng 8 và dòng 10 có các mã:
Dòng7: 17LE-XX250-XX(D2XX)-XX - SL: 150
Dòng8: 17LE-XX250-XX(D94)-XX - SL: 150
Dòng10:17LE-XX250-XX(DXXX)-XX - SL: 200

Các mã này bạn phân làm sao, vd: lấy đến 17LE-XX250-XX thì giống nhau hoàn toàn, và nếu vậy lấy SL là bao nhiêu? 150, 200 hay 500 (cộng 3 cái lại)?

Chờ tin bạn phản hồi.
 
Chào các anh chị !

Em có 1 file thống kê để tính toán số thùng Inner rất khó khăn.

Ở sheet 3 em cần lấy số lượng tỏng thùng Inner ở sheet Data để tính toán.

Giá trị tìm kiếm là 1 tên hàng cụ thể, còn giá trị tra bên sheet Data là 1 tên sản phẩm chung chung.

Ví dụ : Sheet 3 tên SP là 128X-032S2A-S253LAS
Sheet Data tên SP để tra là : 128X-032S2A-SXXXXXX ( với X là các ký tự có thể thay đổi bất kỳ )

Em đã nghĩ mãi mà không tìm được công thức thích hợp cho trường hợp này.


Nhờ các anh chị bớt chút thời gian chỉ bảo em với.

Cảm ơn các anh chị đã đọc bài viết !
Dùng thử lookup kết hợp với countif hoặc macth xem đúng ý bạn không nhe:
Tại H6 bạn dùng CT này:
Mã:
H6=SUBSTITUTE(C6," ","")
Fill xuống!!!
Sau đó tại D6 bạn dùng CT này:
Mã:
=LOOKUP(2,1/COUNTIF(H6,SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*"),Data!$C$5:$C$298)
Hoặc
Mã:
=LOOKUP(2,1/MATCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",H6,),Data!$C$5:$C$298)
Fill xuống
P/s: Countif thì hiểu, nhưng không hiểu sao macth khi thay H6=SUBSTITUTE(C6," ","") thì CT lại báo lỗi nên phải dùng cột phụ!!!
 

File đính kèm

Lần chỉnh sửa cuối:
lookup_array = range hoặc array.

SUBSTITUTE() trả về 1 string (không phải array).
Dùng SUBSTITUTE() cũng là 1 mảng , chẳng hạn =INDEX(SUBSTITUTE({"a1","b1","c1"},"1",""),3)=c và =MATCH("c",SUBSTITUTE({"a1","b1","c1"},"1",""),) =3, nhưng khi em đưa SUBSTITUTE() vào CT trên thì lại báo lỗi!
Hay ví dụ đơn giàn là tại A1="c1"
Nếu dùng
=MATCH("c",SUBSTITUTE({"c1"},"1",""),) thì được, còn dùng=MATCH("c",SUBSTITUTE(A1,"1",""),) hoặc =MATCH("c",SUBSTITUTE("c1","1",""),) thì lỗi!!!
 
Lần chỉnh sửa cuối:
Dùng SUBSTITUTE() cũng là 1 mảng , chẳng hạn =INDEX(SUBSTITUTE({"a1","b1","c1"},"1",""),3)=c và =MATCH("c",SUBSTITUTE({"a1","b1","c1"},"1",""),) =3, nhưng khi em đưa SUBSTITUTE() vào CT trên thì lại báo lỗi!
Hay ví dụ đơn giàn là tại A1="c1"
Nếu dùng
=MATCH("c",SUBSTITUTE({"c1"},"1",""),) thì được, còn dùng=MATCH("c",SUBSTITUTE(A1,"1",""),) hoặc =MATCH("c",SUBSTITUTE("c1","1",""),) thì lỗi!!!

Vậy làm thế nào để SUBSTITUTE() ở bài #18 giống bài #22 đi. Để ý câu 2 ở bài #21.

p/s: Bôi đen đoạn SUBSTITUTE() ở 2 bài rồi F9 và so sánh kết quả sẽ thấy khác nhau mà leoheocon.
 
Vậy làm thế nào để SUBSTITUTE() ở bài #18 giống bài #22 đi. Để ý câu 2 ở bài #21.

p/s: Bôi đen đoạn SUBSTITUTE() ở 2 bài rồi F9 và so sánh kết quả sẽ thấy khác nhau mà leoheocon.
Có lẽ đúng như anh nói, SUBSTITUTE() nếu Range chỉ có 1 phần tử thì nó ra string, nên sử dụng match sẽ lỗi, nếu range >1 phần tử sẽ tạo ra mảng, macth sẽ không lỗi, vậy thì đành chấp nhận, nếu như vậy thì sữa CT bài #18 lại :
Mã:
[/COLOR]=LOOKUP(2,1/MATCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",SUBSTITUTE(B6:C6," ",""),),Data!$C$5:$C$298)[COLOR=#000000]
Ctrl+Shift+Enter!!!!
Countif thì không sửa được vì bắt buộc là Range rồi!!
Thanks anh, em đã biết thêm 1 điều!!!

 

File đính kèm

Có lẽ đúng như anh nói, SUBSTITUTE() nếu Range chỉ có 1 phần tử thì nó ra string, nên sử dụng match sẽ lỗi, nếu range >1 phần tử sẽ tạo ra mảng, macth sẽ không lỗi, vậy thì đành chấp nhận, nếu như vậy thì sữa CT bài #18 lại :
Mã:
=LOOKUP(2,1/MATCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",SUBSTITUTE(B6:C6," ",""),),Data!$C$5:$C$298)

Ctrl+Shift+Enter!!!!
Countif thì không sửa được vì bắt buộc là Range rồi!!
Thanks anh, em đã biết thêm 1 điều!!!

sao không dùng Search thay cho Match
 
sao không dùng Search thay cho Match
Ah, search vẫn có thể tìm mấy kí tự đại diện dang "*", nãy có nghĩ dùng tới Find, Find thì không được, bài này dùng Search là chuẩn nhất rồi, thanks anh!!!
Mã:
=LOOKUP(2,1/SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",SUBSTITUTE(C6," ","")),Data!$C$5:$C$298)
 
Ah, search vẫn có thể tìm mấy kí tự đại diện dang "*", nãy có nghĩ dùng tới Find, Find thì không được, bài này dùng Search là chuẩn nhất rồi, thanks anh!!!
Mã:
=LOOKUP(2,1/SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",SUBSTITUTE(C6," ","")),Data!$C$5:$C$298)
Sao anh dùng công thức của em cho các mã mà anh hỏi bài #17 thì nó ra kết quả sao sao -0-/.-0-/.-0-/.
Dán mã dưới vào Sheet3:
17LE-XX250-XX(D2XX)-XX ----> nó ra SL: 200 ??
17LE-XX250-XX(D94)-XX ---->nó cũng ra: 200 ??

Nó phải ra 150 chứ phải không?

Khà khà khà! lại phải chờ chủ topic đưa thêm những yếu tố phân biệt cho mã "Inner" mới lấy chính xác hơn.

Chúc anh em ngày vui. /-*+//-*+//-*+/
 

File đính kèm

Sao anh dùng công thức của em cho các mã mà anh hỏi bài #17 thì nó ra kết quả sao sao -0-/.-0-/.-0-/.
Dán mã dưới vào Sheet3:
17LE-XX250-XX(D2XX)-XX ----> nó ra SL: 200 ??
17LE-XX250-XX(D94)-XX ---->nó cũng ra: 200 ??

Nó phải ra 150 chứ phải không?

Khà khà khà! lại phải chờ chủ topic đưa thêm những yếu tố phân biệt cho mã "Inner" mới lấy chính xác hơn.

Chúc anh em ngày vui. /-*+//-*+//-*+/
Điều kiện em nghĩ là đủ rồi, mình làm chưa hết trường hợp thôi!!!
Nếu dữ liệu đã sắp xếp theo dạng ưu tiên như vậy thì dùng index thôi anh, lần này chắc cuối cùng rồi:
Mã:
D6=INDEX(Data!$C$5:$C$298,MATCH(2,MMULT(IFERROR(SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-",{"*-*","-*"})&"*",SUBSTITUTE(C6," ","")),0),{1;1}),))
Ctrl+Shift+Enter rồi fill xuống!!!
 

File đính kèm

Lần chỉnh sửa cuối:
Điều kiện em nghĩ là đủ rồi, mình làm chưa hết trường hợp thôi!!!
Nếu dữ liệu đã sắp xếp theo dạng ưu tiên như vậy thì dùng index thôi anh, lần này chắc cuối cùng rồi:
Mã:
D6=INDEX(Data!$C$5:$C$298,MATCH(2,MMULT(IFERROR(SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-",{"*-*","-*"})&"*",SUBSTITUTE(C6," ","")),0),{1;1}),))
Ctrl+Shift+Enter rồi fill xuống!!!
mình thấy không thể dùng công thức được, đây là nhiệm vụ bất khả thi. Ai làm được mình mời chầu cà phê ở Sài gòn
 

File đính kèm

Bị sai chỗ nào vậy anh!!!
chưa phân biệt được các tên sp khác nhau
[TABLE="width: 370"]
[TR]
[TD]Tên sản phẩm
品名[/TD]
[TD]Số lượng
sản phẩm / hộp
製品数/箱[/TD]
[/TR]
[TR]
[TD]128X-032S2A-S253LAS[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]17JE - 13090 - 02 (D1)A[/TD]
[TD="align: right"]139[/TD]
[/TR]
[TR]
[TD]128A-032S2A-S123456[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128D-032S2A-SLDF125[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128B-032S2A-S2568DA[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128S-032S2A-S5689D5[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]57RE-36[/TD]
[TD="align: right"]206[/TD]
[/TR]
[TR]
[TD]57GE-40360[/TD]
[TD="align: right"]208[/TD]
[/TR]
[TR]
[TD]57RE-14023-DGTH-125DG[/TD]
[TD="align: right"]204[/TD]
[/TR]
[TR]
[TD]57RE-40140-L63-21D[/TD]
[TD="align: right"]204[/TD]
[/TR]
[/TABLE]
 
chưa phân biệt được các tên sp khác nhau
[TABLE="width: 370"]
[TR]
[TD]Tên sản phẩm
品名[/TD]
[TD]Số lượng
sản phẩm / hộp
製品数/箱[/TD]
[/TR]
[TR]
[TD]128X-032S2A-S253LAS[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]17JE - 13090 - 02 (D1)A[/TD]
[TD="align: right"]139[/TD]
[/TR]
[TR]
[TD]128A-032S2A-S123456[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128D-032S2A-SLDF125[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128B-032S2A-S2568DA[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]128S-032S2A-S5689D5[/TD]
[TD="align: right"]16[/TD]
[/TR]
[TR]
[TD]57RE-36[/TD]
[TD="align: right"]206[/TD]
[/TR]
[TR]
[TD]57GE-40360[/TD]
[TD="align: right"]208[/TD]
[/TR]
[TR]
[TD]57RE-14023-DGTH-125DG[/TD]
[TD="align: right"]204[/TD]
[/TR]
[TR]
[TD]57RE-40140-L63-21D[/TD]
[TD="align: right"]204[/TD]
[/TR]
[/TABLE]
Mấy chỗ anh tô màu đỏ là 1 mà, ví dụ mấy sản phẩm=16 có mã chung là 128X-032S2A-SXXXXXX bên sheet Data!!!
 
Chào wtvnphu,

Công ty tôi cũng dùng hộp trong (Inner box) và cũng tùy thuộc vào mã Thành phẩm mà có kích thước dùng hộp trong khác nhau, cho nên tôi thông cảm với bạn. /-*+/

Tóm lại, nếu bạn chưa thể tìm ra quy luật (hay quy chuẩn) nào để phân biệt thì bạn khó quản lý.
Ví dụ: Dòng 7, dòng 8 và dòng 10 có các mã:
Dòng7: 17LE-XX250-XX(D2XX)-XX - SL: 150
Dòng8: 17LE-XX250-XX(D94)-XX - SL: 150
Dòng10:17LE-XX250-XX(DXXX)-XX - SL: 200

Các mã này bạn phân làm sao, vd: lấy đến 17LE-XX250-XX thì giống nhau hoàn toàn, và nếu vậy lấy SL là bao nhiêu? 150, 200 hay 500 (cộng 3 cái lại)?

Chờ tin bạn phản hồi.

Anh quocgiacan

Dòng7, 8, 10 đó thì tên sản phẩm nào lấy số lượng Inner đó.

3 dòng trên giống nhau tên line ( 17LE ) và số loại ( 250 ), nhưng khác nhau về quy cách cấu tạo con hàng ( D2XX, D94, DXXX ) nên số lượng Inner sẽ khác nhau anh à.
 
Ah, search vẫn có thể tìm mấy kí tự đại diện dang "*", nãy có nghĩ dùng tới Find, Find thì không được, bài này dùng Search là chuẩn nhất rồi, thanks anh!!!
Mã:
=LOOKUP(2,1/SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-","*-*")&"*",SUBSTITUTE(C6," ","")),Data!$C$5:$C$298)

Anh Leoheocon

Cảm ơn anh đã hỗ trợ.

Hiện tại em làm theo ý anh nhưng vẫn còn 1 chổ không ra kết quả đúng, em đã tô màu vàng vị trí 2 mã sản phẩm mà CT hiểu nhầm nhau.

Anh kiểm tra xem thế nào nha.
 

File đính kèm

Anh quocgiacan

Dòng7, 8, 10 đó thì tên sản phẩm nào lấy số lượng Inner đó.

3 dòng trên giống nhau tên line ( 17LE ) và số loại ( 250 ), nhưng khác nhau về quy cách cấu tạo con hàng ( D2XX, D94, DXXX ) nên số lượng Inner sẽ khác nhau anh à.
Chào wtvnphu,

Thôi tiêu rồi bạn ơi! -+*/
Bạn trả lời là: Ba mã đó giống nhau khúc đầu, còn khác nhau khúc "cấu tạo con hàng" nên là ba mã khác nhau hoàn toàn, phải lấy SL theo chi tiết theo mã đó, thì mọi công sức của anh em phía trên đều "đỗ sông đỗ biển" hết rồi, hic hic !$@!!!$@!!!$@!!

Bó tay chấm cơm rồi bạn ơi! --=0

Để có thể tách bạch được, chỉ có cách DUY NHẤT là bạn phải thiết kế hệ thống mã SP sao cho khoa học, ngoài ra không thể nào đưa giải pháp tốt nhất để phân chính xác với dữ liệu bạn đưa trong chủ đề, hễ nó đúng được mã này thì lại sai mã khác thôi, không thể chính xác 100% cho bạn.

Thật sự, anh em rất muốn giúp bạn nhưng đã ngoài tầm với, cũng mong bạn thông cảm.

Chúc bạn cuối tuần vui và bình an.
 
Anh Leoheocon

Cảm ơn anh đã hỗ trợ.

Hiện tại em làm theo ý anh nhưng vẫn còn 1 chổ không ra kết quả đúng, em đã tô màu vàng vị trí 2 mã sản phẩm mà CT hiểu nhầm nhau.

Anh kiểm tra xem thế nào nha.
Bạn xem thử bài #28 nhe, không đúng nữa mình bó tay!!!!
 
Chào wtvnphu,

Thôi tiêu rồi bạn ơi! -+*/
Bạn trả lời là: Ba mã đó giống nhau khúc đầu, còn khác nhau khúc "cấu tạo con hàng" nên là ba mã khác nhau hoàn toàn, phải lấy SL theo chi tiết theo mã đó, thì mọi công sức của anh em phía trên đều "đỗ sông đỗ biển" hết rồi, hic hic !$@!!!$@!!!$@!!

Bó tay chấm cơm rồi bạn ơi! --=0

Để có thể tách bạch được, chỉ có cách DUY NHẤT là bạn phải thiết kế hệ thống mã SP sao cho khoa học, ngoài ra không thể nào đưa giải pháp tốt nhất để phân chính xác với dữ liệu bạn đưa trong chủ đề, hễ nó đúng được mã này thì lại sai mã khác thôi, không thể chính xác 100% cho bạn.

Thật sự, anh em rất muốn giúp bạn nhưng đã ngoài tầm với, cũng mong bạn thông cảm.

Chúc bạn cuối tuần vui và bình an.

Cảm ơn anh và mọi người đã tận tình giúp đỡ !

Cái mã sản phẩm đó là do Khách hàng đưa ra trong bản vẽ yêu cầu cấu tạo.

Cty em không thể thay đổi, và hơn nữa hệ thống trong tập đoàn cũng sử dụng, cá nhân cty em không thể tự ý quy định mã khác trong hệ thống.

Nếu đã vậy thì đành chịu.

Một lần nữa cảm ơn tất cả anh em đã nhiệt tình giúp đỡ !
 
Điều kiện em nghĩ là đủ rồi, mình làm chưa hết trường hợp thôi!!!
Nếu dữ liệu đã sắp xếp theo dạng ưu tiên như vậy thì dùng index thôi anh, lần này chắc cuối cùng rồi:
Mã:
D6=INDEX(Data!$C$5:$C$298,MATCH(2,MMULT(IFERROR(SEARCH(SUBSTITUTE(SUBSTITUTE(Data!$B$5:$B$298,"X","*"),"-",{"*-*","-*"})&"*",SUBSTITUTE(C6," ","")),0),{1;1}),))
Ctrl+Shift+Enter rồi fill xuống!!!

Trời ơi, OK rồi.

Cảm ơn anh nhiều nhiều nha.

Vậy là sáng mai đến công ty khỏi ngồi vò đầu rồi.

Cảm ơn anh và mọi người nhiều nhiều !!!
 

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

Back
Top Bottom