Lấy giá trị với giá trị gần đúng nhất theo điều kiện cùng ngày
Chào các anh chị,
Các anh chị vui lòng giúp đỡ em trong trường hợp sau nhé:
Em muốn lấy giá trị đúng hoặc gần đúng nhất của một cột theo một cột khác với điều kiện các số đó cùng ngày.
Các anh chị xem file đính kèm dùm em nhé.
Em cảm ơn
Tuyết Liễu
Ban tham khảo cách mình làm bằng hàm tự tạo
–=0 –=0 –=0
||||| ||||| |||||
}}}}} }}}}} }}}}}
www.giaiphapexcel.com/diendan/threads/l%E1%BA%A5y-gi%C3%A1-tr%E1%BB%8B-v%E1%BB%9Bi-gi%C3%A1-tr%E1%BB%8B-g%E1%BA%A7n-%C4%91%C3%BAng-nh%E1%BA%A5t-theo-%C4%91i%E1%BB%81u-ki%E1%BB%87n-c%C3%B9ng-ng%C3%A0y.83554/
Khóa học SprinGO phù hợp
Kỹ năng giải quyết vấn đề hiệu quả
Mô tả Nội dung Đánh giá Tài nguyên KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ HIỆU QUẢHiểu đúng vấn đề là một nửa của giải...
Xem khóa học
Bạn dùng công thức sau
Kết thúc Ctrl + Shift + Enter
thử công thức này cho F2 xem nhé
=IF(COUNTIF($B$1:$B2,$B2)>1,"",SUMIFS($C$2:$C$9,$B$2:$B$9,$B2,$A$2:$A$9,$A2))
Chắc có đọc
Trong công thức cho ô F2 thì làm sao bạn có thể tham chiếu tới F2?
Có lẽ bạn gõ nhầm. Phải là E2. Mà sao nhiều ngoặc trong ABS thế?
Ngoài ra tôi không hiểu 100^100. Sao không đơn giản là ""?
Làm gì thì bạn cũng phải có ý tưởng, thuật toán. Và bạn cứ chia nhỏ bài toán ra những bài toán đơn giản.
1. Muốn tìm giá trị "gần nhất" trong những ngày trùng với B2 thì trước tiên phải có "những ngày trùng với B2" đó. Có được chúng thì mới xét tiếp xem anh nào cách E2 ít nhất. Ta gộp 2 bước này thành 1: Ta tạo 1 mảng tmp có số dòng bằng số dòng cột H. Xét các ngày trong cột H. Những ngày nào không trùng với B2 thì ta không xét, lờ đi, coi chúng như là không khí bằng cách cho ô tương ứng trong tmp bằng rỗng. Với các ngày trùng với B2 thì ta tính cự ly từ giá trị tương ứng ở cột I tới E2. Ta dùng giá trị tuyệt đối ABS vì hiệu giá trị có thể âm mà cự ly không thể âm (bạn không thể nói: cự ly từ Hà Nội tới Vinh là -500 km được).
Dễ thấy là
2. Để tìm giá trị "gần nhất" thì ta phải tìm ra dòng (chỉ số dòng) trong mảng tmp mà có giá tri (giá trị là các cự ly) nhỏ nhất. Vậy thì ta dùng hàm MATCH để tìm ra chỉ số dòng của giá trị nhỏ nhất. Tất nhiên giá trị cần tìm này chính là
Gọi chỉ số dòng của ô có giá trị nhỏ nhất là k ta có
Có chỉ số dòng của ô giá trị "gần nhất" rồi thì ô đó ta xác định bằng hàm INDEX. Gọi đó là "ô tốt" ta có
Nhưng ta phải lường được trường hợp khi ô E2 trống, bằng 0