Tính Lặp trong Excel (6 người xem)

  • Thread starter Thread starter obenix
  • Ngày gửi Ngày gửi
Liên hệ QC

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

obenix

Thành viên mới
Tham gia
22/2/08
Bài viết
1
Được thích
0
Huynh nao biết giải bào toán lặp trong Excel chỉ em phát.hoặc chỉ hàm nào là hàm lặp cũng đươc +-+-+-+
 
Mình nghĩ nó nằm ở đây nè.
 
Lần chỉnh sửa cuối:
Tính lặp trong Excel

Tất cả các hàm trong Excel không có hàm lặp, vì nếu lặp thì sẽ rơi vào trường hợp "cicular reference". Do đó bác nên viết một đoạn code đi, Tôi nghĩ tính lặp là cấu trúc rất quen thuộc đối với ai dùng VBA (for...next, chẳng hạn)
 
Có thể chỉ cho đàn em này một vài cách lặp không dùng VBA được không? Please...
 
Lần chỉnh sửa cuối:
Thiếu gì... mấy file tách số của tôi đấy! Dùng hàm:
=MID($A2,ROW(INDIRECT("1:"&LEN($A2)))
Đó chẳng phải giống For sao? Quét ký tự từ vị trí thứ nhất đến cuối chuổi, tương đương với code:
Mã:
Dai = Len(Clls)
For i = 1 to Dai
   IF.. cái gì đó..
   vân vân
Next i
ANH TUẤN
 
Anh Tuấn có thể giúp em bài toán này được không?
Giả sử ta có một số (muy1) chẳng hạn, sau hàng loạt các công thức tính toán ta tính ra được một thông số là Fa, từ Fa này ta tính ra được số (muy2); bài toán đặt ra là làm sao để 2 số muy đó chạy tự động càng sát nhau càng tốt...
Em đang cần cái này lắm- mong anh chỉ giáo !
 
Anh Tuấn có thể giúp em bài toán này được không?
Giả sử ta có một số (muy1) chẳng hạn, sau hàng loạt các công thức tính toán ta tính ra được một thông số là Fa, từ Fa này ta tính ra được số (muy2); bài toán đặt ra là làm sao để 2 số muy đó chạy tự động càng sát nhau càng tốt...
Em đang cần cái này lắm- mong anh chỉ giáo !

Bạn gõ công thức vào một ô bất kỳ là =Muy1-Muy2
Sau đó sử dụng Goal Seak trong Tool/Goal Seak

bạn xem file đính kèm nha.
 

File đính kèm

Bạn gõ công thức vào một ô bất kỳ là =Muy1-Muy2
Sau đó sử dụng Goal Seak trong Tool/Goal Seak

bạn xem file đính kèm nha.

Cám ơn bạn nhiều- Tuy nhiên không biết với nhiều giá trị muy1 và muy2 và muốn tính một lúc thì làm thế nào??? Vì có khi mình phải tính hàng ngàn row như thế...
 
Bạn gửi file của bạn lên mình xem thử nhé.
 
Anh Tuấn có thể giúp em bài toán này được không?
Giả sử ta có một số (muy1) chẳng hạn, sau hàng loạt các công thức tính toán ta tính ra được một thông số là Fa, từ Fa này ta tính ra được số (muy2); bài toán đặt ra là làm sao để 2 số muy đó chạy tự động càng sát nhau càng tốt...
Em đang cần cái này lắm- mong anh chỉ giáo !
Chắc anh Lộc lặp thằng muy này cho tính cột đúng ko :-= Em nghĩ anh nên viết Code đi -sử dụng hàm lặp giá trị muy này cho đến khi nào : muy < [muy] là dừng lại !
 
Với bài toán lặp, tốt nhất các bạn làm VBA, chỉ mất vài dòng code. Thời gian để nghiên cứu ra công thức lặp nếu dùng cho VBA thì đã học được nhiều thứ hơn rồi.

Ví dụ bài toán thưởng theo doanh số thế này:

Mã:
Doanh số	Thưởng (chỉ vàng)
10,000,000	0.5
20,000,000	1
30,000,000	1.5
50,000,000	2.5
70,000,000	4
100,000,000	2.5
150,000,000	9
200,000,000	13
300,000,000	20
400,000,000	27
500,000,000	40
Nếu doanh số đạt 48 triệu sẽ được thưởng 2 chỉ vàng (30-->1.5 ; 10-->0.5; 8 không có ngưỡng-->0)
Nếu doanh số đạt 190 triệu sẽ đc thưởng 11 chỉ vàng
...

Như vậy lập công thức để vào doanh số bất kỳ sẽ tính được ra số chỉ vàng được thưởng?

(Bài toán này vẫn có thể lập đc công thức nhưng sẽ rất phức tạp).
 
Lần chỉnh sửa cuối:
Không cần viết trong Vba mà chúng ta vẫn lặp được. BẰng cách dùng hàm if để tham chiêu và đặt cho giá trị epsilone có thể gần bằng 0 (0.000000000000000000000000000000000000000000000000000000001)
 
Anh Tuấn có thể giúp em bài toán này được không?
Giả sử ta có một số (muy1) chẳng hạn, sau hàng loạt các công thức tính toán ta tính ra được một thông số là Fa, từ Fa này ta tính ra được số (muy2); bài toán đặt ra là làm sao để 2 số muy đó chạy tự động càng sát nhau càng tốt...
Em đang cần cái này lắm- mong anh chỉ giáo !

Hi hi cái nì thì mình làm rồi cực kỳ đơn giản, mình không biết VB và cũng chẳng cần VB trong trường hợp này:
Đầu tiên bạn cứ lặp bảng tính bình thường với muy1 giả thiết sau đó ra Fa rồi có muy2, sau đó bạn vào tool/option/calculation/ bạn đánh dấu kiểm vào Iteration (chú ý cứ để Maximum Iteratión = 100 đó là số lần lặp), công việc cuối cùng cực kỳ đơn giản là bạn cho công thức của ô Fa1 = Fa2 là xong. Nghe thì vô lý nhưng hiệu quả vô cùng. mình đã làm bảng tính cột cho mình kết quả đúng 100%
 
để tính lặp trong excel (không cần macro) như sau:
Tool/Option
Chọn Tab: Calculation
Check vào Interation
Đánh vào ô Maximum Interation số vòng cần lặp
Sau đó trở lại bảng tính lặp công thức tính lặp

Ví dụ: cần lặp 100 lần, cộng 1 vào số trước đó. Tương ứng với vòng lặp VB như sau:

tong =0
for i=1 to 100
tong = tong +1
next


Nhập các ô như sau:
A1: 1
B1: =C1
C1 = A1+B1
enter
kết quả:
A1: 1
B1: 99
C1:100

Các bài toán lặp khác tương tự, chỉ đổi công thức
 
Hi hi cái nì thì mình làm rồi cực kỳ đơn giản, mình không biết VB và cũng chẳng cần VB trong trường hợp này:
Đầu tiên bạn cứ lặp bảng tính bình thường với muy1 giả thiết sau đó ra Fa rồi có muy2, sau đó bạn vào tool/option/calculation/ bạn đánh dấu kiểm vào Iteration (chú ý cứ để Maximum Iteratión = 100 đó là số lần lặp), công việc cuối cùng cực kỳ đơn giản là bạn cho công thức của ô Fa1 = Fa2 là xong. Nghe thì vô lý nhưng hiệu quả vô cùng. mình đã làm bảng tính cột cho mình kết quả đúng 100%
cho minh hỏi bạn winxp83 ở đâu ra 2 ô Fa1 = Fa2 , vậy??
 
mình cũng thắc mắc cái này:
Vd: Ugiảthuyết nó sẻ chạy từ (0 đến 3), rồi từ Ugiảthuyết nó tính ra được B = ugt - 0.5
rồi có Utínhtoán = B /2
- bài toán đặt ra là : ( Utínhtoán - Ugiả thuyết)/u tính toán <= 5%, thì dừng lại lấy giá trị của Utínhtoán

thanks mọi người nha, nhờ mọi người chỉ giúp
 
mình cũng thắc mắc cái này:
Vd: Ugiảthuyết nó sẻ chạy từ (0 đến 3), rồi từ Ugiảthuyết nó tính ra được B = ugt - 0.5
rồi có Utínhtoán = B /2
- bài toán đặt ra là : ( Utínhtoán - Ugiả thuyết)/u tính toán <= 5%, thì dừng lại lấy giá trị của Utínhtoán

thanks mọi người nha, nhờ mọi người chỉ giúp
cái này mình cũng đang thắc mắc.mong các bác chỉ giáo
 
'bạn ơi ! có thể giải giúp mình bài này được không ạ :
'mình dùng hàm counta để đếm số ô dữ liệu mà mình nhập vào ( bao gồm số 1,2,5,6,9) , mình cứ nhập vào 5 "loại" đó thì ô counta vùng dữ liệu tăng lên .
'Bây giờ mình muốn ô counta đó trả về 0 và đếm lại từ đầu khi mà mình nhập vào số 6 , cứ nhập vào số 6 thì đếm lại từ đầu !
'Giờ mình phải dùng hàm gì ạ ? có cần VBA không ạ ? Mình cảm ơn bạn nhiều lắm !
 

File đính kèm

Web KT

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

Back
Top Bottom