Hỏi hàm tìm kiếm giá trị của 1 ô trong bảng 2 chiều

Liên hệ QC

ptanh

Thành viên mới
Tham gia
24/4/08
Bài viết
4
Được thích
0
Các bác cho em hỏi:
1. Em có 1 mảng 2 chiều dữ liệu đầu vào cho sẵn.
2. Với thông tin là:
Giá trị của dòng: x
Giá trị của cột: y
3. Tìm kiếm giá trị của ô đó trong mảng dữ liệu cho sẵn A(x,y)= bao nhiêu

Các bác giúp em cái.
Cám ơn nhiều
 
File mô tả gửi kèm đây ạ.
 

File đính kèm

  • Hoi dung ham tim kiem gi.xls
    22.5 KB · Đọc: 172
Các bác cho em hỏi:
1. Em có 1 mảng 2 chiều dữ liệu đầu vào cho sẵn.
2. Với thông tin là:
Giá trị của dòng: x
Giá trị của cột: y
3. Tìm kiếm giá trị của ô đó trong mảng dữ liệu cho sẵn A(x,y)= bao nhiêu

Các bác giúp em cái.
Cám ơn nhiều
Bạn nghiên cứu hàm INDEXhàm MATCH nhé (hoặc cũng có thể kết hợp các hàm VLOOKUP, HLOOKUP với hàm MATCH). Nếu sau khi nghiên cứu 2 hàm này mà vẫn chưa áp dụng được thì tốt nhất là bạn gửi file Excel lên, mô tả chi tiết yêu cầu trong đó, mọi người sẽ giúp bạn giải quyết bài toán.

P/S: Gửi bài rồi mới thấy file của bạn. Sẵn đây mình làm luôn một số cách để bạn tham khảo. Xin nói thêm là cách 4 và cách 5 chỉ áp dụng với dữ liệu cụ thể như trong file, không mang tính tổng quát.
 

File đính kèm

  • Hoi dung ham tim kiem gi.rar
    4.7 KB · Đọc: 236
Lần chỉnh sửa cuối:
Hehe, còn cách 7 nữa nà:

=OFFSET($A$1,A17,B17-99)

Cơ mà chỉ dùng cho cấu trúc bảng với tiêu đề dòng cột y như trong file thôi.
 
Hehe, còn cách 8 nữa nè:

=INDEX($B$2:$M$13,A17,B17-99)

Tiếp thu từ cách làm của nàng Monalisa7775
 
Góp vui cách khác cho thêm phần rối rắm:

Mã:
=INDIRECT(ADDRESS(A17+1,B17-$B$1+2))

"Cơ mà" các số tiêu đề dòng và cột phải liên tục cách nhau 1 đơn vị
 
Bebo cũng chịu khó hén?
Cơ mà Bebo đúng là rối rắm hoặc cố tình làm rối rắm, chứ mà chỉ cần thía ni:

=INDIRECT(ADDRESS(A17+1,B17-98))
 
Sao không dùng HLOOKUP cho nó dễ hiểu nhỉ?
 
Nghĩ mãi, chẳng có công thức nào tối ưu bắng :
Mã:
=OR(INDEX,VLOOKUP,HLOOKUP)&MATCH
Copy và patch vào bảng tính. "Tèo" là cái chắc.
 
Vì hlookup & vlookup đều đã được thể hiện trong 5 cách làm đầu tiên. Mọi người muốn thêm nhiều ý tưởng đấy mà thầy.
Có phải mới học Excel thì hàm VLOOKUP và HLOOKUP học đầu tiên không? INDEX sau này mới học!
Còn SUMPRODUCT và OFFSET hay INDIRECT gì gì đó, đừng nói là bằng A vi tính, làm văn phòng lâu năm có người vẫn chưa biết
Bài này tôi đánh giá rằng tác giả chỉ mới học (nếu không đã không hỏi vấn đề dễ đến thế)... Vậy chọn cách đơn giản nhất, dễ hiểu nhất chẳng phải là tối ưu sao?
HLOOKUP hay VLOOKUP cũng được, nhưng tôi thấy bài này dùng HLOOKUP hay hơn
Và đã HLOOKUP thì tôi không dùng thêm MATCH làm gì... Chỉ vầy thôi:
PHP:
=HLOOKUP(B17,$B$1:$M$13,A17+1,0)
(ủng hộ cách 4 của nghiaphuc)
 
Lần chỉnh sửa cuối:
Có phải mới học Excel thì hàm VLOOKUP và HLOOKUP học đầu tiên không? INDEX sau này mới học!
Còn SUMPRODUCT và OFFSET hay INDIRECT gì gì đó, đừng nói là bằng A vi tính, làm văn phòng lâu năm có người vẫn chưa biết
Bài này tôi đánh giá rằng tác giả chỉ mới học (nếu không đã không hỏi vấn đề dễ đến thế)... Vậy chọn cách đơn giản nhất, dễ hiểu nhất chẳng phải là tối ưu sao?
HLOOKUP hay VLOOKUP cũng được, nhưng tôi thấy bài này dùng HLOOKUP hay hơn
Và đã HLOOKUP thì tôi không dùng thêm MATCH làm gì... Chỉ vầy thôi:
PHP:
=HLOOKUP(B17,$B$1:$M$13,A17+1,0)
(ủng hộ cách 4 của nghiaphuc)
Đúng là vẫn biết Hlookup và Vlookup trong bài này là hợp lý đơn giản dễ hiểu nhất. Và đã được trả lời rồi. Mọi người muốn thêm các cách làm khác nhau để thêm phong phú, không áp dụng được trường hợp này thì áp dụng cho các trường hợp khác có sao đâu.
Với lại trong 1 topic đâu phải chỉ có mỗi người hỏi và người trả lời xem em dám chắc rằng 1 topic thì có rất nhiều người xem nhều trình độ. Vậy thêm các cách khác là sai sao?
 
Nếu chỉ trả lời cho tác giả topic này, cũng như ndu đệ đệ nói: tác giả chỉ mới học nếu không đã không hỏi vấn đề dễ đến thế.
Vậy căn cứ vào người mới học, tỷ tỷ giả định thêm rằng: có thể tác giả chưa biết cách lập dữ liệu mẫu: tiêu đề có thể không phải số hoặc không phải theo thứ tự đó.

Cho nên tỷ tỷ ủng hộ 3 cách đầu của nghiaphuc, 3 cách đó tổng quát hơn. Vùng dữ liệu đặt ở đâu cũng tìm ra. Tiêu đề cột, dòng thế nào cũng dó tìm ra. (Miễn đừng trùng là được)

Ngocmai thử nhận xét các cách còn lại:

- Cách 4: Ăn gian và lợi dụng tiêu đề dòng từ 1 đến hết
- Cách 5: Ăn gian và lợi dụng tiêu đề cột từ 100 tăng 1 đến hết. Nhưng đã ăn gian thì ăn gian cho trót: lấy MOD(B17;100)+2 làm chi cho cực, lấy B17 - 98 cho khoẻ?
- Cách 6: Dùng Sumproduct là tệ nhất trong các cách, vừa là hàm mảng, vừa phức tạp, vừa khó hiểu. Khó hiểu ở chỗ tại sao dò tìm mà lại đi tính tổng!
- Cách 7 và 8: Ăn gian toàn diện cả cột và dòng, nhưng offset quả là trình độ A chưa có. Còn Index thì trình độ A có rồi.
- Cách 9: Đã ăn gian mà lại còn sợ. Đã sợ thì phòng xa, mà lại phòng xa không đến nơi đến chốn.
Nếu nói sợ trường hợp cột đầu không phải 100 thì "tèo", thì phải phòng xa cả dòng đầu không phải là 1 chứ?
Tuy vậy, kể cả có phòng xa như vậy cũng chưa hết tội "tèo". Nếu nguyên bảng dò tìm không bắt đầu từ A1, thì teo téo teo tèo, chứ không phải "tèo" không. (lêu lêu)

Vấn đề là: Đối với topic này có nên ăn gian không? The answer is YES.

Đề bài:
2. Với thông tin là: Giá trị của dòng: x, Giá trị của cột: y
3. Tìm kiếm giá trị của ô đó trong mảng dữ liệu cho sẵn A(x,y)= bao nhiêu

Khi đã viết A(x, y) nghĩa là x, y là chỉ số dòng cột. Cứ thế mà ăn gian thôi.
 
Cám ơn các bác nhiều. Hay và đơn giản quá nhỉ.
 
Nếu chỉ trả lời cho tác giả topic này, cũng như ndu đệ đệ nói: tác giả chỉ mới học nếu không đã không hỏi vấn đề dễ đến thế....
.
Hic, cách hành văn, cách lập luận gãy gọn, súc tích quá...làm em nhớ đến 1 người đồng hương.
Không thấy Chị đề cập đến cách của em ở bài #12 nhỉ?
 
Ai còn theo dõi mục này không, có vẻ câu trả lời không đúng với mục đích câu hỏi đưa ra. Mình đang gặp tình huống tương tự. Ai giúp đỡ mình
Tại 1 giá trị trong mảng đó ví dụ "1", yêu cầu tìm ra thông tin dòng và cột của giá trị đó, giả sử giá trị "1" là duy nhất
 
Web KT
Back
Top Bottom