Từ đầu tiên trong một câu

  • Thread starter KKBS
  • Ngày gửi
K

KKBS

Guest
23/2/05
53
0
0
52
HCM
Trong Excel, có cách gì để trích ra từ đầu tiên trong một câu không? Tôi không muốn dùng VBA vì đa số người dùng Excel không phải là dân lập trình nên sẽ khó khăn khi nhìn thấy mấy câu lệnh VBA !

Một trong những ứng dụng của việc này là khi họ và tên của nhân viên đã (lỡ) được gõ chung vào một ô, sau đó lại muốn tách ra.

Thân,
KKBS.
 
Khóa học Quản trị dòng tiền
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
KKBS nói:
Trong Excel, có cách gì để trích ra từ đầu tiên trong một câu không? Tôi không muốn dùng VBA vì đa số người dùng Excel không phải là dân lập trình nên sẽ khó khăn khi nhìn thấy mấy câu lệnh VBA !

Một trong những ứng dụng của việc này là khi họ và tên của nhân viên đã (lỡ) được gõ chung vào một ô, sau đó lại muốn tách ra.

Thân,
KKBS.
To: KKBS,
Thực sự ra đối với yêu cầu trên của bạn đâu có gì khó lắm đâu! Tôi nghĩ bạn dư sức làm việc này bằng việc kết hợp hàm tìm kiếm khỏang trống find và hàm left là bạn có thể làm được.
Chúc bạn khỏe.
Lê Văn Duyệt
 
K

KKBS

Guest
23/2/05
53
0
0
52
HCM
Đúng là tôi có thể tự làm được, nhưng tôi muốn post bài này lên như một câu hỏi mở để mọi người cùng suy nghĩ ra một hàm phối hợp "đẹp nhất" có thể áp dụng được vì tôi nghĩ ứng dụng của nó rất thực tiễn. Sự kết hợp các hàm phải cho ra một kết quả chính xác cho nhiều trường hợp khác nhau có thể xảy ra.

Thân,
KKBS.
 
H

HyperVN

<b>Phu hót rác</b>
17/3/03
1,833
16
0
48
Hải Phòng
www.webketoan.vn
Mình cũng muốn thấy công thức đó trên diễn đàn, ai có không nhỉ, đáng tiếc là HyperVN hơi yếu về hàm trong excel (chỉ dùng mấy hàm thông dụng thôi).
 
Q

Quỳnh

Guest
27/1/05
22
0
0
48
Hà Nội
Em cũng hay dùng cách của bác Levanduyet:

=LEFT(A1,FIND(" ",A1,1))

A1 là ô chứa Họ tên.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
OverAC nói:
Chỉnh lại cái của Quỳnh một chút nhé

=LEFT(trim(A1),FIND(" ",trim(A1),1))
To: OverAC,
Chào, em lại xuất hiện hả? Hay chỉ xuất hiện...ít ít thôi!
Chúc em khỏe.
Lê Văn Duyệt
 
K

KKBS

Guest
23/2/05
53
0
0
52
HCM
Công thức này đến đây "đủ và đẹp" chưa các bạn?

Thân,
KKBS.
 
D

dinhlinh

Guest
24/12/04
15
0
1
Ho Chi Minh
Nếu chỉ lấy từ đầu tiên, không có khỏang trắng
=LEFT(trim(A1),FIND(" ",trim(A1),1)-1)
 
ketoan4mat

ketoan4mat

Cao cấp
24/4/03
3,906
17
38
Sài Gòn đẹp lắm
Cái này trong '"Tiện ích tiếng Việt trong Excel" có mà. fải ko bà con?? À, sẵn đây mình muốn hỏi về "Tiện ích tiếng Việt trong Excel" được ko hả? Vì khi mình load file này về thì use được. Nhưng khi tắt máy, mở lai thì "Tiện ích tiếng Việt trong Excel" mất đi, ko biết nó nằm ở đâu hả?
Thân,
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Lấy từ cuối cùng của chuỗi!

Lấy từ cuối cùng của chuỗi:
Phần này có thể tách riêng "Tên" trong một cột "Họ và Tên".
=Right(Chuoi,Find(" ",Mid(Chuoi,Len(Chuoi)-0,1)&Mid(Chuoi,Len(Chuoi)-1,1)&Mid(Chuoi,Len(Chuoi)-2,1)&Mid(Chuoi,Len(Chuoi)-3,1)&Mid(Chuoi,Len(Chuoi)-4,1)&Mid(Chuoi,Len(Chuoi)-5,1)&Mid(Chuoi,Len(Chuoi)-6,1)&Mid(Chuoi,Len(Chuoi)-7,1))-1)
Từ Việt Nam có nghĩa chỉ dài tối đa 7 ký tự.
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
586
103
43
67
HCM city
Cắt Chuỗi đa năng đây, xin biếu tham khảo!

Function HoTen(SHoTen as string, SLoai as string) as string
dim Chu as String, ii as Integer, VTri as Integer
SLoai=Ucase$(SLoai)
Select Case SLoai
Case ''H''
HoTen=left(SHoTen,InStr(SHoTen & '' '','' '') 'Chú í mình Kh nhập '' đc
Case ''T'',''L''
Chu=SHoTen
Do
ii=InStr(Chu,'' ''): if ii=0 then exit do
Chu=Mid(Chu,1 + ii): VTri = ii + VTri
Loop
HoTen=IIf(SLoai=''T'', Chu, left(SHoTen,VTri)
Case Else
HoTen = ''Xin Chào'' :two:
End Select
End Function :wall:
Bổ sung lúc 12H50 8/08: Quá hay, nhưng thông cảm vì mình vẫn dùng W98 nên không có hàm InStrRev(SChu," ")
 
Sửa lần cuối:
W

workman

Guest
22/7/05
372
2
0
52
Ho Chi Minh
rất hay, hoan hô SA DQ. Tuy nhiên bạn nên dùng hàm InStrRev sẽ nhanh hơn một chút (do không cần dùng vòng lặp).

Xin đóng góp một hàm đơn giản chỉ gồm 1 dòng lệnh thôi. Kết quả tương tự như hàm của SA DQ

Function HoTen(SHoTen As String, SLoai As String) As String

HoTen = IIf(SLoai = "H", Left(SHoTen, InStr(SHoTen & " ", " ")), IIf(SLoai = "T", Right(SHoTen, Len(SHoTen) - InStrRev(SHoTen, " ")), Left(SHoTen, InStrRev(SHoTen, " "))))

End Function
 
K

KKBS

Guest
23/2/05
53
0
0
52
HCM
Lập trình có một nét đẹp không thể nào chối cãi được. Tuy nhiên, ở mức độ người sử dụng, tôi vẫn cho rằng việc phối hợp các hàm có sẵn của Excel là đẹp hơn. Excel hay hơn các ứng dụng bảng tính khác nhờ chức năng phong phú và sự "thông minh" của nó. Ngoài ra, thư viện hàm dựng sẳn trong Excel là khá "đầy đủ". Trong phạm vi bài này, tôi cho rằng công thức mà các bạn đã nêu là đủ sử dụng rồi, không cần phải dùng tới VBA. Tuy nhiên trong công thức đó cần bổ sung thêm một chút để không bị lỗi khi trong ô chỉ có một từ thôi. Ngoài ra, không nên xem tên không dài quá 7 ký tự vì như vậy không được tổng quát cho lắm, rủi trong công ty có một ông Tây ba lô đang làm việc thì sao :)

Ý kiến trên không nhằm mục đích phê bình, chỉ là ý kiến chủ quan của tôi dưới góc độ một người sử dụng bình thường nhất thôi.

Thân.
KKBS.
 
W

workman

Guest
22/7/05
372
2
0
52
Ho Chi Minh
Tôi hoàn toàn tán thành ý của bác là nếu dùng hàm được càng nhiều càng tốt. Tuy nhiên trong thực tế đôi khi hàm không đủ sức giải quyết, hoặc nếu giải quyết được thì cũng trầy vi tróc vảy, thì vẫn nên có VBA hỗ trợ. Đặc biệt khi gặp data quá lớn mà dùng công thức mảng thì treo máy là cái chắc. Lúc này mới thấy VBA ngon lành hơn.
 
K

KKBS

Guest
23/2/05
53
0
0
52
HCM
Sẽ không có chuyện đúng hay sai trong vấn đề chọn công cụ để giải quyết công việc vì khi dùng sở trường của mình để giải quyết công việc thì vẫn tốt hơn, giống chuyện dùng thương hay dùng đao gì miễn là đánh hay là được. Tuy nhiên, dưới gốc độ là người lập trình, nếu các hàm built-in của Excel mà chạy chậm thì ta viết VBA cũng sẽ chậm, vì thuật toán bên trong của Excel phần lớn là tối ưu. Khi dữ liệu nhiều thì không nên dùng Excel nữa, phải chuyển sang Access hay một hệ cơ sở dữ liệu chuyên dụng như MS SQL chẳng hạn. Nhưng dù sao, tôi vẫn thừa nhận VBA là công cụ rất tốt của MS, giải quyết được nhiều việc mà nếu không có nó, Excel tự thân nó sẽ bó tay :)

Thân,
KKBS.
 

Xem nhiều

Webketoan Zalo OA