Thu gọn công thức tính tổng (2 người xem)

Liên hệ QC

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

LienDong

Thành viên thường trực
Tham gia
22/11/12
Bài viết
227
Được thích
46
Nghề nghiệp
Ai nói đúng thì làm!
Các bạn giúp thu gọn công thức tính tổng ở cột I
Vì nếu thêm tên thầy cô vào thì công thức sẽ dài và nhiều lúc quên thêm cộng trừ vào thì sẽ sai kết quả. Xin cảm ơn
 

File đính kèm

Các bạn giúp thu gọn công thức tính tổng ở cột I
Vì nếu thêm tên thầy cô vào thì công thức sẽ dài và nhiều lúc quên thêm cộng trừ vào thì sẽ sai kết quả. Xin cảm ơn
Thử
Mã:
I6=B6+SUM(SUMIF($C$5:$H$5,{"Thu";"Chi"},C6:H6)*{1;-1})
 
Nhờ các bạn viết bằng VBA giùm
 
Nhờ các bạn viết bằng VBA giùm
Bạn thử:
PHP:
Sub Test()
    Dim a(), b(), i&
    With Sheet1
        i = .Range("B" & Rows.Count).End(3).Row
        If i < 6 Then MsgBox ("Khong co du lieu"): Exit Sub
        a = .Range("B6:H" & i).Value2
        ReDim b(1 To UBound(a, 1), 1 To 1)
        For i = 1 To UBound(a, 1)
            b(i, 1) = a(i, 1) + a(i, 2) + a(i, 4) + a(i, 6) - a(i, 3) - a(i, 5) - a(i, 7)
        Next i
        .Range("J6").Resize(UBound(a, 1)) = b
    End With
End Sub
 
Bạn thử:
PHP:
Sub Test()
    Dim a(), b(), i&
    With Sheet1
        i = .Range("B" & Rows.Count).End(3).Row
        If i < 6 Then MsgBox ("Khong co du lieu"): Exit Sub
        a = .Range("B6:H" & i).Value2
        ReDim b(1 To UBound(a, 1), 1 To 1)
        For i = 1 To UBound(a, 1)
            b(i, 1) = a(i, 1) + a(i, 2) + a(i, 4) + a(i, 6) - a(i, 3) - a(i, 5) - a(i, 7)
        Next i
        .Range("J6").Resize(UBound(a, 1)) = b
    End With
End Sub
Bạn ơi sao tôi thêm cột thu chi của 1 người khác thì code không ra kết quả
Ở file đính kèm mới tôi mới thêm Thu - chi của Cô Liên
Vì file có thể thêm nhiều thầy cô, mong bạn giúp
Nhìn code thì thấy
b(i, 1) = a(i, 1) + a(i, 2) + a(i, 4) + a(i, 6) - a(i, 3) - a(i, 5) - a(i, 7)
Chắc là thêm ... vào code trên, bạn giúp tôi tổng quát được không, để mỗi lần thêm Thầy cô thì không phải sửa code
Hiện nay cột đầu kỳ được tính bằng công thức, bạn làm code giùm luôn
(vì đây là yêu cầu trưởng phòng yêu cầu tôi làm, nhưng tôi không có biết code)
Mong các bạn giúp đỡ, xin cảm ơn
 

File đính kèm

Bạn ơi sao tôi thêm cột thu chi của 1 người khác thì code không ra kết quả
Ở file đính kèm mới tôi mới thêm Thu - chi của Cô Liên
Vì file có thể thêm nhiều thầy cô, mong bạn giúp
Nhìn code thì thấy
b(i, 1) = a(i, 1) + a(i, 2) + a(i, 4) + a(i, 6) - a(i, 3) - a(i, 5) - a(i, 7)
Chắc là thêm ... vào code trên, bạn giúp tôi tổng quát được không, để mỗi lần thêm Thầy cô thì không phải sửa code
Hiện nay cột đầu kỳ được tính bằng công thức, bạn làm code giùm luôn
(vì đây là yêu cầu trưởng phòng yêu cầu tôi làm, nhưng tôi không có biết code)
Mong các bạn giúp đỡ, xin cảm ơn
Đăng bài trong mục "Hàm và công thức Excel", lại yêu cầu viết Code VBA?
Bạn xài tạm code "Cùi Bắp" này cho file của bạn xem sao.
PHP:
Option Explicit

Public Sub s_Gpe()
Dim sArr(), I As Long, J As Long, R As Long, eCol As Long, eRow As Long
Dim TonDau As Double, TonCuoi As Double
    eRow = Range("A1000").End(xlUp).Row
    eCol = Range("B5").End(xlToRight).Column - 1
    If eRow < 6 Then Exit Sub
    sArr = Range("B6:B" & eRow).Resize(, eCol).Value
    R = UBound(sArr)
    TonDau = sArr(1, 1)
For I = 1 To R
    sArr(I, 1) = TonDau
    TonCuoi = TonDau
    For J = 2 To eCol - 2 Step 2
        TonCuoi = TonCuoi + sArr(I, J) - sArr(I, J + 1)
    Next J
    sArr(I, eCol) = TonCuoi
    TonDau = TonCuoi
Next I
Range("B6").Resize(R, eCol) = sArr
End Sub
 
Xài hàm tự tạo nha:
PHP:
Option Explicit
Function TonCuoi(Rng As Range)
 Dim Cls As Range:                          Dim J As Integer
 
 TonCuoi = Rng(1).Value
 For J = 2 To Rng.Cells.Count
    TonCuoi = TonCuoi + ((-1) ^ J) * Rng(J).Value
 Next J
End Function
 
Đăng bài trong mục "Hàm và công thức Excel", lại yêu cầu viết Code VBA?
Bạn xài tạm code "Cùi Bắp" này cho file của bạn xem sao.
PHP:
Option Explicit

Public Sub s_Gpe()
Dim sArr(), I As Long, J As Long, R As Long, eCol As Long, eRow As Long
Dim TonDau As Double, TonCuoi As Double
    eRow = Range("A1000").End(xlUp).Row
    eCol = Range("B5").End(xlToRight).Column - 1
    If eRow < 6 Then Exit Sub
    sArr = Range("B6:B" & eRow).Resize(, eCol).Value
    R = UBound(sArr)
    TonDau = sArr(1, 1)
For I = 1 To R
    sArr(I, 1) = TonDau
    TonCuoi = TonDau
    For J = 2 To eCol - 2 Step 2
        TonCuoi = TonCuoi + sArr(I, J) - sArr(I, J + 1)
    Next J
    sArr(I, eCol) = TonCuoi
    TonDau = TonCuoi
Next I
Range("B6").Resize(R, eCol) = sArr
End Sub
Dạ lúc đầu, trưởng phòng chỉ yêu cầu em đưa file yêu cầu báo cáo như file, em nhờ các anh thiết lập giùm công thức cho gọn, nhưng sau khi chuyển file cho trưởng phòng, thì người này yêu cầu em làm code (vì lý do trước đây em có nhờ diễn đàn làm cho vài code nên trưởng phòng cứ tưởng em biết làm, vì thế bắt em làm) chắc anh biết làm việc trong cơ quan nhà nước mà
vì vậy em mới nhờ tiếp mấy anh
Em cảm ơn rất nhiều đến sự hỗ trợ mấy anh
 
Web KT

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

Back
Top Bottom