Hỏi công thức chuyển từ chữ cái về ngày

Liên hệ QC

nguyenminhtien1991

Thành viên mới
Tham gia
11/10/13
Bài viết
3
Được thích
0
Công việc của em hiện tại phải làm việc với các mã code nguyên liệu.
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Xin cảm ơn
 

File đính kèm

  • Screenshot_20190118-062706_Excel.jpg
    Screenshot_20190118-062706_Excel.jpg
    348.7 KB · Đọc: 9
Lần chỉnh sửa cuối:
Nhiều cách nhưng phải biết chữ nào tương ứng với số nào chứ nhể. Ví dụ 10 là A, 11 là B thì ngày 31 có phải là chữ V không nhể.
 
Công việc của em hiện tại phải làm việc với các mã code nguyên liệu.
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Xin cảm ơn
Lập 1 bảng tra rồi dùng các hàm tìm kiếm để giải quyết
 
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Trong excel có hàm code(), công thức =code("A") cho kết quả là 65. vậy muốn giá trị là 10 chỉ cần trừ 55
Ví dụ A1 chứa ký tự cần chuyển, B1 bạn nhập công thức:
=CODE(A1)-55
Lưu ý: công thức chỉ đúng khi ký tự từ A->Z
 
Công việc của em hiện tại phải làm việc với các mã code nguyên liệu.
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Xin cảm ơn
Góp ý cho bạn:
Nên đính kèm File và nêu cụ thể code nguyên liệu ở cột nào của sheet nào? chuyển đổi từ các chữ cái đó về ngày thì chuyển ở đâu? phải có nơi cụ thể chứ nêu khơi khơi như bài 1 người giúp biết đâu mà lần.
 
Trong excel có hàm code(), công thức =code("A") cho kết quả là 65. vậy muốn giá trị là 10 chỉ cần trừ 55
Ví dụ A1 chứa ký tự cần chuyển, B1 bạn nhập công thức:
=CODE(A1)-55
Lưu ý: công thức chỉ đúng khi ký tự từ A->Z
Code không giải quyết được 1-9
Bạn cần Mod cho 65, cộng 10, và Mod 58. Đại khái vậy, cũng có thể còn công thức giản dị hơn nhưng tôi chưa biết.

Chú: Đôi khi, vì cần giới hạn code trong vòng 1 ký tự mà người ta phải dùng chữ cái để thể hiện các ngày lớn hơn 9. Cách này hơi kỳ cục những nó giải quyết được điều kiện 1 ký tự và điều kiện sắp xếp.
 
Công việc của em hiện tại phải làm việc với các mã code nguyên liệu.
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Xin cảm ơn
Dùng hàm IF
=IF(A1<10,A1,CODE(A1)-55)
 
Dùng hàm IF
=IF(A1<10,A1,CODE(A1)-55)
Nếu A1 chỉ vỏn vẹn có 1 ký tự (hoặc rất dễ lấy ra ký tự) thì dùng hàm IF là đơn giản nhất.
Ở trên, tôi muốn đề cập phương pháp tổng quát cho trường hợp A1 là một chuỗi, và cần dùng hàm gì đó để lấy ra ký tự. Mục đích chính là chỉ lấy 1 lần.
Như đã nêu ở trên, có thể còn cách gọn đẹp hơn nhưng tôi lười tìm hiểu thêm. Nếu bạn có thì giờ thì thử tìm.
 
Nếu A1 chỉ vỏn vẹn có 1 ký tự (hoặc rất dễ lấy ra ký tự) thì dùng hàm IF là đơn giản nhất.
Ở trên, tôi muốn đề cập phương pháp tổng quát cho trường hợp A1 là một chuỗi, và cần dùng hàm gì đó để lấy ra ký tự. Mục đích chính là chỉ lấy 1 lần.
Như đã nêu ở trên, có thể còn cách gọn đẹp hơn nhưng tôi lười tìm hiểu thêm. Nếu bạn có thì giờ thì thử tìm.
Nếu chỉ có 1 ký tự
=IFERROR(A1+0,CODE(A1)-55)
Chưa hình dung dữ nhiều ký tự, kết quả như thế nào nên không lập cách xứ lý được
 
Em không biết gắn file excel vào như nào. E để ảnh mong anh em giúp đỡ
 
Công việc của em hiện tại phải làm việc với các mã code nguyên liệu.
Trong đó ngày sản xuất từ ngày mùng 10 trở đi thì lại bị chuyển về chữ cái A,B,C...
Các anh chị cho em hỏi có cách nào chuyển đổi từ các chữ cái đó về ngày 10, 11, 12... không ạ.
Xin cảm ơn
Sau năm 2000
B3= Mid(A3,10,2)+2000
C3 =IFERROR(Mid(A3,12,1)+0,CODE(Mid(A3,12,1))-55)
D3 =IFERROR(Mid(A3,13,1)+0,CODE(Mid(A3,13,1))-55)
 
Bạn xài UDF này:
PHP:
Function TxtToDate(Txt As String) As Date
 Const Alf As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 Dim Nm As Integer, Th As Byte, Ng As Byte

 Nm = 2000 + CInt(Mid(Txt, 10, 2))
 Th = 1 + InStr(Alf, Mid(Txt, 12, 1))
  Ng = 1 + InStr(Alf, Mid(Txt, 13, 1))
  TxtToDate = DateSerial(Nm, Th, Ng)
End Function
 
Web KT
Back
Top Bottom