Lớp học GPE tháng 9 - TPHCM: Name động và Biểu đồ (tối 11, 13 và 15/9) | PivotTable (tối 12, 14 và 16/9) |
Hàm thống kê, chuỗi và công thức mảng (tối 18, 20 và 22/9)

Đăng ký học VBA và ADO - 3 chủ nhật 10, 17 và 24/9 - TPHCM

Đăng ký học VBA Cơ bản 8 buổi tối thứ 3-5-7 từ 19/9 - 5/10/2017 - TPHCM

Các câu hỏi về Hàm Index và Match

Thảo luận trong 'Hướng dẫn sử dụng các hàm trong Excel' bắt đầu bởi tienbv, 16 Tháng tám 2007.

  1. tienbv

    tienbv Thành viên mới

    Anh/chị nào biết về hàm match và index chỉ giúp tui với.
    Cho ví dụ cụ thể để tiện theo dõi, (đọc mãi ko hiểu).
    Thanks in advance!
    tienbv
     
  2. ThuNghi

    ThuNghi Hãy cho rồi sẽ nhận!

    Tôi xin mạn phép các cao thủ dịch "nôm" hàm match
    Hiểu hàm match sẽ tiếp index, yêu cầu các bạn nên tham khảo cách tạo name.
    Có ví dụ kèm để thực tập. Bạn hãy dùng vlookup để điền vào từ f2:F8, phần còn lại của file chưa làm.
     

    Các file đính kèm:

  3. Mr Okebab

    Mr Okebab Ngon Ngất Ngây

    Đã biết TA như vậy thì bạn chỉ cần
    1. Mở Excel
    2. nhấn F1
    3. Nhập match (hoặc index)
    4. Enter
    Như vậy bạn hoàn toàn có thể hiểu được rồi.
     
  4. tienbv

    tienbv Thành viên mới

  5. ThuNghi

    ThuNghi Hãy cho rồi sẽ nhận!

    Bạn nghiên cứu đáp án nhé.
    Tổng tháng thì dùng sumif
    Mà sao BT mà bạn không tự giải.
     

    Các file đính kèm:

  6. anhtuan1066

    anhtuan1066 Thành viên gạo cội

    Đây nè... Xem thử đúng ý chưa?
     

    Các file đính kèm:

  7. kachiusa108

    kachiusa108 Thành viên mới

    Chắc câu hỏi của em kỳ cục đối với mọi người lắm,-\\/.,nhưng em mở 173 công thức excel ra, đến phần công thức với INDEX thì khó hiểu quá,(viết bằng tiếng anh nên em dịch lõm bõm lắm), anh chị nào rành chỉ giùm em với, khi liên kết vớ i MATCH thì sẽ thế nào ạ-\\/..Cảm ơn mọi người nhiều

    -\\/.Chính là cái sheet INDEX trong file 173 công thức thông dụng của excel ạ. còn cái liên kết em hỏi chính là phần tính thuế trong bài tập này, em đọc ko hiểu ạ,(trong cột này có liên kết giữa index và match) mong anh chỉ giùm em**~**

    em vừa tìm thấy 1 đề tài tương tự ạ, để em xem cái này đã ạ-\\/.
     

    Các file đính kèm:

    • DE_04.XLS
      Kích thước:
      28.5 KB
      Đọc:
      1,375
    Chỉnh sửa lần cuối bởi điều hành viên: 17 Tháng chín 2008
  8. hieplv3010

    hieplv3010 Thành viên mới

    Gởi Kachiusa108. Anh nói theo cách mình hiểu, em xem có được không nhé. Người ta dùng index và match trường hợp bảng dò có nhiều dòng nhiều cột, trường hợp ít dòng, cột em dùng vlookup, thì thấy gọn hơn, nhưng nhiều dòng, cột thì công thức vlookup sẽ rất dài.
    Người ta kết hợp index và match vì
    Index để dò tìm trong một bảng, có nhiều dòng, nhiều cột. C.thức index(vùng dò tìm, dòng cần chọn, cột cần chọn). Tức là tại dòng thứ mấy, cột thứ mấy lấy ra giá trị cần tìm.
    Bây giờ để tìm dòng, or cột cần chọn, ta kết hợp với match, để chỉ ra giá trị cần tìm ở dòng thứ mấy, or cột thứ mấy.
    match(giá trị cần tìm, trong dãy cần tìm,0). Vd: Bây giờ để tìm B, trong dãy A, B, C, D thì nó sẽ chỉ ra B đang ở dòng thứ mấy, hoặc cột thứ mấy. 0 là lấy giá trị tuyệt đối, 1 là gần đúng.
    Như vậy match hỗ trợ để chỉ ra dòng thứ mấy, hoặc cột thứ mấy thoả mãn với c.thức index cần tìm đối với bảng cần tìm có nhiều dòng, nhiều cột.
    Vài ý kiến với bạn. Thân!
     
  9. SoiBien

    SoiBien Thành viên tiêu biểu

    Mình bổ sung thêm một ý

    dùng kết hợp Index và Match các bạn có thể tìm "ngược" (left/up lookup).
     
  10. Mr Okebab

    Mr Okebab Ngon Ngất Ngây

    Mình đã có một bài nói về Index-Match và Vlookup : Mình sơ lại nhé
    1. Vloopkup : Chỉ 1 chiều từ trái sang phải, vùng chứa dữ liệu tham chiếu phải nằm bên trái; Chỉ cần dùng một bảng duy nhất, rất tiện lợi cho việc đặt name
    2. Match-Index : Đa chiều, bên trái hay phải được hết. Việc đặt nảm tốn nhiều thời gian, cần nhiều bảng (ít nhất là 2); Tuy nhiên khi lập công thức và thay đổi vị trí cột thì lại rất .. . . sướng
    Tùy các bạn nhé.
     
  11. coganglen

    coganglen Thành viên mới

    Xin hỏi về hàm Index và Match?

    Tôi dùng hàm match và index tra bảng dựa vào các tham chiếu nhưng một số tham chiếu lại không cho ra kết quả mặc dù giá trị tìm vẫn có trong bảng. Vậy xin nhờ mọi người xem giúp!
     

    Các file đính kèm:

    • Index.rar
      Kích thước:
      100.1 KB
      Đọc:
      837
  12. nguyentuhp

    nguyentuhp Thành viên hoạt động

    Bạn sửa lại công thức này
    =IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32,1)+0.1,ROUNDDOWN($B$32,1)+0.2)
    thành:
    =IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32+0.1,1),ROUNDDOWN($B$32+0.2,1))

    Tương tự sửa công thức tại cột I
    =IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32,1)-0.1,ROUNDDOWN($B$32,1))
    thành:
    =IF(MOD(10*ROUNDDOWN($B$32,1),2)<>0,ROUNDDOWN($B$32-0.1,1),ROUNDDOWN($B$32,1))

    Nhưng tôi thấy công thức của bạn chưa chuẩn thì phải?
    Giả sử MOD(10*ROUNDDOWN($B$32,1),2)= 0 rồi thì h/R trên và dưới đều = h/R thưc tế => Giá trị nội suy sẽ chính xác 100%.

    Excel còn có một số lỗi nên phải linh động. Ví Dụ:
    =9.2-int(9.2)=0.199999999 <> 0.2
     
  13. salam

    salam Thành viên gắn bó

  14. nson

    nson Thành viên mới

    Góp ý Về Hàm Index Và Match

    Bạn coganglen thân mến! Đối với hàm Match nó có đến 3 cách dò (0,1,-1).
    Đối với bài toán của bạn thì chỉ cần dùng cách dò là -1 cho hàm match là được.
    vì: các giá trị trong khối dò của bài toán(a5:a17,a5:j5) đều đã được sắp xếp theo trật tự giảm dần (bảng chữ cái z-a).
    Chúc bạn thành công!
     
  15. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Thật sự chịu thua!
    Nói thiệt, tôi đã ngồi với bài toán này gần 5 tiếng đồng hồ... Thử đủ cách, thay hàm, thay định dạng, thậm chí tạo luôn một file mới nhập lại, cũng vẫn không được!

    Vấn đề không phải là hàm MATCH hay INDEX đâu. Mà vì cái gì đó, tôi không hiểu.

    Trường hợp mà bạn Coganglen gọi là OK, chỉ là may mắn thôi.
    Bác nào đã tải file này về, thay con số h = (ô B23), cho nó chạy từng nấc thử xem... có cái thì được, có cái thì #NA...

    Các cách sửa của các bạn đã nêu ra, sẽ sai (báo lỗi #NA) với một vài trường hợp nào đó của h. Thật đấy, các bạn thử lại xem (cho h chạy sao cho H22 và I22 nằm trong khoảng từ 0.4 đến 2)

    Có một cái này vui lắm, xin kể cho các bác nghe đặng suy nghĩ thêm:
    Để yên kết quả của công thức cho h/R = 1.2, thì nó báo #NA, nhập thẳng 1.2 vào H22 thì hết (giống cách của bạn Coganglen), tôi thử kiểu khác, không nhập thẳng nữa, mà thay vì để yên 1.2 trên ô F5, tôi nhập F5 = 6*0.2, thì lại hết báo lỗi ! Nhưng F5 = 1.2*1 thì không à nghe ! Không hiểu được !

    Sau đó tôi cho h chạy tiếp vài số... lại đụng số khác, tôi lại dùng chiêu trên để làm, nhưng lần này thì không ép phê nữa... Thậm chí gõ thẳng vào H22 chứ không lấy kết quả của công thức, nó cũng không chịu. Tức quá, tôi dùng một ô trống, gõ luôn = MATCH... (dò tìm riêng con số đó trong dãy A5:J5), nó vẫn báo là tìm không thấy. Mà rõ ràng trong A5:J5 có con số này! Vậy là tại cái gì ? Tôi đã thử thay định dạng ô, cũng không ăn thua.

    Như trên đã nói, tôi làm luôn một sheet mới, rồi cho h chạy thử với những con số đã báo lỗi bên sheet của Coganglen, thấy không sao, mừng quá... mà mừng hụt, vì cho h chạy tiếp, thì lại tiếp tục đụng con số khác... Mà chỉ bị bên mảng A5:J5 thôi, chứ mảng cột (A6:A17) thì không bị.

    Còn dùng -1 như bạn nvson nói, nó không báo lỗi nhưng cho kết quả sai, vì nó sẽ tìm "số nhỏ nhất mà lớn hơn số đi dò", chứ thật sự nó vẫn không tìm ra số mình cần dò. Ví dụ, tìm 1.2 không ra thì nó lấy đại 1.4... Khi dùng hàm MATCH, tôi vẫn khuyên người ta nên xài cách tìm là 0, để luôn được kết quả chính xác (với lại chả cần quan tâm trong mảng có sort hay chưa...)

    Đôi lời tâm sự cùng các bác. Quả thật tới bi giờ thì tôi đuối... Từ hồi biết Excel đến giờ, chưa bao giờ tôi gặp chuyện này.
     
  16. nguyentuhp

    nguyentuhp Thành viên hoạt động

    Tôi Test công thức của tôi đưa lên và cho kết quả đều đúng cả mà!
    và còn 1 cách nữa là thêm Round vào đầu công thức tính h/R:
    =Round( If( ......), 1) cũng ổn mà!
     
  17. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Gửi bạn nguyentuhp: Bạn nói đúng rồi. Xin lỗi bạn. Tôi đã không để ý cái chuyện bạn đưa +0.1 vào bên trong dấu ngoặc đơn. Có lẽ tại vì cứ loay hoay với MATCH và INDEX, mà không để ý đến những cái khác.
     
  18. tigertiger

    tigertiger being bored with EPG

    ĐÚng rồi, Giải pháp là ta phải làm tròn số trước khi đưa vào tra theo hàm match,

    Vì thế ở đây bạn nên dùng công thức
    =ROUND (<...>,1) đối với h/R

    =ROUND (<...>,0) đối với E/Ech

    Như thế là tra được -> bạn test xem sao?

    Nếu ko được bạn thử dùng cách nội suy 2 chiều -> Sd AddIn của tôi - download tại đây: http://www.giaiphapexcel.com/forum/showpost.php?p=50931&postcount=6
    thì chắc chắn được - nhưng nhớ là sau khi nội suy thì dùng hàm Round(<...>,2) để chỉ lấy 2 chữ số thôi nhé
     
    Lần chỉnh sửa cuối: 17 Tháng một 2008
  19. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    TigerTiger à, bạn đọc không kỹ đề bài rồi. Không phải là làm tròn số đâu. ROUNDDOWN() khác với ROUND().
    ROUNDDOWN() có tác dụng giống như là cắt bớt đi phần lẻ, chỉ giữ lại bao nhiêu con số lẻ sau dấu thập phân, tương tự như hàm TRUNC() vậy.

    Bạn thử nhé:
    ROUND(1.97, 1) = 2.0 | ROUNDDOWN(1.97, 1) = 1.9 | TRUNC(1.97, 1) = 1.9

    ROUND(1.92, 1) = 1.9 | ROUNDDOWN(1.92, 1) = 1.9 | TRUNC(1.92, 1) = 1.9
    ROUNDDOWN() là làm tròn xuống, chính xác là xuống phía số 0, nghĩa là luôn làm tròn thành một số nhỏ hơn số đem đi làm tròn, và lấy mấy số lẻ thì tùy vào ta chỉ định. Nên khi dùng ROUNDOWN() làm tròn lấy 1 số lẻ, thì 1.97 cũng giống như 1.92 thôi, đều bằng 1.9

    Trong khi ROUND() thì giống như cách chúng ta hay tính nhẩm, nghĩa là số ở sau mà lớn hơn hoặc bằng 5, thì khi làm tròn, sẽ đôn số trước nó lên 1, nên 1.97 khi làm tròn lên sẽ là 2.0, còn 1.92 thì chỉ là 1.9

    Bạn thấy sự khác nhau giữa ROUND() và ROUNDDOWN() rồi chứ...
     
  20. tigertiger

    tigertiger being bored with EPG

    - Cái này thì tôi biết rõ rồi , BNTT ah

    - Vẫn đề ở đây của bạn đó là lỗi làm tròn -> vì ko tròn nên không khớp với bảng có sẵn - có vậy thôi. Giải pháp thì có 2 cách :
    + một là các như nguyentuhp
    + hai là cách như tigertiger đã làm

    vậy thôi, NHƯNG vấn đề ở đây là phải chỉ rõ cho bạn ấy biết về lỗi này , và quan trọng hơn cả là khi làm việc với MT nói chung và Excel nói riêng phải luôn chú ý đến vấn đề SAI SỐ -> phải làm tròn trước khi tra,
     

Chia sẻ trang này