Tìm hàm giải hệ phương trình bậc nhất 2 ẩn cho Excel 2010 (1 người xem)

Liên hệ QC

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

scentrains

Thành viên mới
Tham gia
3/6/10
Bài viết
1
Được thích
0
Mình đang làm kế toán cho 1 công ty về vận tải, hiện tại mình đang cần các cao thủ tư vấn cho mình về 1 hàm để giải hệ phương trình bậc nhất 2 ẩn như sau:

x + y = 10
5x + 4y = 47

mình đã sử dụng solver để giải nhưng có quá nhiều thao tác, mong các cao thủ tìm giúp mình 1 hàm math nào đó để có thể thao tác nhanh hơn trong công việc. Mình xin chân thành cảm ơn. (bởi số liệu có quá nhiều nên mình muốn nhập 1 lần rồi kéo xuống cho nhanh).

+-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-+
 
Cứ giải theo toán là được:

ax + by = t
cx + dy = u

acx + bcy = tc
acx + ady = au

(bc - ad)y = (tc - au)

y = (tc - au) / (bc - ad)

cuối cùng

x = (t - by) / a

đưa vào excel:

a, b, c, d, t, u cho vào 6 cell
Dùng công thức cộng trừ nhân chia như 2 dòng cuối màu đỏ
 
Mình đang làm kế toán cho 1 công ty về vận tải, hiện tại mình đang cần các cao thủ tư vấn cho mình về 1 hàm để giải hệ phương trình bậc nhất 2 ẩn như sau:

x + y = 10
5x + 4y = 47

mình đã sử dụng solver để giải nhưng có quá nhiều thao tác, mong các cao thủ tìm giúp mình 1 hàm math nào đó để có thể thao tác nhanh hơn trong công việc. Mình xin chân thành cảm ơn. (bởi số liệu có quá nhiều nên mình muốn nhập 1 lần rồi kéo xuống cho nhanh).

+-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-++-+-+-+
Với HPT tổng quát
a1x + b1y = c1
a2x + b2y = c2

Ta viết thành code để giải như sau
PHP:
Function LinearEquaSys(ByVal a1 As Double, ByVal b1 As Double, ByVal c1 As Double, _
                       ByVal a2 As Double, ByVal b2 As Double, ByVal c2 As Double)
                       
  Dim tmp As Double, Arr(1 To 2)
  tmp = (a2 * b1 - a1 * b2)
  If tmp <> 0 Then
    Arr(1) = (b1 * c2 - b2 * c1) / tmp
    Arr(2) = (a1 * c2 - a2 * c1) / -tmp
    LinearEquaSys = Arr
  Else
    LinearEquaSys = CVErr(xlErrNA)
  End If
End Function
Cho các tham số a1, b1, c1, a2, b2, c2 vào sẽ có kết quả
Ví dụ với hệ pt:
x + y = 10
5x + 4y = 47

Ta quét chọn 2 cell nằm ngang nào đó (A1:B1 chẳng hạn) rồi gõ vào thanh Formula công thức =LinearEquaSys(1, 1, 10, 5, 4, 47) ---> Bấm Ctrl + Shift+ Enter để kết thúc
(lâu quá không đụng đến, không biết giải vậy có đúng không?)
 

File đính kèm

Web KT

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

Back
Top Bottom