Tự động tạo mã số học sinh

Liên hệ QC

minhhungnc

Thành viên mới
Tham gia
26/6/08
Bài viết
6
Được thích
1
Trong bảng tính Excel có các cột sau: Mã HS, TT,Tên HS, ngày tháng năm sinh, giới tính. Tôi muốn khi nhập thông tin của một HS vào các cột TT,Tên HS, ngày tháng năm sinh, giới tính thì ô Mã HS sẽ tự động ghi lại kí hiệu như sau: lấy chữ cái đầu tiên của mỗi từ trong tên HS nối với 2 chữ số của ngày,2 chữ số của tháng, 2 chữ số cuối cùng của năm rồi nối tiếp với giới tính(nếu là Nam thì chữ M, nếu là Nữ là chữ F) cuối cùng nối với số thứ tự. Ví dụ: TT= 12, Tên HS= Ngô Minh Hùng, ngày tháng năm sinh = 12/8/1970, giới tính là Nam thì ô Mã HS = NMH120870M12. Và khi nhập nhiều HS xuống các hàng tiếp theo thì các ô Mã HS tự động cập nhật không cần copy các ô trên dán xuống. Xin các quý vị vui lòng giúp đỡ! Cảm ơn nhiều!
 
Lần chỉnh sửa cuối:
Trong bảng tính Excel có các cột sau: Mã HS, TT,Tên HS, ngày tháng năm sinh, giới tính. Tôi muốn khi nhập thông tin của một HS vào các cột TT,Tên HS, ngày tháng năm sinh, giới tính thì ô Mã HS sẽ tự động ghi lại kí hiệu như sau: lấy chữ cái đầu tiên của mỗi từ trong tên HS nối với 2 chữ số của ngày,2 chữ số của tháng, 2 chữ số cuối cùng của năm rồi nối tiếp với giới tính(nếu là Nam thì chữ M, nếu là Nữ là chữ F) cuối cùng nối với số thứ tự. Ví dụ: TT= 12, Tên HS= Ngô Minh Hùng, ngày tháng năm sinh = 12/8/1970, giới tính là Nam thì ô Mã HS = NMH120870M12. Và khi nhập nhiều HS xuống các hàng tiếp theo thì các ô Mã HS tự động cập nhật không cần copy các ô trên dán xuống. Xin các quý vị vui lòng giúp đỡ! Cảm ơn nhiều!

Muốn có cái này thì phải dùng VBA. nếu bạn muốn hãy liên hệ với tôi theo tin nhắn của diễn đàn hoặc Email : anhphuong1958@yahoo.com
 
Chỉnh sửa lần cuối bởi điều hành viên:
anhphuong đã viết:
Muốn có cái này thì phải dùng VBA. nếu bạn muốn hãy liên hệ với tôi theo tin nhắn của diễn đàn...

Cái này dùng công thức cũng được.
Ví dụ bạn lập bảng theo kiểu này:
04-07-20083-30-29PM.jpg
Thì công thức tại A2 như sau:
PHP:
=IF(E2="","",UPPER(LEFT(C2,1)&MID(C2,FIND(" ",C2)+1,1)&IF(ISERR(MID(C2,FIND(" ",C2,FIND(" ",C2)+1)+1,1)),"",MID(C2,FIND(" ",C2,FIND(" ",C2)+1)+1,1))&IF(ISERR(MID(C2,FIND(" ",C2,FIND(" ",C2,FIND(" ",C2)+1)+1)+1,1)),"",MID(C2,FIND(" ",C2,FIND(" ",C2,FIND(" ",C2)+1)+1)+1,1)))&TEXT(D2,"DDMMYY")&IF(E2="Nam","M","F")&B2)
Còn cái vụ muốn nhập nhiều và cột A tự động thêm...
Nếu dùng công thức thì bạn chịu khó trước khi nhập, copy sẵn công thức từ A2 xuống cỡ A100... Yên tâm đi, nếu cột E chưa có dữ liệu thì cột A không làm gì hết.
 
Lần chỉnh sửa cuối:
Cái này dùng công thức cũng được.

Ví dụ bạn lập bảng theo kiểu này:
04-07-20083-30-29PM.jpg
Thì công thức tại A2 như sau:
PHP:
=IF(E2="","",UPPER(LEFT(C2,1)&MID(C2,FIND(" ",C2)+1,1)&IF(ISERR(MID(C2,FIND(" ",C2,FIND(" ",C2)+1)+1,1)),"",MID(C2,FIND(" ",C2,FIND(" ",C2)+1)+1,1))&IF(ISERR(MID(C2,FIND(" ",C2,FIND(" ",C2,FIND(" ",C2)+1)+1)+1,1)),"",MID(C2,FIND(" ",C2,FIND(" ",C2,FIND(" ",C2)+1)+1)+1,1)))&TEXT(D2,"DDMMYY")&IF(E2="Nam","M","F")&B2)
Còn cái vụ muốn nhập nhiều và cột A tự động thêm...
Nếu dùng công thức thì bạn chịu khó trước khi nhập, copy sẵn công thức từ A2 xuống cỡ A100... Yên tâm đi, nếu cột E chưa có dữ liệu thì cột A không làm gì hết.

Công thức cũng được Tường ạ nhưng ... dài quá
Gửi cho bạn một AddIns này
Công thức như sau A2= IF(E2="","",TaoMa(C2,D2,E2,B2))
A2:Mã HS
B2:STT
C2:Họ Tên HS
D2:Ngày tháng năm sinh(dd/mm/yyyy)
E2:Nam,Nữ

AddIns này lấy được tới 6 chữ cái đầu của Họ tên HS
Thân
 

File đính kèm

  • TaoMaHS.rar
    6.7 KB · Đọc: 337
Mã được định nghĩa theo kiểu này thì hóa ra em hs đó bắt buộc không được thay đổi số TT sao? (điều này có thể xảy ra lắm chứ)
 
bảng tính có : Mã HS, TT,Tên HS, ngày tháng năm sinh, giới tính. Tôi muốn khi nhập thông tin của một HS vào các cột TT,Tên HS, ngày sinh, giới tính thì ô Mã HS sẽ tự động tạo mã sau: lấy chữ cái đầu tiên của mỗi từ trong tên HS nối với 2 chữ số của ngày,2 chữ số của tháng, 2 chữ số cuối cùng của năm rồi nối tiếp với giới tính(nếu là Nam thì chữ M, nếu là Nữ là chữ F) cuối cùng nối với số thứ tự. Ví dụ: TT= 12, Tên HS= Ngô Minh Hùng, ngày tháng năm sinh = 12/8/1970, giới tính là Nam thì ô Mã HS = NMH120870M12. Và khi nhập nhiều HS xuống các hàng tiếp theo thì các ô Mã HS tự động cập nhật không cần copy các ô trên dán xuống. Xin các quý vị vui lòng giúp đỡ! Cảm ơn nhiều!
Chi mà dài lê thê vậy; Chúng ta có 26 ký tự & 10 ký số (gọi chung là ký tự); quan trọng là >31; Vậy ta chỉ cần dùng 1 ký tự biểu diễn ngày, 36 ký tự biểu diển cho 36 tháng của 3 năm liên tiếp, vị chi chỉ cần 3 kí tự liên tiếp ta có thể biểu diễn các ngày khác nhau của > thế kỷ rồi còn gì (cụ thể là 108 năm kia đó)
Ví dụ nha:
Mã:
Function MaHS( Optional Dat As Date) As String
  Const StrC = "0123456789ABCDEGHIKLMNOPQTƯVY" 
  If Dat = 0 Then Dat =Date:             Dim Jj As Integer
  Jj = Year(Dat)-1997:                      MaHS = Mid( StrC, Jj\3, 1)
  Jj = Month(Dat) + 12 * (Jj Mod 3)
  MaHS = MaHS &  Mid( StrC, Jj, 1)
  Jj = Day(Dat) +1 :                              MaHS =MaHS &  Mid( StrC, Jj, 1)
 End Function
Lúc đó bạn nối thêm trước sau MaHS này bằng các công thức nối chuỗi là được mà!
VD NMH4D1Mxx
Cũng cần nói thêm STT này:
Nếu là mã học sinh thì mỗi năm bạn nhập dưới 35*35 HSinh mới;
Nếu STT HS >99 thì mần răng chừ?

Lúc đó cũng dùng cách tương tự này ta biểu diễn STT thành 2 ký số biểu thị nó, ví như

MaHS = MaHS & Mid(StrC, (STT \ 36), 1)
MaHS = MaHS & Mid(StrC, (STT Mod 36)+1, 1);

Vài lời cùng bạn, chúc vui!
 
Lần chỉnh sửa cuối:
Tôi dang gặp khó khăn ở chỗ: Tôi có một bảng điểm chi tiết của từng học phần, tôi phải làm sao để thiết lập bẳng điểm cho từng sinh viên từ bảng điểm chi tiết đó

Hãy đưa giả lập file nguồn & bảng tính cần đạt được lên để đỡ tốn thời gian của bạn & của mọi người!
(Không phải ai cũng rõ như bạn về những bảng điểm đó!)
Bài này sẽ xóa một khi các file được đưa lên!
Flower5.jpg
 
Em có cùng câu hỏi tự tạo mã học sinh như mấy bạn trên, nhưng em chỉ muốn thêm mã lớp ở đầu để dễ nhận diện hs.
Cụ thể:
Cột mã số B2 sẽ tự động sinh mã lấy
"SK1" ở F1
lấy chữ cái đầu của họ tên cột C2
dãy số sau là mã số theo thứ tự hoặc theo ngày sinh cũng được ạ.
(Em xin lỗi không úp file lên được do e đang dùng trên đt không biết file mình lưu chỗ nào.)
 

File đính kèm

  • Screenshot_20210327-082854_Sheets.jpg
    Screenshot_20210327-082854_Sheets.jpg
    41.9 KB · Đọc: 13
Em có cùng câu hỏi tự tạo mã học sinh như mấy bạn trên, nhưng em chỉ muốn thêm mã lớp ở đầu để dễ nhận diện hs.
Cụ thể:
Cột mã số B2 sẽ tự động sinh mã lấy
"SK1" ở F1
lấy chữ cái đầu của họ tên cột C2
dãy số sau là mã số theo thứ tự hoặc theo ngày sinh cũng được ạ.
(Em xin lỗi không úp file lên được do e đang dùng trên đt không biết file mình lưu chỗ nào.)
Nếu trường của bạn cho là chỉ mỗi cấp học & hồ sơ bất kỳ HS (học sinh) nào nhà trường cũng phải lưu giự ~ 15 năm thì thêm mã lớp là vô nghĩa;
Mình xin giới thiệu với bạn bộ mã mình theo qui luật sau:

STTHọ & TênMã NV
01Trần Minh HồngTMH00
02Từ Mạnh HóaTMH01
03Tạ Thị Minh HàTMH03
04Đào Đức DươngFFD00
05Đỗ Đăng DungFFD01
06Dương Ánh HòaDAH00
07Công Tằng Tôn Nữ Minh NguyệtCMN00
08Cù LânCJL00

Bộ mã này mình xài cho 1 trường ~ hơn 5 ngàn HS vẫn vô tư

Chúc các bạn vui!
 
B3:
=$F$1&LEFT(C3)&TEXT(COUNTIF($C$3:C3,LEFT(C3)&"*"),"000")
1616822356404.png
 
Nếu trường của bạn cho là chỉ mỗi cấp học & hồ sơ bất kỳ HS (học sinh) nào nhà trường cũng phải lưu giự ~ 15 năm thì thêm mã lớp là vô nghĩa;
Mình xin giới thiệu với bạn bộ mã mình theo qui luật sau:

STTHọ & TênMã NV
01Trần Minh HồngTMH00
02Từ Mạnh HóaTMH01
03Tạ Thị Minh HàTMH03
04Đào Đức DươngFFD00
05Đỗ Đăng DungFFD01
06Dương Ánh HòaDAH00
07Công Tằng Tôn Nữ Minh NguyệtCMN00
08Cù LânCJL00

Bộ mã này mình xài cho 1 trường ~ hơn 5 ngàn HS vẫn vô tư

Chúc các bạn vui!
cảm ơn bác đã chia sẻ, bác có thể chia sẻ thêm về công thức được không ạ?
 
File nè, xin mời bạn quậy kỹ lưởng dùm nha.

Có gì sẽ bổ sung tiếp nay mai.
 

File đính kèm

  • Mã hóa.rar
    19.5 KB · Đọc: 32
B3:
=$F$1&LEFT(C3)&TEXT(COUNTIF($C$3:C3,LEFT(C3)&"*"),"000")
View attachment 256183
Em làm được rồi, cảm ơn bác!
Bài đã được tự động gộp:

File nè, xin mời bạn quậy kỹ lưởng dùm nha.

Có gì sẽ bổ sung tiếp nay mai.
Cảm ơn bác, e vừa tải về, nhưng trên đt e k giải nén được để xem, chắc phải mở trên máy tính r, có gì e lại hỏi
 
Web KT
Back
Top Bottom