Hàm FIND (hay FINDB)

Liên hệ QC
FIND (hay FINDB)

Tìm một chuỗi văn bản trong một văn bản khác. Giá trị trả về là vị trí đầu tiên của ký tự đầu tiên trong chuỗi tìm. FIND dùng cho ngôn ngữ sử dụng bảng mã 1 byte (SBCS), FINDB dùng cho ngôn ngữ sử dụng bảng mã 2 byte (BDCS)

FIND luôn đếm mỗi ký tự 1-byte hoặc 2-byte là 1, không kể đến ngôn ngữ mặc định của Windows & Office

FINDB đếm mỗi ký tự 2-byte là 2 khi thiết lập ngôn ngữ hỗ trợ DBCS làm ngôn ngữ mặc định. Ngược lại, FINDB đếm mỗi ký tự là 1.

Các ngôn ngữ hỗ trợ mã DBCS: Japanese, Chinese (Simplified), Chinese (Traditional), và Korean.

Công thức:

=FIND(find_text, within_text [, start_num])
=FINDB(find_text, within_text [,start_num])

___find_text: chuỗi văn bản cần tìm (chuỗi con)

___within_text: chuỗi văn bản chứa chuỗi cần tìm (chuỗi mẹ)

___start_num: vị trí bắt đầu tìm trong chuỗi within_text (mặc định là 1)

Một số lưu ý:
  • FIND và FINDB là có phân biệt chữ HOA và thường và không cho dùng ký tự thay thế. Nếu muốn tìm kiếm không phân biệt chữ HOA và thường hoặc dùng ký tự thay thế thì dùng SEARCH và SEARCHB.
  • Nếu find_text là "" (rỗng), hàm FIND trả về vị trí ký tự đầu tiên trong chuỗi tìm (đó là vị trí start_num hoặc 1).
  • Find_text không thể chứa các ký tự thay thế.
  • Nếu find_text không tìm thấy trong within_text, hàm FIND và FINDB báo lỗi #VALUE!.
  • Nếu start_num là nhỏ hơn hay bằng zero, hàm FIND và FINDB báo lỗi #VALUE!.
  • Nếu start_num lớn hơn chiều dài của within_text, hàm FIND và FINDB báo lỗi #VALUE!.
  • Sử dụng start_num để bỏ qua các ký tự đầu chuỗi mà ta không cấn tìm.

Một số ví dụ sử dụng hàm Find

find_01.JPG

Ví dụ: Trích xuất họ, tên đệm và tên (ví dụ với tên tiếng Anh, phần tên đệm được viết tắt)

Giả sử Họ và Tên nằm ở cell A2, và đang có giá trị là Charlotte P. Cooper

Đầu tiên, như bài trên, dùng công thức sau để tách phần Tên.

=LEFT(A2, FIND(" ", A2) - 1)Charlotte

Công thức FIND(" ", A2) sẽ cho kết quả là 10, là vị trí của khoảng trắng đầu tiên (sau chữ Charlotte).
Để tìm vị trí của khoảng trắng thứ hai, thì bạn phải gán vị trí bắt đầu tìm (start_num) là 11, hoặc là bằng kết quả của FIND(" ", A2) cộng thêm 1:

=FIND(" ", A2, FIND(" ",A2) + 1)

Rồi dùng kết quả của công thức này làm tham số cho hàm RIGHT() để trích ra phần Họ.

=RIGHT(A2, LEN(A2) - FIND(" ", A2, FIND(" ", A2) +1))Cooper

Để trích phần tên đệm, dùng hàm FIND() để tìm vị trí của dấu chấm (.) rồi đưa vào trong công thức của hàm MID() để tìm ký tự đứng trước dấu chấm:

=MID(A2, FIND(".", A2) - 1, 1)P

Hình sau đây là một minh họa cho phần vừa trình bày ở trên:

find_04.JPG
 

File đính kèm

  • HamVanBan_Find.xlsx
    13.5 KB · Đọc: 1,321
Web KT
Back
Top Bottom