Một công thức vô cùng củ chuối:Như tiêu đề, mình có bảng dò tìm (dò cột A, ra kết quả cột B)
--> Mình cần số Đúng ở cột G, nhờ anh em giúp đỡ sửa code, thanks!
View attachment 288347
=IFERROR(IF(D5=0,25000,INDEX($B$1:$B$200,MATCH(D5-0.4,$A$1:$A$200,1)+1)),"")
Sao cứ viết lung tung rồi tự xóa, mất công BQT phải dọn dẹp vậy?!!!.... .. . . ..
Em định đưa ra công thức này thôi anh.Công thức theo suy luận đơn giản:
=INDEX($B$1:$B$71,MATCH(D2,$A$1:$A$71,1)+IF(ISNA(MATCH(D2,$A$1:$A$71,0)),1,0),1)
=IFERROR(INDEX($A$1:$B$71,MATCH(D2-0.4,$A$1:$A$71,1)+1,2),25000)
hehe, công thức đó mà nãy gõ sai chỗ -1 là -0.1 cũng ra đúng nữa, paste lên đây coi lại mới thấy. Để mình thử edit lại công thức mấy bạn giúp xem thế nào.Một công thức vô cùng củ chuối:
Mã:=IFERROR(IF(D5=0,25000,INDEX($B$1:$B$200,MATCH(D5-0.4,$A$1:$A$200,1)+1)),"")
Con số 0.4 và con số 25 ngàn đưa cứng vào công thức là chết.Em định đưa ra công thức này thôi anh.Mã:=IFERROR(INDEX($A$1:$B$71,MATCH(D2-0.4,$A$1:$A$71,1)+1,2),25000)
Thư công thức này xem.Như tiêu đề, mình có bảng dò tìm (dò cột A, ra kết quả cột B)
--> Mình cần số Đúng ở cột G, nhờ anh em giúp đỡ sửa code, thanks!
View attachment 288347
=IF(ISNA(INDEX($B$1:$B$71,MATCH(D2,$A$1:$A$71,0))),INDEX($B$1:$B$71,MATCH(MIN(IF($A$1:$A$71>D2,$A$1:$A$71)),$A$1:$A$71,0)),INDEX($B$1:$B$71,MATCH(D2,$A$1:$A$71,0)))
Bản chất dò tìm không chính xác bắt buộc phải dò tìm tăng dần. Công thức bài 1 tác giả gọi là đang sai, công thức bài 2, bài 4, bài 5 cũng là dò tìm không chính xác. Vậy thì dữ liệu bắt buộc phỉ tăng dần (như trong file)Thư công thức này xem.
Mã:=IF(ISNA(INDEX($B$1:$B$71,MATCH(D2,$A$1:$A$71,0))),INDEX($B$1:$B$71,MATCH(MIN(IF($A$1:$A$71>D2,$A$1:$A$71)),$A$1:$A$71,0)),INDEX($B$1:$B$71,MATCH(D2,$A$1:$A$71,0)))
Công thức chỗ anh PTM hình như cột tham chiếu cần sắp xếp tăng dần.
Cộng thêm 4 số 9Như tiêu đề, mình có bảng dò tìm (dò cột A, ra kết quả cột B)
--> Mình cần số Đúng ở cột G, nhờ anh em giúp đỡ sửa code, thanks!
View attachment 288347
=VLOOKUP(D2+0.9999,$A$1:$B$71,2)
Theo tôi việc cộng hay trừ 1 con số để tính nó hơi gượng ép. Nếu thông minh thì nghĩ ra ngay 1 con số hợp lý để cộng/ trừ, nếu chậm chạp sẽ phải thử vài ba lần và phải biết cách test thật kỹ. Chọn con số sai như bài 1 sẽ thấy sai ngay, chọn như bài 5 sẽ sai tiềm ẩn.Cộng thêm 4 số 9Mã:=VLOOKUP(D2+0.9999,$A$1:$B$71,2)
Bài 6 là tôi sửa công thức sai, nếu tôi viết bằng Vlookup thì:dùng hàm VLOOKUP dễ nhìn, dễ chỉnh sửa hơn.
Dân GPE quen lối mòn cũ cho nên cứ đụng vào là INDEX/MATCH.
Công thức này chỉ đúng nếu bảng dò tăng theo bậc 1.Theo mình hiểu thì ở đây là dò tìm lấy cận trên của đoạn, vì tham số là số nguyên nên có thể dùng được như sau:
Mã:=INDEX($B$1:$B$200,MATCH(roundup(D2,0),$A$1:$A$200,1))
Công thức cộng 4 số 9 và công thức trừ 0.4 cũng vậy.Công thức này chỉ đúng nếu bảng dò tăng theo bậc 1.
Tôi hiểu theo suy luận thông thường:với ngưỡng >=0.4 thì sẽ lấy theo mốc trên 70.000
với ngưỡng <0.4 thì sẽ lấy theo mốc dưới 65.000
=INDEX($B$1:$B$71,ROWS($A$1:$A$71)-COUNTIF($A$1:$A$71,">="&D2)+1)
mình thử thấy dùng vlookup như trên đúng cho trường hợp mình cần,
Cho hỏi thêm là nếu muốn bỏ ô trống "" cho những ô D2 không có giá trị thì chỉnh sửa sao ạ
*Ảnh minh họa, do kéo công thức full bảng mà cột D2 thì phần dưới không có giá trị.
View attachment 288706
ổn rồi ạ, cảm ơn bạn nhiều!Thêm hàm IF vào công thức:
=IF(D2="","",VLOOKUP(CEILING(D2,1),$A$1:$B$71,2,0))
.
Theo em dùng lookup cho trường hợp này ổn hơn nhiều.Con số 0.4 và con số 25 ngàn đưa cứng vào công thức là chết.
Đâu có biết từ 2.01 đến 2.39 lấy dòng nào?