Lây dữ liệu từ một danh sách

  • Thread starter Thread starter hocham
  • Ngày gửi Ngày gửi
Liên hệ QC

hocham

Thành viên chính thức
Tham gia
29/6/09
Bài viết
59
Được thích
8
Em muốn lấy số cont ra một cột và số seal ra một cột.
Nó có cái khó là số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nhờ các anh chị chỉ giúp em. Em gởi file đính kèm
cám ơn !





Càng học càng thấy mình ngu
 

File đính kèm

Em muốn lấy số cont ra một cột và số seal ra một cột.
Nó có cái khó là số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nhờ các anh chị chỉ giúp em. Em gởi file đính kèm
cám ơn !





Càng học càng thấy mình ngu
Bạn dùng CT dưới:

Số Cont
Mã:
=LEFT(B3;12)
Số Seal
Mã:
=MID(B3;FIND("/";B3)+1;LEN(B3))
 
Trong file bạn ấy nói số công trước dấu gạch chéo, còn kẹp chì thì sau mà Bác.
Vì tác giả có nói thêm câu này nè:
số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nếu lấy cả số lẩn chữ tại sao lại nói vậy? Lý ra phải nói số seal là TEXT nằm sau dấu / chứ
 
Em muốn lấy số cont ra một cột và số seal ra một cột.
Nó có cái khó là số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nhờ các anh chị chỉ giúp em. Em gởi file đính kèm
cám ơn !
Lấy số Cont
PHP:
C4=TRIM(LEFT(SUBSTITUTE(B3,"/",REPT(" ",50)),20))
Lấy số Seal
PHP:
D4=TRIM(RIGHT(SUBSTITUTE(B3,"/",REPT(" ",50)),20))
 
em muốn lấy số cont ra một cột và số seal ra một cột.
Nó có cái khó là số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nhờ các anh chị chỉ giúp em. Em gởi file đính kèm
cám ơn !

không biết tôi làm như vầy có đúng theo ý của bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Trời, tới khi mình làm ra xong là các bác đã "gạo nấu thành cơm". Quá khâm phục!
 
Nhân đây xin hỏi các bác công thức về tìm vị trí xuất hiện (đầu tiên, thứ 2, thứ 3) của 1 ký tự cụ thể trong 1 chuỗi bất kỳ thì dùng công thức nào.
Trong ví dụ trên, cần xác định dấu "/" nằm tại vị trí thứ bao nhiêu của chuỗi. Từ đó sẽ xác định được cần lấy bên trái/phải phải tính từ vị trí nào vì chuỗi không có quy luật và vị trí dấu "/" là bất kỳ
 
cam on anh nhieu
nhung con van de lay du lieu theo o e4
Có gì đâu bạn, thêm Vlookup vào là được
PHP:
F4=TRIM(LEFT(SUBSTITUTE(VLOOKUP(E4,A3:B11,2,0),"/",REPT(" ",50)),20))
PHP:
G4=TRIM(RIGHT(SUBSTITUTE(VLOOKUP(E4,A3:B11,2,0),"/",REPT(" ",50)),20))

Bạn nhớ ghi chữ có dấu nha.
 
Nhân đây xin hỏi các bác công thức về tìm vị trí xuất hiện (đầu tiên, thứ 2, thứ 3) của 1 ký tự cụ thể trong 1 chuỗi bất kỳ thì dùng công thức nào.
Trong ví dụ trên, cần xác định dấu "/" nằm tại vị trí thứ bao nhiêu của chuỗi. Từ đó sẽ xác định được cần lấy bên trái/phải phải tính từ vị trí nào vì chuỗi không có quy luật và vị trí dấu "/" là bất kỳ

Bạn nghiên cứu hàm Find và Search nha.
VD :

FIND("a","AaBb")=2 => Có phân biệt chữ hoa
SEARCH("a","AaBb")=1 => Không phân biệt chữ hoa và chữ thường
 
Nhân đây xin hỏi các bác công thức về tìm vị trí xuất hiện (đầu tiên, thứ 2, thứ 3) của 1 ký tự cụ thể trong 1 chuỗi bất kỳ thì dùng công thức nào.
Trong ví dụ trên, cần xác định dấu "/" nằm tại vị trí thứ bao nhiêu của chuỗi. Từ đó sẽ xác định được cần lấy bên trái/phải phải tính từ vị trí nào vì chuỗi không có quy luật và vị trí dấu "/" là bất kỳ

Hỏi hay lắm, nếu như xác định quy luật của một vế, thì sẽ xác định được quy luật thứ 2.
Ý bạn hay ở chỗ là nếu không dùng ký hiệu "/" hoặc dùng ký hiệu phân cách khác như "-", "&" v.v... thì sao phải không? Chủ yếu chúng ta xác định được tổng số ký tự ở vế ban đầu là bao nhiêu và các ký tự phân cách là bao nhiêu thì sẽ xác định được vế thứ 2.
 
Em muốn lấy số cont ra một cột và số seal ra một cột.
Nó có cái khó là số cont thì gồm(4chữ cái va 7 số) còn số seal thì lộn xộn không theo qui tắc nào.
Nhờ các anh chị chỉ giúp em. Em gởi file đính kèm
cám ơn !





Càng học càng thấy mình ngu
Công thức ô F4
Mã:
=LEFT(VLOOKUP(E4,A3:B11,2,),12)
Công thức ô G4
Mã:
=SUBSTITUTE(VLOOKUP(E4,A3:B11,2,),F4&" /"&CHAR(10),"")
 
Hỏi hay lắm, nếu như xác định quy luật của một vế, thì sẽ xác định được quy luật thứ 2.
Ý bạn hay ở chỗ là nếu không dùng ký hiệu "/" hoặc dùng ký hiệu phân cách khác như "-", "&" v.v... thì sao phải không? Chủ yếu chúng ta xác định được tổng số ký tự ở vế ban đầu là bao nhiêu và các ký tự phân cách là bao nhiêu thì sẽ xác định được vế thứ 2.

Theo công thức của mình ở trên thì không cần thiết, hơn nữa là nếu Số Cont có nhiều hơn 7 hay ít hơn đi nữa thì cũng vẫn đúng nếu như ta chọn con số tách vế (ở trên mình cho 50) đủ lớn.
 
Theo công thức của mình ở trên thì không cần thiết, hơn nữa là nếu Số Cont có nhiều hơn 7 hay ít hơn đi nữa thì cũng vẫn đúng nếu như ta chọn con số tách vế (ở trên mình cho 50) đủ lớn.

Bạn thử dùng công thức của bạn và đổi MSCU 7781679 / 743657TR thành MSCU 7781679 & 743657TR xem sao?
Kết quả thế nào nhỉ? Như vầy nè bạn: 7781679 & 743657TR
 
ai có thể giúp mình giải thích ý nghĩa của chuỗi hàm sau với, thanks
iF(ISNA(VLOOKUP($B$5&"-"&ROW()-8,Data!$A$3:$Q$9755,Data!$I$1,0)),"",TRIM(LEFT(VLOOKUP($B$5&"-"&ROW()-8,Data!$A$3:$Q$9755,Data!$I$1,0),FIND("_",VLOOKUP($B$5&"-"&ROW()-8,Data!$A$3:$Q$9755,Data!$I$1,0))-1)))
 
Hỏi hay lắm, nếu như xác định quy luật của một vế, thì sẽ xác định được quy luật thứ 2.
Ý bạn hay ở chỗ là nếu không dùng ký hiệu "/" hoặc dùng ký hiệu phân cách khác như "-", "&" v.v... thì sao phải không? Chủ yếu chúng ta xác định được tổng số ký tự ở vế ban đầu là bao nhiêu và các ký tự phân cách là bao nhiêu thì sẽ xác định được vế thứ 2.

Thực ra tôi muốn hỏi một công thức tổng hợp hơn . Qua đấy tôi và nhiều người khác biết được tính tổng hợp của công thức thì vận dụng càng linh hoạt.
Trong bài toán trên, ví dụ mã cả 2 nhóm là một chuỗi bất kỳ có độ dài bất kỳ. Giữa 2 nhóm được cách nhau bởi dấu "/" hoặc một ký tự đặc biệt nào đó không thuộc mã nhóm.
Lúc đó công thức sẽ là :
1- Số Cont : =LEFT(B3,FIND("/",B3,1)-1)
2- Số Seal : =RIGHT(B3,LEN(B3)-FIND("/",B3,1))
Ý tôi muốn hỏi là qua 1 ví dụ cụ thể để tìm hiểu công thức một cách tổng quát
Xin mở rộng thêm : Nếu trong chuỗi cần tách có nhiều hơn 2 nhóm, giữa các nhóm phân cách nhau bằng 1 ký tự đặc biệt nào đó không nằm trong chuỗi mã của các nhóm thì làm thế nào. Chính vì thế phần trên tôi có hỏi: Nếu trong ô B3 có 2 dấu "/" thì dùng công thức nào để xác định vị trí của dấu "/" thứ 2.
 
Bạn thử dùng công thức của bạn và đổi MSCU 7781679 / 743657TR thành MSCU 7781679 & 743657TR xem sao?
Kết quả thế nào nhỉ? Như vầy nè bạn: 7781679 & 743657TR
Bạn phải linh hoạt một tí chứ, nếu dùng "&" trong dữ liệu thì trong công thức cũng phải sửa lại thành "&" chứ nhỉ
=TRIM(LEFT(SUBSTITUTE(B3,"&",REPT(" ",50)),20))
 
Bạn phải linh hoạt một tí chứ, nếu dùng "&" trong dữ liệu thì trong công thức cũng phải sửa lại thành "&" chứ nhỉ

Chính vì sự linh hoạt nên tôi mới làm công thức ở bài gởi lần 2 (số seal mới) công thức như sau cho dù bạn muốn dùng ký tự đặt biệt gì để làm dấu phân cách cũng không sao, miễn là ở vế đầu vẫn có cấu trúc tổng chiều dài của các ký tự, các khoảng trắng, ký tự đặc biệt vẫn là 15
Mã:
=RIGHT(B3,LEN(B3)-15)
Hoặc:
=RIGHT(VLOOKUP(E4,$A$3:$B$11,2,0),LEN(VLOOKUP(E4,$A$3:$B$11,2,0))-15)

onglao_danhca đã viết:
Xin mở rộng thêm : Nếu trong chuỗi cần tách có nhiều hơn 2 nhóm, giữa các nhóm phân cách nhau bằng 1 ký tự đặc biệt nào đó không nằm trong chuỗi mã của các nhóm thì làm thế nào. Chính vì thế phần trên tôi có hỏi: Nếu trong ô B3 có 2 dấu "/" thì dùng công thức nào để xác định vị trí của dấu "/" thứ 2.

Cái gì nó cũng có quy luật của nó, chúng ta muốn làm điều gì phải nghĩ đến quy luật của nó trước rồi mới lập công thức, còn không thì loại trừ dần những khả năng có thể xảy ra.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom