Đố vui - Tìm kiếm phân biệt chữ thường và chữ hoa (1 người xem)

  • Thread starter Thread starter DOSNET
  • Ngày gửi Ngày gửi

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

DOSNET

Thành viên gắn bó
Thành viên danh dự
Tham gia
3/8/07
Bài viết
1,633
Được thích
2,370
Nghề nghiệp
E&A
Dosnet mời các bạn thử sức một bài toán nho nhỏ về cách sử dụng công thức. Như chúng ta đã biết, hàm Vlookup tìm kiếm theo chiều ngang không phân biệt chữ thường và chữ hoa. Có những lúc chúng ta cần tìm kiếm chính xác, với VBA thì dễ như trở bàn tay, còn dùng công thức thì sao, các bạn thử xem nhé ?
 

File đính kèm

Dosnet mời các bạn thử sức một bài toán nho nhỏ về cách sử dụng công thức. Như chúng ta đã biết, hàm Vlookup tìm kiếm theo chiều ngang không phân biệt chữ thường và chữ hoa. Có những lúc chúng ta cần tìm kiếm chính xác, với VBA thì dễ như trở bàn tay, còn dùng công thức thì sao, các bạn thử xem nhé ?
Chắc là ở file đính kèm rồi
 

File đính kèm

Nói thêm 1 chút:
- Các bạn cứ tìm 1 hàm.. gì đó mà có phân biệt HOA thường thì cứ "chơi" ---> Ăn chắc được (phần còn lại chỉ là kỹ thuật lồng ghép hàm với nhau)
- Vấn đề là liệu công thức thường có làm được không? Tức không xài mảng ---> (tôi đang suy nghĩ)
- Bài toán này mà dùng VBA thì vô cùng gọn ---> Dùng Find Method nhỉ? (với tùy chọn Match case)
 

File đính kèm

Nói thêm 1 chút:
- Các bạn cứ tìm 1 hàm.. gì đó mà có phân biệt HOA thường thì cứ "chơi" ---> Ăn chắc được (phần còn lại chỉ là kỹ thuật lồng ghép hàm với nhau)
- Vấn đề là liệu công thức thường có làm được không? Tức không xài mảng ---> (tôi đang suy nghĩ)
- Bài toán này mà dùng VBA thì vô cùng gọn ---> Dùng Find Method nhỉ? (với tùy chọn Match case)
Bác ndu ơi em dùng kiểu hàm chuyển chữ hoa và thường rùi nhưng vẫn chưa ổn bác cho một PA cho bọn em học hỏi nhé.công nhận khó thật
 
Vậy thì file đính kèm này vậy thầy ơi
Cám ơn domfootwear đã có lời giải chính xác, Dosnet sẽ tiếp tục trở lại với những chiêu hay và khó hơn nũa. Lâu lâu không thấy bác Tuấn đố gì về công thức nên thấy buồn...

- Mình giải thích một chút về công thức mảng trong lời giải cho các bạn chưa biết tìm hiểu:

Mã:
={INDEX($B$4:$B$17,MATCH(TRUE,EXACT(E5,$A$4:$A$17),0))}
Ta tách ra từng công thức nhỏ:

Mã:
{EXACT(D2,A4:A17)}={TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
Mã:
MATCH(TRUE,EXACT(E5,A4:A17),0)=1
Mã:
INDEX(B4:B17,1)=10
 
Lần chỉnh sửa cuối:
Hi, bài toán hay đấy nhỉ? Em làm hơi nông dân tý để giải quyết đúng bài toán này. Nhưng ý tưởng là tra theo mã ASCII thì có thể phát triển để giải tổng quát.
 

File đính kèm

Em dùng hàm sumproduct, Bác xem có đúng không nhé:
SUMPRODUCT(--EXACT(E5;$A$4:$A$17);$B$4:$B$17)
 
Em dùng hàm sumproduct, Bác xem có đúng không nhé:
SUMPRODUCT(--EXACT(E5;$A$4:$A$17);$B$4:$B$17)
Đúng nhưng trong trường hợp giá trị là số, nếu là Text bạn phải dùng Index. Mấu chốt là các bạn đã khai phá được tính năng của hàm Exact.
 
Vậy Em dùng công thức mảng
Mã:
 INDEX($A$4:$B$17;MATCH(TRUE;EXACT(E5;$A$4:$A$17);0);2)
 
Tại sao lúc m nhìn vào thì công thức có dấu {} ở 2 đầu. Bấm vào rồi thì lại bị mất và kết quả ko còn đúng nữa các bác nhỉ?
 
Tại sao lúc m nhìn vào thì công thức có dấu {} ở 2 đầu. Bấm vào rồi thì lại bị mất và kết quả ko còn đúng nữa các bác nhỉ?
Cái đó gọi là công thức mảng đó bạn. Công thức dạng này phải được kết thúc bằng tổ hợp phím Ctrl+Shift+Enter chứ không phải Enter như thông thường.
 
Vậy à! Đa tạ bác nghiaphuc nhé!
 

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

Back
Top Bottom