Giúp giải hàm index kết hợp với hàm match. (1 người xem)

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

baotoan2510

Thành viên mới
Tham gia
14/4/13
Bài viết
7
Được thích
0
Mình có một bài tập, trong đó cần truy xuất dữ liệu bằng cách sử dụng hàm match với index, mình đã cố tìm cách giải, nhưng giờ vẫn chưa tìm ra, mong mọi ngươì giúp đỡ.

File excel của bài đó đây :
 

File đính kèm

Bạn thử dùng hàm sau:
Mã:
=INDEX($E$6:$J$15;MATCH(M7;$E$6:$E$15;0)+[COLOR=#ff0000]IF(M6=0,9;0;IF(M6=1;3;IF(M6=1,1;6;" ")))[/COLOR];MATCH(M8;$E$6:$J$6;0))
Cái đoạn chữ màu đỏ này hình như có thể rút gọn hơn phải không nhỉ?? Có anh chị nào đọc qua topic này xin chỉ dẫn thêm.
 
Lần chỉnh sửa cuối:
Bạn thử dùng hàm sau:
Mã:
=INDEX($E$6:$J$15;MATCH(M7;$E$6:$E$15;0)+[COLOR=#ff0000]IF(M6=0,9;0;IF(M6=1;3;IF(M6=1,1;6;" ")))[/COLOR];MATCH(M8;$E$6:$J$6;0))
Cái đoạn chữ màu đỏ này hình như có thể rút gọn hơn phải không nhỉ?? Có anh chị nào đọc qua topic này xin chỉ dẫn thêm.
Thử như vầy xem sao:
=INDEX(E6:J15;MATCH(M6;$D$7:$D$15;0)+MATCH(M7;$E$7:$E$9;0);MATCH(M8;$E$6:$J$6;0))
 

File đính kèm

không được mọi người ạ @@
Bạn xem file đính kèm nhé:

Thử như vầy xem sao:
=INDEX(E6:J15;MATCH(M6;$D$7:$D$15;0)+MATCH(M7;$E$7:$E$9;0);MATCH(M8;$E$6:$J$6;0))
Chào anh Ba Tê!
Em đang nghĩ đến việc có khi nào áp dụng vào như kiểu này được không nhỉ? (Em đã thử nhưng không thành công)
Dùng hàm:
Mã:
=[COLOR=#000000]MATCH(M7;$E$6:$E$15;0)+[/COLOR]IF(M6={0,9;1;1,1};{0;3;6};0)
Kiểu như là nếu giá trị tại ô M6 nằm trong 1 mảng nào đó thì hàm sẽ tự động chọn 1 giá trị tương ứng trong 1 mảng mình cho sẵn luôn...
 

File đính kèm

Bạn xem file đính kèm nhé:


Chào anh Ba Tê!
Em đang nghĩ đến việc có khi nào áp dụng vào như kiểu này được không nhỉ? (Em đã thử nhưng không thành công)
Dùng hàm:
Mã:
=[COLOR=#000000]MATCH(M7;$E$6:$E$15;0)+[/COLOR]IF(M6={0,9;1;1,1};{0;3;6};0)
Kiểu như là nếu giá trị tại ô M6 nằm trong 1 mảng nào đó thì hàm sẽ tự động chọn 1 giá trị tương ứng trong 1 mảng mình cho sẵn luôn...
Tôi chưa nghĩ ra công thức nào gọn hơn.
Nếu dùng Offset thì cũng là vầy:
=OFFSET($E$5;MATCH($M$6;$D$7:$D$15;0)+MATCH($M$7;$E$7:$E$9;0);MATCH($M$8;$F$6:$J$6;0))
Nhưng tác giả yêu cầu là Index và Match nên phải làm theo 2 hàm đó thôi.
 
Bạn xem file đính kèm nhé:


Chào anh Ba Tê!
Em đang nghĩ đến việc có khi nào áp dụng vào như kiểu này được không nhỉ? (Em đã thử nhưng không thành công)
Dùng hàm:
Mã:
=[COLOR=#000000]MATCH(M7;$E$6:$E$15;0)+[/COLOR]IF(M6={0,9;1;1,1};{0;3;6};0)
Kiểu như là nếu giá trị tại ô M6 nằm trong 1 mảng nào đó thì hàm sẽ tự động chọn 1 giá trị tương ứng trong 1 mảng mình cho sẵn luôn...

Thank bạn vistaab đa giúp mình về file excel, h thì mình đã hiểu /-*+/ /-*+/ /-*+/ /-*+/[h=2][/h]
 
Bạn xem file đính kèm nhé:


Chào anh Ba Tê!
Em đang nghĩ đến việc có khi nào áp dụng vào như kiểu này được không nhỉ? (Em đã thử nhưng không thành công)
Dùng hàm:
Mã:
=[COLOR=#000000]MATCH(M7;$E$6:$E$15;0)+[/COLOR]IF(M6={0,9;1;1,1};{0;3;6};0)
Kiểu như là nếu giá trị tại ô M6 nằm trong 1 mảng nào đó thì hàm sẽ tự động chọn 1 giá trị tương ứng trong 1 mảng mình cho sẵn luôn...

Dùng thế này:
Mã:
MATCH(M7,E6:E15,0)+(MATCH(M6,{0.9,1,1.1},0)-1)*3
(Thay dấu phẩy hoặc chấm phẩy cho phù hợp)
------------------
Ngoài ra bài này có thể INDEX theo kiểu khác:
Mã:
=INDEX((F7:J9,F10:J12,F13:J15),MATCH(M7,E7:E9,0),MATCH(M8,F6:J6,0),MATCH(M6,{0.9,1,1.1},0))
 

File đính kèm

Lần chỉnh sửa cuối:
mình làm theo bạn vistaab và đã thành công, có điều mình không hiểu ý nghĩa chỗ hàm match+if ấy, mọi người giải thích giúp mình với :

MATCH(M7,$E$6:$E$15,0)+IF(M6=0.9,0,IF(M6=1,3,IF(M6=1.1,6," ")
 
Lần chỉnh sửa cuối:
Úp cái hình để dẽ bình luận :
Capture.jpg
 
Lần chỉnh sửa cuối:
mình làm theo bạn vistaab và đã thành công, có điều mình không hiểu ý nghĩa chỗ hàm match+if ấy, mọi người giải thích giúp mình với :

MATCH(M7,$E$6:$E$15,0)+IF(M6=0.9,0,IF(M6=1,3,IF(M6=1.1,6," ")
Bạn hỏi INDEX, MATCH thì nên dùng công thức bài #3, #11.
MATCH để tìm vị trí giá trị ô M7 trong cột E7:E15 (theo dữ liệu bạn đã sắp xếp thì chỉ cần E7:E9 là được), sẽ trả về kế quả 1, hoặc 2, hoặc 3.
Thêm IF: mục đích là lấy số dòng cho hàm INDEX theo điều kiện ô M6, nếu MATCH có kết quả là 2, M6 là 1.1 (IF trả ra kết quả 6) thì kết quả công thức trên sẽ trả về 8, kết hợp với INDEX(vùng, dòng 8, cột n nào đó)
 
Bạn hỏi INDEX, MATCH thì nên dùng công thức bài #3, #11.
MATCH để tìm vị trí giá trị ô M7 trong cột E7:E15 (theo dữ liệu bạn đã sắp xếp thì chỉ cần E7:E9 là được), sẽ trả về kế quả 1, hoặc 2, hoặc 3.
Thêm IF: mục đích là lấy số dòng cho hàm INDEX theo điều kiện ô M6, nếu MATCH có kết quả là 2, M6 là 1.1 (IF trả ra kết quả 6) thì kết quả công thức trên sẽ trả về 8, kết hợp với INDEX(vùng, dòng 8, cột n nào đó)
Mình vẫn không hiểu ý nghĩa của các số 0, 3, 6 trong hàm if. Mình hơi dốt mong các bạn chỉ giáo thêm
 
Mình vẫn không hiểu ý nghĩa của các số 0, 3, 6 trong hàm if. Mình hơi dốt mong các bạn chỉ giáo thêm
Thay vì bạn hỏi như vậy thì bạn thử thay đổi các số đó xem công thức trả ra kết quả như thế nào.
Cách kiểm tra kết quả của từng phần trong công thức: bôi đen cụm công thức và nhấn F9 để xem kết quả, nhấn ESC để trả lại công thức rồi thay đổi dữ liệu để kiểm tra tiếp. "Ngộ" ra được các ý nghĩa trong công thức sẽ giúp bạn nắm rõ, nhớ lâu kiến thức về hàm Excel hơn.
 
Mình vẫn không hiểu ý nghĩa của các số 0, 3, 6 trong hàm if. Mình hơi dốt mong các bạn chỉ giáo thêm
Nhưu bạn leonguyenz đã nói:
MATCH để tìm vị trí giá trị ô M7 trong cột E7:E15 (theo dữ liệu bạn đã sắp xếp thì chỉ cần E7:E9 là được), sẽ trả về kế quả 1, hoặc 2, hoặc 3.

Nếu M6=0,9 thì lấy dòng có nhóm thép là M7 ở E7:E9 (0 - không dịch xuống)
Nếu M6=1 thì lấy dòng có nhóm thép là M7 ở E10:E12 (3 - dịch xuống 3 dòng so với dòng ở trên)
Nếu M6=1,1 thì lấy dòng có nhóm thép là M7 ở E13:E15 (6 - dịch xuống 6 dòng so với dòng ở trên)
 
Dùng thế này:
Mã:
MATCH(M7,E6:E15,0)+(MATCH(M6,{0.9,1,1.1},0)-1)*3
Cám ơn chú, đây chính là cách cháu muốn làm mà không nghĩ ra :D

Mã:
=INDEX((F7:J9,F10:J12,F13:J15),MATCH(M7,E7:E9,0),MATCH(M8,F6:J6,0),MATCH(M6,{0.9,1,1.1},0))
Còn đây là dùng hàm Index dạng tham chiếu phải không ạ?
Mã:
INDEX(Reference,Row_num, [column_num], [area_num])
 
Bạn xem thử cái này xem thế nào nha. Chỉ dùng hàm INDEX và MATCH như bạn yêu cầu
C7=D7&E7
M7=D8&E8
=INDEX($F$7:$J$15;MATCH(M7;$C$7:$C$15;0);MATCH(M8;$F$6:$J$6;0))
 
Lần chỉnh sửa cuối:
Bạn thử dùng hàm sau:
Mã:
=INDEX($E$6:$J$15;MATCH(M7;$E$6:$E$15;0)+[COLOR=#ff0000]IF(M6=0,9;0;IF(M6=1;3;IF(M6=1,1;6;" ")))[/COLOR];MATCH(M8;$E$6:$J$6;0))
Cái đoạn chữ màu đỏ này hình như có thể rút gọn hơn phải không nhỉ?? Có anh chị nào đọc qua topic này xin chỉ dẫn thêm.
Chỗ màu đỏ có thể thay bằng
Mã:
LOOKUP(M6;{0,9;1;1,1};{0;3;6})

P/s: Nếu theo như tiêu đề Topic thì phải làm như thầy Ndu
 
Lần chỉnh sửa cuối:
Mình có thêm cách này nữa bạn tham khảo thử nha:
Cũng như bảng tính của bạn
C7=D7&e7 kéo xuống đến ô 15
=D8&E8
Mình chỉ dùng 2 công thức VLOOKUP và IF
=VLOOKUP(M7;$C$6:$J$15;IF(M8="B15";4;IF(M8="B20";5;IF(M8="B25";6;IF(M8="B30";7;8))));0)
Bạn xem thử có xài được không nha
 
mình làm theo bạn vistaab và đã thành công, có điều mình không hiểu ý nghĩa chỗ hàm match+if ấy, mọi người giải thích giúp mình với :

MATCH(M7,$E$6:$E$15,0)+IF(M6=0.9,0,IF(M6=1,3,IF(M6=1.1,6," ")
Vậy là sao ta?
Yêu cầu ở bài #1 của bạn đã được giải quyết xong chưa vậy?
Mình có một bài tập, trong đó cần truy xuất dữ liệu bằng cách sử dụng hàm match với index, mình đã cố tìm cách giải, nhưng giờ vẫn chưa tìm ra, mong mọi ngươì giúp đỡ.​
Là Index và Match đó.
Nếu muốn giải nhiều cách khác thì đừng nêu rõ "cần truy xuất dữ liệu bằng cách sử dụng hàm match với index", mọi người sẽ giải nhiều cách khác nhau.
Tự nhiên thêm cái IF vào rồi "mình làm theo bạn vistaab và đã thành công," vậy các bài chỉ Index và Match theo yêu cầu đề bài là "công cốc" rồi.
Tự nhiên mình tham gia vào topic này một cách "dzô dziêng". Híc!
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom