Lớp học GPE tháng 10 - TPHCM: Conditional Formatting và Data Validation (tối 4, 6/10) | Excel cơ bản (tối 9, 11, 13/10) |
Thuần thục các hàm dò tìm (tối 10, 12/10) | Tất tần tật về PivotTable (tối 16, 18, 20/10) |
Tất tần tật về Filter và Advanced Filter (tối 23, 25/10) | Name động và biểu đồ (tối 24, 26, 28/10)

Đăng ký học Khởi đầu cùng Google Spreadsheet - 2 chủ nhật 1 và 8/10 - TPHCM

Đăng ký học Xây dựng ứng dụng Form bằng VBA - 2 chủ nhật 15 và 22/10 - TPHCM

Tìm giá trị cao nhất trong cột theo ô tương ứng

Thảo luận trong 'Tìm kiếm, dò tìm và tham chiếu' bắt đầu bởi peter_george, 22 Tháng bảy 2012.

  1. peter_george

    peter_george Thành viên mới

    Chào mọi người, em có vấn đề nhờ mọi người tư vấn giúp. Đây là bảng ví dụ:
    Capture.PNG

    Chẳng là em đang muốn làm cái bảng điểm ở trường. Do theo quy chế tín chỉ nên SV có quyền học 1 môn nhiều lần, điểm TB của lần học nào cao nhất sẽ được lấy để tính GPA (điểm TB tích lũy). Như theo ví dụ trên, môn 1 được học 3 lần, trong đó lần học thứ 2 (ô B5) có điểm TB cao nhất trong 3 lần học. Tương tự môn 2 được học 2 lần, lần học thứ 2 (ô B6) có điểm TB cao nhất.

    Câu hỏi của em là: em muốn tìm giá trị điểm lớn nhất trong cột B tương ứng theo môn học trong cột A. Cụ thể với môn 1, em cần tìm giá trị lớn nhất trong số các giá trị tương ứng với môn 1 ở cột B. Theo ví dụ trên thì giá trị trả về mong muốn là:
    • Môn 1: 2.8
    • Môn 2: 3.6

    Em đã thử dùng PivotTable (sau 1 hồi mò mẫm), đáp ứng được yêu cầu của em nhưng PivotTable chỉ là dữ liệu tĩnh (nếu bảng dữ liệu thô có thay đổi thì lại phải tạo 1 cái pivottable khác). Giả sử SV học tiếp môn 1 lần thứ 4 với điểm TB là 3.8 (lớn nhất trong tất cả các lần học) thì sẽ lấy điểm của lần học thứ 4. Do đó em cần 1 phương pháp mang tính "động" hơn. Em có xem qua bài về hàm DMax trên forum mình nhưng chưa biết áp dụng vào bảng của em như thế nào.

    Mọi người giúp em giải quyết vấn đề này nha, em cảm ơn rất nhiều :)
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 22 Tháng bảy 2012
  2. nghiaphuc

    nghiaphuc Hoàng Nghĩa Phúc Staff Member

    Cách 1: Sử dụng hàm mảng:
    1. Tạo 2 name động:
    Mã:
    Mon=OFFSET(Sheet1!$A$2,,,COUNTA(Sheet1!$A:$A)-1)
    Diem=OFFSET(Mon,,1)
    2. Tạo bảng thống kê có dạng:
    Column1Column2Column3
    FG
    1Môn họcĐiểm cao nhất
    2Môn 1
    3Môn 2
    4Môn 3

    Sử dụng công thức mảng cho ô G2 như sau và fill xuống cho cả bảng thống kê:
    Mã:
    =MAX(IF(Mon=F2,Diem,""))
    (nhớ kết thúc bằng tổ hợp Ctrl+Shift+Enter)
    Với cách này, có thể thay đổi điểm hoặc nhập thêm mới vào danh sách ở cột A, B (nhớ nhập liên tục) thì kết quả ở bảng thống kê tự động cập nhật.

    Cách 2: Sử dụng PivotTable với Data source động:
    1. Tạo name động:
    Mã:
    DuLieu=OFFSET(Sheet1!$A$1,,,COUNTA(Sheet1!$A:$A),2)
    2. Tạo PivotTable (việc này bạn biết làm rồi)
    Với cách này, mỗi lần thay đổi điểm hoặc nhập thêm mới vào danh sách ở cột A, B (nhớ nhập liên tục) thì chỉ cần click phải vào PivotTable và chọn Refresh là kết quả sẽ được cập nhật.

    Bạn tham khảo trong file nhé.
     

    Các file đính kèm:

  3. Ba Tê

    Ba Tê Cạo Rồi Vẫn Gội

    Cách 1: Nghĩa Phúc hà tiện quá vậy. =MAX(IF(Mon=F2;Diem;"")) Ctrl+Shift+Enter.
    Đã có 2 Name thì 3 Name cũng có sao đâu?
    Thêm 1 Name Diem_TB = IF(Mon=$F2;Diem;"")
    Để cho người khác khỏi phải Ctrl+Shift+Enter, chỉ cần:
    =Max(Diem_TB) rồi Enter thôi.
    Thọt lét cái, hổng nhột thì thôi. Ẹc...
     
  4. peter_george

    peter_george Thành viên mới

    ^^ cảm ơn hai anh nhiều ạ, em dùng cách 1 của anh nghiaphuc thấy ổn nhất, không cần phải thao tác gì thêm, chỉ cần nhập entry mới là nó tự động tính toán lại :)
     
  5. Lê Duy Thương

    Lê Duy Thương CẠO LẤY GÌ GỘI ?

    CÒN 1 CÁCH NỮA MÀ KHI DÙNG PIVOT TABLE CHẲNG CẦN DÙNG NAME ĐỘNG MÀ VẪN OK. ĐÓ LÀ TẠO 1 TABLE SAU ĐÓ Data source SẼ LẤY LUÔN TABLE .KHI GÕ DỮ LIỆU THÌ VÙNG DATA SOURE CŨNG DI CHUYỂN THEO NHƯ NAME ĐỘNG
     

    Các file đính kèm:

  6. netsbs

    netsbs Thành viên mới

    Sẵn đây cho mình hỏi thêm cái này.
    [​IMG]

    Mình muốn tìm giá trị Max của cột B ra B7 rồi sau đó cho hiển thị kết quả tương ứng vào A7 thì làm ntn ? Thanks
    VD như hình trên: Giá trị Max là 3,6(B6) sẽ nằm ở B7, tương ứng với Môn 2(A6) cho ra kết quả ở A7.
     

Chia sẻ trang này