tranquocduy
Thành viên mới

- Tham gia
- 11/2/07
- Bài viết
- 16
- Được thích
- 2
Chào diễn đàn, mình muốn tìm giá trị nằm trong khoảng 2 giá trị giới hạn của nó, như file đính kèm, nhờ diễn đàn hướng dẫn giúp.
Công thức ô F2. Nếu giá trị trùng với giá trị biên thì lấy giá trị ở dòng bên dưới.Chào diễn đàn, mình muốn tìm giá trị nằm trong khoảng 2 giá trị giới hạn của nó, như file đính kèm, nhờ diễn đàn hướng dẫn giúp.
=INDIRECT("A"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($A$2:$A$7)))
Option Explicit
Function TìmGT(Num As Long, GHT As Range)
Dim WF As Object, sRng As Range
Dim jJ As Long, Max_ As Long
Set WF = Application.WorksheetFunction
Max_ = WF.Max(GHT)
If Max_ <= Num Then
TìmGT = "Nothing": Exit Function
Else
For jJ = Num To Max_
Set sRng = GHT.Cells(1, 1).Resize(GHT.Rows.Count).Find(jJ, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
If sRng.Offset(, 1) < Num Then
TìmGT = sRng.Offset(, -1).Value
Exit For
End If
End If
Next jJ
End If
End Function
Công thức ô F2. Nếu giá trị trùng với giá trị biên thì lấy giá trị ở dòng bên dưới.
Bấm Ctrl+Shift+Enter sau khi gõ xong công thức.PHP:=INDIRECT("A"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($A$2:$A$7)))
các bạn cho mình hỏi với.mình có 1 cột gồm các giá trị 15 20 25 32 40 50 65....Bây giờ ở 1 ô tính toán đc có giá trị 15.22. mình muốn lập công thức cho 1 ô kiến nghị khi giá trị 15.22 đó nằm trong khoản 15 20 thì lấy giá trị max là 20. các giá trị khác tương tự .thanks
=INDEX(vùng giá trị,MATCH(15.22,vùng giá trị)+1)
Kính gửi các cao thủ trên diễn đàn; công việc của em đang có bài toán cần giải theo file đính kèm.
cũng tìm kiếm tham chiếu lấy giá trị của bảng này tham chiếu trên bảng kia với giá trị cần tham chiếu 2 cột(2 đại lượng : 1 tìm kiếm, 1 so sánh) bảng được tham chiếu 3 cột (1 cột giá trị tìm, 2 cột còn lại để nhận giá trị so sánh)
các cao thủ chỉ giúp mình vì mình cũng đang cần gấp mà nhiều ngày chưa nghĩ ra.
Trân trọng cảm ơn sự trợ giúp.
=IFERROR(LOOKUP(2,1/(($A$2:$A$7=F3)*($B$2:$B$7<=G3)*($C$2:$C$7>=G3)),$D$2:$D$7),"Khong Co")
xem thử....................................................................
Thanks Let'GâuGâu![]()
tuy nhiên G3 cần phải so sánh với cận trên nữa (tức là G3 so sanh cả với cột B và so sánh cả với cột C) vì cận trên và cận dưới của các dòng là độc lập, có thể giao nhau.
Let'GâuGâu bổ sung thêm tý nữa được Không? cảm ơn Let'GâuGâu
xjn các cao thủ giúp đỡ, tìm giá trị trong khoảng hai số, excel có file đính kèm ví dụ
=forecast($g$5,$d$5:$d$13,$e$5:$e$13)
Mã:=forecast($g$5,$d$5:$d$13,$e$5:$e$13)
=INTERCEPT(D5:D13,E5:E13)+SLOPE(D5:D13,E5:E13)*G5
=OFFSET($D$5,MATCH($BD$25,{0,9,11,26,51,91,151,281,501,1201,3201,10001,35001,150001,500001},1),MATCH($BD$27,{0.01,0.015,0.025,0.04,0.065,0.1,0.15,0.25,0.4,0.65,1,1.5,2.5,4,6.5,10},0))
Hi anh/chị,Một cách khác:
Mã:=IFERROR(LOOKUP(2,1/(($A$2:$A$7=F3)*($B$2:$B$7<=G3)*($C$2:$C$7>=G3)),$D$2:$D$7),"Khong Co")
"A" là cái gì mình chưa hiểu lắm?Công thức ô F2. Nếu giá trị trùng với giá trị biên thì lấy giá trị ở dòng bên dưới.
Bấm Ctrl+Shift+Enter sau khi gõ xong công thức.PHP:=INDIRECT("A"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($A$2:$A$7)))
Không đúng chổ nào ,bạn đưa file lên thử xemHi anh/chị,
Mình cũng gặp trường hợp tương tự và công thức work rất hiệu quả, tuy nhiên có một vấn đề cần chỉ giáo là khi giá trị tham chiếu bằng cận trên hoặc dưới thì ra là hông có.
"A" là A đó bạn"A" là cái gì mình chưa hiểu lắm?
Có thể đơn giản hơn nhiều đó bạn:Oct 26, 2018
#28
hoangdanh282vn said:
Công thức ô F2. Nếu giá trị trùng với giá trị biên thì lấy giá trị ở dòng bên dưới.
PHP:Copy.
=INDIRECT("A"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($A$2:$A$7)))
Bấm Ctrl+Shift+Enter sau khi gõ xong công thức.
"A" là cái gì mình chưa hiểu lắm?
"A" là cột trả về kết quả (đi kèm theo "*ROW($A$2:$A$7)" phải không mọi người ?
=INDIRECT("C"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($C$2:$C$7)))
F2=LOOKUP(E2,$C$2:$C$7)
E cần tìm giá trị này móng cả nhà giúp đỡ |
So sánh giá trị (Q) tại cột Q với giá trị (Q) tại cột D |
nếu bằng thì dò trong hàng chọn được giá trị (V) nằm trong khoảng 0.9 đến 1.3 |
Chọn được vị trí giá trị (V), |
kết quả trả về giá trị tương ứng tại hàng 5 là 50 hoặc 60 hoặc 75… |
E cám ơn nhiều ! |
E cần tìm giá trị này móng cả nhà giúp đỡ So sánh giá trị (Q) tại cột Q với giá trị (Q) tại cột D nếu bằng thì dò trong hàng chọn được giá trị (V) nằm trong khoảng 0.9 đến 1.3 Chọn được vị trí giá trị (V), kết quả trả về giá trị tương ứng tại hàng 5 là 50 hoặc 60 hoặc 75… E cám ơn nhiều !
Cám ơn anh trợ giúp! Kết quả ghi vào một ô riêng anh ạ (ví dụ ô bên cạnh là R6 ạ), kết quả là 50 hoặc 60 hoặc 75 tùy thuộc vào giá trị V tương ứng thỏa mãn điều kiện 0.9<V<1.2 (điều kiện này khống chế để chỉ cho 1 giá trị đường kính) ạ.Tìm được kết quả tại hàng 5 là 50 hoặc 60 hoặc 75 ...? Vậy bạn chọn kết quả nào và ghi vào đâu?
Công thức tại ô R6:Cám ơn anh trợ giúp! Kết quả ghi vào một ô riêng anh ạ (ví dụ ô bên cạnh là R6 ạ), kết quả là 50 hoặc 60 hoặc 75 tùy thuộc vào giá trị V tương ứng thỏa mãn điều kiện 0.9<V<1.2 (điều kiện này khống chế để chỉ cho 1 giá trị đường kính) ạ.
Em ví dụ cho dễ hiểu ạ: Với giá trị Q = 3.6 l/s tại ô Q6, tương ứng với dữ liệu tại hàng 9 (vận tốc v trong các ô từ E9 đến L9), với mỗi loại đường kính là 50 hoặc 60 hoặc 75... cho ta một giá trị vận tốc V khác nhau là đường kính 50 vận tốc là 1.12, đường kính 60 vận tốc là 0.94, đường kính 75 vận tốc là 0.67, e cần tìm đường kính nào cho vận tốc nằm trong khoảng 0.9<V<1.2 ạ . Cảm ơn a ạ!
=OFFSET($D$5,,MATCH(1,INDEX((OFFSET($E$5:$L$5,MATCH(Q6,$D$6:$D$25,0),0)>0.9)*(OFFSET($E$5:$L$5,MATCH(Q6,$D$6:$D$25,0),0)<1.3),0),0))
Em thử được rồi, thanks bác nhiều ạ !Công thức tại ô R6:
Mã:=OFFSET($D$5,,MATCH(1,INDEX((OFFSET($E$5:$L$5,MATCH(Q6,$D$6:$D$25,0),0)>0.9)*(OFFSET($E$5:$L$5,MATCH(Q6,$D$6:$D$25,0),0)<1.3),0),0))
Chào bạn,Thêm 1 tham khảo cho vui cửa nhà
PHP:Option Explicit Function TìmGT(Num As Long, GHT As Range) Dim WF As Object, sRng As Range Dim jJ As Long, Max_ As Long Set WF = Application.WorksheetFunction Max_ = WF.Max(GHT) If Max_ <= Num Then TìmGT = "Nothing": Exit Function Else For jJ = Num To Max_ Set sRng = GHT.Cells(1, 1).Resize(GHT.Rows.Count).Find(jJ, , xlFormulas, xlWhole) If Not sRng Is Nothing Then If sRng.Offset(, 1) < Num Then TìmGT = sRng.Offset(, -1).Value Exit For End If End If Next jJ End If End Function
Mình đã tìm ra được lời giải thuyết phục nhất từ công thức này, tuy bài viết lâu rồi nhưng mình vẫn gửi lời cám ơn đến bạn, hy vọng bạn đọc được.Công thức ô F2. Nếu giá trị trùng với giá trị biên thì lấy giá trị ở dòng bên dưới.
Bấm Ctrl+Shift+Enter sau khi gõ xong công thức.PHP:=INDIRECT("A"&MAX(($B$2:$B$7>=E2)*($C$2:$C$7<=E2)*ROW($A$2:$A$7)))
b thamkharohay quá.mình làm đc rồi.cảm ơn bạn !
=INDEX($A$2:$A$7,MATCH($E2,$C$2:$C$7,1))
Ngày 5 tháng 3 kết quả K?Nhờ cộng đồng giúp mình tìm cách dò Mã kí hiệu theo chuỗi thời gian với..
Cảm ơn mọi người..!
Thử ?Nhờ cộng đồng giúp mình tìm cách dò Mã kí hiệu theo chuỗi thời gian với..
Cảm ơn mọi người..!
mình gửi lại kết quả nhập bằng tay,, và chỉnh lại điều kiện của bài.. Sr..Ngày 5 tháng 3 kết quả K?
Dùng công thức của bạn @Phuocammình gửi lại kết quả nhập bằng tay,, và chỉnh lại điều kiện của bài.. Sr..
đã xong mình đã làm được rồi cảm ơn mọi anh.Dùng công thức của bạn @Phuocam
đã xong mình đã làm được rồi cảm ơn anhmình gửi lại kết quả nhập bằng tay,, và chỉnh lại điều kiện của bài.. Sr..
Bạn thay đổi dữ liệu từ C2 đến K2 thành 2 dòng rồi dùng LOOKUP như các bài hướng dẫn ở trên.Nhờ các Anh/Chị hỗ trợ công thức tìm giá trị phù hợp trong khoảng theo file đính kèm ạ.
Cám ơn mọi người.
STT | Mã cửa hàng | Đơn giá (VND/ m3) | ||||||||
0 | 0.5001 | 1.0001 | 1.4001 | 2.0001 | 3.0001 | 4.0001 | 6.0001 | 10.0001 | ||
1 | 5719 | 523,000 | 504,000 | 486,000 | 479,000 | 471,000 | 387,000 | 381,000 | 378,000 | 355,000 |
2 | 7200 | 523,000 | 504,000 | 486,000 | 479,000 | 471,000 | 387,000 | 381,000 | 378,000 | 355,000 |
3 | 6450 | 684,000 | 652,000 | 620,000 | 591,000 | 563,000 | 537,000 | 510,000 | 487,000 | 464,000 |
4 | 5058 | 412,000 | 392,000 | 373,000 | 356,000 | 339,000 | 322,000 | 307,000 | 292,000 | 279,000 |
5 | 4932 | 412,000 | 392,000 | 373,000 | 356,000 | 339,000 | 322,000 | 307,000 | 292,000 | 279,000 |
6 | 4960 | 474,000 | 451,000 | 430,000 | 410,000 | 390,000 | 370,000 | 353,000 | 335,000 | 321,000 |
7 | 7085 | 536,000 | 510,000 | 486,000 | 463,000 | 441,000 | 418,000 | 399,000 | 379,000 | 363,000 |
8 | 5664 | 474,000 | 451,000 | 430,000 | 410,000 | 390,000 | 370,000 | 353,000 | 335,000 | 321,000 |
9 | 4014 | 291,000 | 277,000 | 263,000 | 251,000 | 239,000 | 228,000 | 217,000 | 206,000 | 196,000 |
10 | 118 | 817,000 | 680,000 | 627,000 | 627,000 | 627,000 | 627,000 | 627,000 | 608,000 | 581,000 |
11 | 129 | 599,000 | 578,000 | 556,000 | 548,000 | 538,000 | 463,000 | 458,000 | 451,000 | 420,000 |
Cám ơn hướng xử lý của Phuocam.Bạn thay đổi dữ liệu từ C2 đến K2 thành 2 dòng rồi dùng LOOKUP như các bài hướng dẫn ở trên.
Hoặc thay đổi như bên dưới, rồi dùng:
=VLOOKUP(B17,$B$3:$K$13,MATCH(C17,$C$2:$K$2,1)+1,0)
STT Mã cửa hàng Đơn giá
(VND/ m3)0 0.5001 1.0001 1.4001 2.0001 3.0001 4.0001 6.0001 10.0001 15719 523,000 504,000 486,000 479,000 471,000 387,000 381,000 378,000 355,000 27200 523,000 504,000 486,000 479,000 471,000 387,000 381,000 378,000 355,000 36450 684,000 652,000 620,000 591,000 563,000 537,000 510,000 487,000 464,000 45058 412,000 392,000 373,000 356,000 339,000 322,000 307,000 292,000 279,000 54932 412,000 392,000 373,000 356,000 339,000 322,000 307,000 292,000 279,000 64960 474,000 451,000 430,000 410,000 390,000 370,000 353,000 335,000 321,000 77085 536,000 510,000 486,000 463,000 441,000 418,000 399,000 379,000 363,000 85664 474,000 451,000 430,000 410,000 390,000 370,000 353,000 335,000 321,000 94014 291,000 277,000 263,000 251,000 239,000 228,000 217,000 206,000 196,000 10118 817,000 680,000 627,000 627,000 627,000 627,000 627,000 608,000 581,000 11129 599,000 578,000 556,000 548,000 538,000 463,000 458,000 451,000 420,000
Bạn thử hàm sau:Chào các thầy và anh chị em GPE.
Em cũng có bài toán gần giống anh chị em hỏi trên nhờ các thầy và anh chị em GPE giúp đỡ theo file đính kèm gồm:
- Lấy giá trị trong khoàng
- Tham chiếu 2 điều kiện
Em cảm ơn.
=INDEX($C$2:$C$8,MATCH(H3,$B$2:$B$8,1))
Cảm ơn bác. Em thấy đúng rồi ạ.=INDEX($C$2:$C$8,MATCH(H3,$B$2:$B$8,1))
Vì em có điều kiện của HM nữa, nên bác xem thêm giúp em với ạ, nếu HM được thay bằng tên khác thì không ra được kết quả ạCảm ơn bác. Em thấy đúng rồi ạ.
Em tìm mà chưa thấy, bác có link bài viết đó gửi giúp em xem với ạ. Bạn em nhờ viết được công thức như thế này: =INDEX($C$2:$C$69,MAX(IFERROR((T(N("HLVD"))&L2=$A$2:$A$69)*(N("HLVD")=0)*((N("HLVD")+M2)>=$B$2:$B$69)*(N("HLVD")=0)*ROW($1:$97),N("HLVD"))))Hàm Match với tham số thứ 3 là 1 thì là cách tìm gần đúng (tìm giá trị giữa 2 dòng). Kiểu này chỉ áp dụng được cho một điều kiện, hoặc hai điều kiện có cùng kiểu là số. Điều kiện của bạn vừa là số, vừa là chữ cho nên không thể dùng. (muốn dùng thì phải lồng nhiều Index/Match, rất phức tạp.
Cách dò nhiều điều kiện nằm ở trong các hàm mảng SUMPRODUCT, LOOKUP, AGGREGATE. Bài này ở đây có nhiều rồi. Nếu bạn chịu khó tìm thì ra.
Thấy được thì cứ việc xài.Em tìm mà chưa thấy, bác có link bài viết đó gửi giúp em xem với ạ. Bạn em nhờ viết được công thức như thế này: =INDEX($C$2:$C$69,MAX(IFERROR((T(N("HLVD"))&L2=$A$2:$A$69)*(N("HLVD")=0)*((N("HLVD")+M2)>=$B$2:$B$69)*(N("HLVD")=0)*ROW($1:$97),N("HLVD"))))
Em không hiểu như thế nào nhưng đang cho ra kết quả ok bác ạ.
Hàm AGGREGATE khá lợi hạiCảm ơn bác. Em thấy đúng rồi ạ.
Bài đã được tự động gộp:
Vì em có điều kiện của HM nữa, nên bác xem thêm giúp em với ạ, nếu HM được thay bằng tên khác thì không ra được kết quả ạ
=AGGREGATE(15,6,$C$1:$C$26/($A$1:$A$26=D2)/($B$1:$B$26<=E2),1)
Theo tôi test thì hàm này dựa trên điều kiện là cột C sắp lớn đến nhỏ thay vì không cần sắp.Hàm AGGREGATE khá lợi hạiMã:=AGGREGATE(15,6,$C$1:$C$26/($A$1:$A$26=D2)/($B$1:$B$26<=E2),1)
Công thức nầy chỉ dùng cho dữ liệu đồng biến hay nghịch biến, dữ liệu không cần sấp xếp cũng được nếu với yêu cầu về điều kiện "$B$1:$B$26<=E2"Theo tôi test thì hàm này dựa trên điều kiện là cột C sắp lớn đến nhỏ thay vì không cần sắp.
Ô G4 ra đúng kết quả là vì dữ liệu cột C ở nhóm máy B sắp xếp đúng. Ô B5 không ra kết quả là vì cột C không sắp xếp.
View attachment 295185