Viết hàm có 1 thông số lặp (1 người xem)

Người dùng đang xem chủ đề này

rongcuoimay

Thành viên mới
Tham gia
20/6/09
Bài viết
13
Được thích
0
Chào các bác,
Em muốn viết 1 hàm chạy lặp đến khi nó thoả 1 điều kiện em muốn thì làm thế nào?
Ví dụ: em có 1 biến x (chạy từ 1-100) và điều kiện là x*2>=100 , em muốn viết công thức sao cho khi x = 50 thì ok
 
Thông thường muốn sử dụng lệnh lặp thì bạn cần đến VBA, nếu bạn có thể nêu rõ hơn về nhu cầu, mục đích + file đính kèm mô tả rõ nội dung, kết quả mong muốn thì mọi người có thể giúp đỡ theo nhiều cách khác nhau.
 
Có thể dùng hàm ROW để thiết lập. Cụ thể hàm này tính cái gì thì mới làm tiếp được bạn à.
 
Em mới nghĩ ra 1 kiểu mà ko cần dùng đến VBA, mà em thì cũng ko biết gì về VBA mà làm ^^.
Cách của em là: tạo 2 bảng dữ liệu, table 1 là biến x (1-100), table 2 là công thức x*2
Sau đó dùng hàm min tra ra số >=100 từ bảng table 2, rồi dùng hàm vlookup để trả về biến x tương ứng.
Cơ mà sao tới bước dùng hàm vlookup lại trả về giá trị #N/A, em chưa hiểu ^^
Em gửi file lên, bác xem giùm em với
 

File đính kèm

Lần chỉnh sửa cuối:
Em mới nghĩ ra 1 kiểu mà ko cần dùng đến VBA, mà em thì cũng ko biết gì về VBA mà làm ^^.
Cách của em là: tạo 2 bảng dữ liệu, table 1 là biến x (1-100), table 2 là công thức x*2
Sau đó dùng hàm min tra ra số >=50 từ bảng table 2, rồi dùng hàm vlookup để trả về biến x tương ứng.
Cơ mà sao tới bước dùng hàm vlookup lại trả về giá trị #N/A, em chưa hiểu ^^
Em gửi file lên, bác xem giùm em với
Nói chung là thực sự chưa hiểu mục đích của bạn là gì, còn phương pháp làm thì có rất nhiều cách khác nhau, bạn có thể giữ bí mật dữ liệu thật của bạn, nhưng có thể mô phỏng mục đích thực sự của bạn thì như vậy mới có câu trả lời thỏa đáng cho bạn, và cũng không mất thời gian mọi người giúp đỡ làm đi làm lại nhiều lần.
 
Nói chung là thực sự chưa hiểu mục đích của bạn là gì, còn phương pháp làm thì có rất nhiều cách khác nhau, bạn có thể giữ bí mật dữ liệu thật của bạn, nhưng có thể mô phỏng mục đích thực sự của bạn thì như vậy mới có câu trả lời thỏa đáng cho bạn, và cũng không mất thời gian mọi người giúp đỡ làm đi làm lại nhiều lần.
Hix, nói sao cho bác hiểu đây ta. Em thấy bảng excel em đưa lên mô phỏng chính xác rồi mà, vì dữ liệu em làm trong công thức rất dài nên em rút gọn lại thành 1 ví dụ đơn giản như các bài trên em nhờ các bác giúp.
Biến x là "cột K"em nhập dữ liệu từ 1 đến 100
Công thức là x*2 , em tính ở bên cạnh ( cột L)
Ô N12 là em tra ra kết quả thoả điều kiện x*2>=100
Giờ bước cuối cùng là em muốn dùng làm vlookup để trả về biến x tương ứng, nhưng sao ko ra được
 
Tức là bạn muốn kết quả cuối cùng là giá trị 50 tại ô K61?
 
=INDEX(K12:K111,MIN(IF(L12:L111>=100,L12:L111)))
Ctrl-shift-enter
 
Hix, nói sao cho bác hiểu đây ta. Em thấy bảng excel em đưa lên mô phỏng chính xác rồi mà, vì dữ liệu em làm trong công thức rất dài nên em rút gọn lại thành 1 ví dụ đơn giản như các bài trên em nhờ các bác giúp.
Biến x là "cột K"em nhập dữ liệu từ 1 đến 100
Công thức là x*2 , em tính ở bên cạnh ( cột L)
Ô N12 là em tra ra kết quả thoả điều kiện x*2>=100
Giờ bước cuối cùng là em muốn dùng làm vlookup để trả về biến x tương ứng, nhưng sao ko ra được
Nếu muốn lấy giá trị bên trái cột dò tìm thì bạn dùng hàm LOOKUP hoặc kết hợp hàm INDEX và MATCH.

Trường hợp của bạn thì cột L = cột K*2
Khi biết giá trị ô ở cột L rồi muốn tìm ô ở cột K tương ứng sao bạn không lấy giá trị đó chia 2
Ở đây là x = 100/2 = 50. Bạn dò tìm xem có khác số này không?????
 
Nếu muốn lấy giá trị bên trái cột dò tìm thì bạn dùng hàm LOOKUP hoặc kết hợp hàm INDEX và MATCH.

Trường hợp của bạn thì cột L = cột K*2
Khi biết giá trị ô ở cột L rồi muốn tìm ô ở cột K tương ứng sao bạn không lấy giá trị đó chia 2
Ở đây là x = 100/2 = 50. Bạn dò tìm xem có khác số này không?????
Hì, tại mình ví dụ ở đây trùng hợp với điều bạn nói, nhưng trong trường hợp khác, công thức loằng ngoằng, và điều kiện cũng ko phải là 100 ( mà là 1 số thập phân chẳng hạn) thì ko thể làm như bạn được
 
Hì, tại mình ví dụ ở đây trùng hợp với điều bạn nói, nhưng trong trường hợp khác, công thức loằng ngoằng, và điều kiện cũng ko phải là 100 ( mà là 1 số thập phân chẳng hạn) thì ko thể làm như bạn được
Công thức loằng ngoằng bạn còn tính ra được cột L, thì bạn cũng sẽ là ngược lại để ra được cột K.

Đây là dò bằng hàm LOOKUP
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn các bác, có 1 số hàm em giờ mới biết, trên đây nhiều cao thủ ghê ^^
 

Bài viết mới nhất

Back
Top Bottom