Nhờ các bác hoàn thiện công thức search text trong ô thỏa điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nguyenltx

Thành viên mới
Tham gia
20/7/16
Bài viết
31
Được thích
11
Kính gửi các bác:
Em đang giải quyết 1 vấn đề là lọc Phường từ các ô địa chỉ. Hiện tại em đang dùng if(isnumber(search()),,) để làm thì kết quả vẫn ra nhưng vậy thì công thức quá dài. Hiện nay chỉ có list 10 phường, nếu nó tăng lên thì công thức này không khả thi. Nhờ các bác hướng dẫn em cách cải tiến để nó hợp lý hơn.
Cám ơn các bác.
 

File đính kèm

Kính gửi các bác:
Em đang giải quyết 1 vấn đề là lọc Phường từ các ô địa chỉ. Hiện tại em đang dùng if(isnumber(search()),,) để làm thì kết quả vẫn ra nhưng vậy thì công thức quá dài. Hiện nay chỉ có list 10 phường, nếu nó tăng lên thì công thức này không khả thi. Nhờ các bác hướng dẫn em cách cải tiến để nó hợp lý hơn.
Cám ơn các bác.
B2
=PROPER(INDEX(tenPhuong!$A$2:$A$12,MATCH(TRUE,INDEX(ISNUMBER(SEARCH("phường " & tenPhuong!$A$2:$A$12,Sheet2!A2)),),0)))
luu y B4 sai vì nguồn dữ liệu sai, thiếu chữ phường

1 quận 10 phường là khá nhiều rồi, cùng lắm chắc 15 phường
 
Kính gửi các bác:
Em đang giải quyết 1 vấn đề là lọc Phường từ các ô địa chỉ. Hiện tại em đang dùng if(isnumber(search()),,) để làm thì kết quả vẫn ra nhưng vậy thì công thức quá dài. Hiện nay chỉ có list 10 phường, nếu nó tăng lên thì công thức này không khả thi. Nhờ các bác hướng dẫn em cách cải tiến để nó hợp lý hơn.
Cám ơn các bác.
Vầy xem sao:
Mã:
=LOOKUP(2,1/SEARCH(tenPhuong!$A$2:$A$12,A2),tenPhuong!$A$2:$A$12)
 
B2
=PROPER(INDEX(tenPhuong!$A$2:$A$12,MATCH(TRUE,INDEX(ISNUMBER(SEARCH("phường " & tenPhuong!$A$2:$A$12,Sheet2!A2)),),0)))
luu y B4 sai vì nguồn dữ liệu sai, thiếu chữ phường
Tất nhiên dữ liệu phải có chữ "phường" ***, nhưng B4 sai không phải vì thiếu "phường" (A4 có "phường") mà do trong A4 sau "phường" là dấu phẩy chứ không phải dấu cách.

***: nếu không có "phường" thì từ A2 = "Lô 3- đường 1, khu công nghiệp cát lái, thạnh mỹ lợi, quận 2 Quận 2" hơi bị khó, vì có cả phường "cát lái" và phường "thạch mỹ lợi".

Công thức LOOKUP đúng với A2 như trên nhưng sẽ sai khi trong sheet tenPhuong "THẠNH MỸ LỢI" nằm ở dòng trước "CÁT LÁI". Người viết công thức không thể đoán được thứ tự các phường trong sheet tenPhuong. Ví dụ nếu A2 = "Lô 3- đường 1, khu công nghiệp cát lái, phường thạnh mỹ lợi, quận 2 Quận 2" và A5 = "Lô 3- đường 1, Công ty thạnh mỹ lợi, phường cát lái, quận 2 Quận 2" thì 1 trong 2 kết quả sẽ sai, dù thứ tự 2 phường có như thế nào chăng nữa.
 
Trước tiên cảm ơn 2 bác. Em thật sự chưa hiểu lắm về cách dùng SEARCH(tenPhuong!$A$2:$A$12,A2) vì nó ngược ngược với cấu trúc search(find_text, within_text). Em đoán đoạn đó nó sẽ tạo thành 1 mảng {VALUE, VALUE,2,VALUE"} rồi kết hợp lookup hoặc index+match để xác định vị trí trong cái list kia. Còn đoạn 1/search của bác Ndu em cũng đoán là dùng để ưu tiên cho tên Phường đứng đằng sau trong chuỗi như "KCN Cát Lái, P.Thạnh Mỹ Lợi" vì Cát Lái cũng là tên Phường.
 
Trước tiên cảm ơn 2 bác. Em thật sự chưa hiểu lắm về cách dùng SEARCH(tenPhuong!$A$2:$A$12,A2) vì nó ngược ngược với cấu trúc search(find_text, within_text). Em đoán đoạn đó nó sẽ tạo thành 1 mảng {VALUE, VALUE,2,VALUE"} rồi kết hợp lookup hoặc index+match để xác định vị trí trong cái list kia. Còn đoạn 1/search của bác Ndu em cũng đoán là dùng để ưu tiên cho tên Phường đứng đằng sau trong chuỗi như "KCN Cát Lái, P.Thạnh Mỹ Lợi" vì Cát Lái cũng là tên Phường.
Khỏi đoán, Bôi đen đoạn đó trên thanh công thức rồi nhấn F9, xem kết quả.
 
Khỏi đoán, Bôi đen đoạn đó trên thanh công thức rồi nhấn F9, xem kết quả.
Xem cũng không hiểu nổi đâu. Bài #4 đã giải thích rõ rồi mà thớt không chịu đọc cho kỹ:
Ưu tiên cho cái tên phường nằm sau trong bảng tra. Vị trí của tên phường trong cái chuỗi địa chỉ không quan trọng.
Cái đó là đặc điểm của hàm Lookup, vì nó dựa trên bảng có thứ tự.
Thớt cho rằng đây là chủ ý của người viết công thức. Thực tế không phải vậy. Ở trường hợp đề bài này thì nó là một nhược điểm. Nếu người viết công thức trên có chủ ý thì đã lưu ý chủ thớt về nhược điểm này.

Thớt muốn thử thì phải thử đổi vị trí của hai phường trên trong bảng tra.
 
Web KT

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

Back
Top Bottom