Nhờ các bạn gỡ rối công thức Vlookup tham chiếu đến Cell bắt đầu bằng số 0

Liên hệ QC

estudyvn

Thành viên mới
Tham gia
16/4/13
Bài viết
13
Được thích
0
Chào các bạn.

Mình gặp chút rắc rồi như sau:

1.jpg

mình dùng máy bắn mã vạch quét dữ liệu trong cột C. dữ liệu quét trùng với dữ liệu trong vùng tham chiếu thì trả về thông tin tương ứng. nhưng với các mã vạch bắt đầu bằng 1 số khác 0 thì kg có vấn đề j, những số bắt đầu với số 0 thì excel tự động bỏ số 0 đầu dẫn đến tham chiếu sai. Nhờ các bạn giúp mình sửa công thức với ạ.

Dưới đây mình gửi file đính kèm.

cảm ơn các bạn.
 

File đính kèm

Chào các bạn.
Mình gặp chút rắc rồi như sau:
mình dùng máy bắn mã vạch quét dữ liệu trong cột C. dữ liệu quét trùng với dữ liệu trong vùng tham chiếu thì trả về thông tin tương ứng. nhưng với các mã vạch bắt đầu bằng 1 số khác 0 thì kg có vấn đề j, những số bắt đầu với số 0 thì excel tự động bỏ số 0 đầu dẫn đến tham chiếu sai. Nhờ các bạn giúp mình sửa công thức với ạ.
Dưới đây mình gửi file đính kèm.
cảm ơn các bạn.
công thức ô E3, nhập tương tự cho các cột còn lại
Mã:
=IFERROR(VLOOKUP("*"&$C3,TTK!$C$3:$T$39999,3,0),"")
 
công thức ô E3, nhập tương tự cho các cột còn lại
Mã:
=IFERROR(VLOOKUP("*"&$C3,TTK!$C$3:$T$39999,3,0),"")
Cách này hơi nguy hiểm, nếu ô C6 sheet TTK mà là 161214250935 thì sai ngay.

Theo tôi trong trường hợp này nên giải quyết vấn đề từ cái gốc, tức là đưa dữ liệu về đúng chuẩn. Cụ thể là giữ các số 0 đầu dãy số của cột C sheet CHECK bằng cách định dạng cột C sheet CHECK là text trước khi dùng máy quét mã vạch. Bạn chủ topic thử xem.
 
Cách này hơi nguy hiểm, nếu ô C6 sheet TTK mà là 161214250935 thì sai ngay.

Theo tôi trong trường hợp này nên giải quyết vấn đề từ cái gốc, tức là đưa dữ liệu về đúng chuẩn. Cụ thể là giữ các số 0 đầu dãy số của cột C sheet CHECK bằng cách định dạng cột C sheet CHECK là text trước khi dùng máy quét mã vạch. Bạn chủ topic thử xem.

Cách của bạn HieuCD thì đã hoạt động nhưng mắc lỗi
1. với sheet TTK dữ liệu trả về đúng, nhưng những dòng khác dù chưa bắn vẫn trả về dữ liệu tham chiếu.
2. Đúng như bạn huuthang_bd nói.
3. mình chuyển vùng tham chiếu sang 1 file khác, khoảng 20.000 dòng dữ liệu thì vẫn trả về tương tự như trường hợp trên.


Như bạn huuthang_bd thì mình có chuẩn hóa dữ liệu từ 2 sheet rồi, vấn đề mình gặp lại là: với các mã vạch bắt đầu = 0 hoạt động chuẩn, nhưng các mã vạch bắt đầu khác với 0 thì lại kg hoạt động.

bạn HieuCd có thể xem hộ mình thêm 1 chút kg?
 
Cách này hơi nguy hiểm, nếu ô C6 sheet TTK mà là 161214250935 thì sai ngay.

Theo tôi trong trường hợp này nên giải quyết vấn đề từ cái gốc, tức là đưa dữ liệu về đúng chuẩn. Cụ thể là giữ các số 0 đầu dãy số của cột C sheet CHECK bằng cách định dạng cột C sheet CHECK là text trước khi dùng máy quét mã vạch. Bạn chủ topic thử xem.
chỉnh lại công thức giải quyết tạm thời
Mã:
=IF(COUNTIF(TTK!$C$3:$T$39999,"*"&$C3)=1,VLOOKUP("*"&$C3,TTK!$C$3:$T$39999,3,0),"")
còn muốn giải quyết triệt để thì phải can thiệp vào việc nhập dữ liệu vào file Excel theo nhiều cách
 
Cách của bạn HieuCD thì đã hoạt động nhưng mắc lỗi
1. với sheet TTK dữ liệu trả về đúng, nhưng những dòng khác dù chưa bắn vẫn trả về dữ liệu tham chiếu.
2. Đúng như bạn huuthang_bd nói.
3. mình chuyển vùng tham chiếu sang 1 file khác, khoảng 20.000 dòng dữ liệu thì vẫn trả về tương tự như trường hợp trên.


Như bạn huuthang_bd thì mình có chuẩn hóa dữ liệu từ 2 sheet rồi, vấn đề mình gặp lại là: với các mã vạch bắt đầu = 0 hoạt động chuẩn, nhưng các mã vạch bắt đầu khác với 0 thì lại kg hoạt động.

bạn HieuCd có thể xem hộ mình thêm 1 chút kg?
Bạn dùng thử CT này xem:
HTML:
E3=VLOOKUP(--C3,IFERROR(--TTK!$C$3:$T$39999,TTK!$C$3:$T$39999),3,0)
Ctrl+Shift+Enter rồi fill xuống!!!!
 
Bạn dùng thử CT này xem:
HTML:
E3=VLOOKUP(--C3,IFERROR(--TTK!$C$3:$T$39999,TTK!$C$3:$T$39999),3,0)
Ctrl+Shift+Enter rồi fill xuống!!!!
Cách này thì dính công thức mảng, vài chục ngàn dòng thì hơi phê.

Như bạn huuthang_bd thì mình có chuẩn hóa dữ liệu từ 2 sheet rồi, vấn đề mình gặp lại là: với các mã vạch bắt đầu = 0 hoạt động chuẩn, nhưng các mã vạch bắt đầu khác với 0 thì lại kg hoạt động.
Cái này thì giải quyết dễ mà.
Mã:
=IFERROR(IFERROR(VLOOKUP(C3,TTK!$C$3:$T$39999,3,0),VLOOKUP(--C3,TTK!$C$3:$T$39999,3,0)),"")
 
Cảm ơn 2 bạn đã giúp đỡ, đúng là phần nhập liệu có vấn đề mà mình cần phải chuẩn hóa lại. Hiện bên mình căn cứ dữ liệu của đối tác gửi nên chưa có 1 form chuẩn nào. Hiện công thức của 2 bạn giúp đỡ mình đã giúp mình giải quyết dc bài toán hiện tại.

Phần chuẩn hóa dữ liệu nhập vào, các bạn giúp mình 1 vài gợi ý với nhé.
 
Cách này thì dính công thức mảng, vài chục ngàn dòng thì hơi phê.
Cái này thì giải quyết dễ mà.
Mã:
=IFERROR(IFERROR(VLOOKUP(C3,TTK!$C$3:$T$39999,3,0),VLOOKUP(--C3,TTK!$C$3:$T$39999,3,0)),"")
bạn xem lại, công thức chưa giải quyết được vấn đế, nó bỏ qua các số chứng từ mất các số "0" ở đầu
 
công thức của huuthang_bd hoạt động khi mình chuyển dữ liệu của cột chứng từ về text hết. nhưng thỉnh thoảng vẫn lỗi. còn của HieuCD thì nhận các đơn có số ct bắt đầu với 0. thì lại bị lỗi với các sct bắt đầu = 305 và 1001. tạm thời thì ổn rồi. mình kg đủ nội lực để chuẩn hóa dữ liệu nhập vào, hiện giờ mình tạo 1 cái form chuyển đổi từ dữ liệu đối tác gửi cho bên mình. ví dụ cột số chứng từ của đối tác là cột G, mình phải đưa về cột C.
 
Cảm ơn 2 bạn đã giúp đỡ, đúng là phần nhập liệu có vấn đề mà mình cần phải chuẩn hóa lại. Hiện bên mình căn cứ dữ liệu của đối tác gửi nên chưa có 1 form chuẩn nào. Hiện công thức của 2 bạn giúp đỡ mình đã giúp mình giải quyết dc bài toán hiện tại.

Phần chuẩn hóa dữ liệu nhập vào, các bạn giúp mình 1 vài gợi ý với nhé.
không biết cách bạn đưa dữ liệu vào file Excel nên không thể nói chính xác được,
nếu lấy dữ liệu có từ nguồn khác mình thường dùng cách đơn giản
=""&số chứng từ
nó sẽ trả về giá trị dạng Text với đầy đủ số 0 ở đầu
nếu dùng hàm Excel định dạng Text thì kết hợp với hàm Len, ví dụ ô C23 là số chứng từ
=TEXT(C23,REPT("0",LEN(C23)))
 
không biết cách bạn đưa dữ liệu vào file Excel nên không thể nói chính xác được,
nếu lấy dữ liệu có từ nguồn khác mình thường dùng cách đơn giản
=""&số chứng từ
nó sẽ trả về giá trị dạng Text với đầy đủ số 0 ở đầu
nếu dùng hàm Excel định dạng Text thì kết hợp với hàm Len, ví dụ ô C23 là số chứng từ
=TEXT(C23,REPT("0",LEN(C23)))

Cảm ơn HieuCD, về cơ bản thì mình nhập dữ liệu cũng gần giống như bạn nói. đối tác với mã chứng từ bắt đầu = số 0 bình thường họ xuất dữ liệu từ phần mềm, đôi khi họ bổ sung = cách gõ tay nên số 0 bắt đầu kg dc chuẩn. có lẽ sự bổ sung của cái hàm
=TEXT(C23,REPT("0",LEN(C23)))
bạn viêt là cần thiết và đủ để sau này dữ liệu bên mình chuẩn hơn.
 
công thức của huuthang_bd hoạt động khi mình chuyển dữ liệu của cột chứng từ về text hết. nhưng thỉnh thoảng vẫn lỗi. còn của HieuCD thì nhận các đơn có số ct bắt đầu với 0. thì lại bị lỗi với các sct bắt đầu = 305 và 1001. tạm thời thì ổn rồi. mình kg đủ nội lực để chuẩn hóa dữ liệu nhập vào, hiện giờ mình tạo 1 cái form chuyển đổi từ dữ liệu đối tác gửi cho bên mình. ví dụ cột số chứng từ của đối tác là cột G, mình phải đưa về cột C.
Vậy thì bạn thử công thức mới xem sao
Mã:
=IF(COUNTIF(TTK!$C$3:$T$39999,"*"&$C3)=1,VLOOKUP("*"&$C3,TTK!$C$3:$T$39999,3,0),IFERROR(VLOOKUP($C3,TTK!$C$3:$T$39999,3,0),""))
bạn nên đưa dữ liệu tương đối đầy dủ mới có thể giải quyết chính xác theo yêu cầu của bạn được
 
Web KT

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

Back
Top Bottom