Viết code VBA tìm giá trị có điều kiện

Liên hệ QC

Ngayngo32

Thành viên mới
Tham gia
5/6/22
Bài viết
12
Được thích
2
Giới tính
Nữ
Mọi người giúp em giải bài code này với, em đang cần gấp ạ huhu...
Đếm cột V từ trên xuống gặp giá trị âm thì lấy giá trị dương cuối cùng đối chiếu ngang qua ở cột H lấy giá trị tương ứng ghi vào ô H1 và đếm số lượng tương ứng ở cột G từ vị trí đó lên tới ô G15 ghi vào ô G1 (như ví dụ)
 

File đính kèm

  • Data.xlsx
    102.6 KB · Đọc: 17
Mọi người giúp em giải bài code này với, em đang cần gấp ạ huhu...
Đếm cột V từ trên xuống gặp giá trị âm thì lấy giá trị dương cuối cùng đối chiếu ngang qua ở cột H lấy giá trị tương ứng ghi vào ô H1 và đếm số lượng tương ứng ở cột G từ vị trí đó lên tới ô G15 ghi vào ô G1 (như ví dụ)
Bạn xem thử
G3
=SUM(INDIRECT("G15:"&ADDRESS(XMATCH(0,$V$15:$V$115,1,-1)+14,7,1,1),TRUE))

H3
=INDIRECT(ADDRESS(XMATCH(0,$V$15:$V$115,1,-1)+14,8,1,1))
 
Mọi người giúp em giải bài code này với, em đang cần gấp ạ huhu...
Đếm cột V từ trên xuống gặp giá trị âm thì lấy giá trị dương cuối cùng đối chiếu ngang qua ở cột H lấy giá trị tương ứng ghi vào ô H1 và đếm số lượng tương ứng ở cột G từ vị trí đó lên tới ô G15 ghi vào ô G1 (như ví dụ)
Thử công thức này trong H3:

=INDEX($H$14:$H$115,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0))

Trong G3:

=SUM(OFFSET(G15,0,0,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0)-1,1))

.
 
Mọi người giúp em giải bài code này với, em đang cần gấp ạ huhu...
Đếm cột V từ trên xuống gặp giá trị âm thì lấy giá trị dương cuối cùng đối chiếu ngang qua ở cột H lấy giá trị tương ứng ghi vào ô H1 và đếm số lượng tương ứng ở cột G từ vị trí đó lên tới ô G15 ghi vào ô G1 (như ví dụ)
Thấy có chữ Code nên chạy thử coi được không?!
Mã:
Sub ABC()
Dim Arr(), i&, Lr&, Tong()
With Sheets("data")
Lr = .Range("V" & Rows.Count).End(xlUp).Row
Arr = .Range("G15:V" & Lr).Value
For i = 1 To UBound(Arr)
    Do While Arr(i, 16) < 0
        .Cells(3, 8) = Arr(i - 1, 2)
        Tong = .Range("G15:G" & i + 13).Value
        .Cells(3, 7) = WorksheetFunction.Sum(Tong)
        Exit For
    Loop
    Next i
End With
End Sub
 
Mọi người giúp em giải bài code này với, em đang cần gấp ạ huhu...
Đếm cột V từ trên xuống gặp giá trị âm thì lấy giá trị dương cuối cùng đối chiếu ngang qua ở cột H lấy giá trị tương ứng ghi vào ô H1 và đếm số lượng tương ứng ở cột G từ vị trí đó lên tới ô G15 ghi vào ô G1 (như ví dụ)
Thấy tiêu đề có xin code. Góp vui
Mã:
Option Explicit

Sub ABC()

Dim i&, Lr&, Tong&
Dim Arr()

With Sheets("data")
Lr = .Cells(Rows.Count, 7).End(xlUp).Row
Arr = .Range("A15:V" & Lr).Value
For i = 1 To UBound(Arr)
    If Arr(i, 22) > 0 Then
        Tong = Tong + Arr(i, 7)
    Else
        .Range("G3") = Tong
        .Range("H3") = Arr(i - 1, 8)
        Exit For
    End If
Next i
End With
End Sub
 
Thử công thức này trong H3:

=INDEX($H$14:$H$115,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0))

Trong G3:

=SUM(OFFSET(G15,0,0,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0)-1,1))

.
Em cám ơn ạ :)......
Bài đã được tự động gộp:

Thấy có chữ Code nên chạy thử coi được không?!
Mã:
Sub ABC()
Dim Arr(), i&, Lr&, Tong()
With Sheets("data")
Lr = .Range("V" & Rows.Count).End(xlUp).Row
Arr = .Range("G15:V" & Lr).Value
For i = 1 To UBound(Arr)
    Do While Arr(i, 16) < 0
        .Cells(3, 8) = Arr(i - 1, 2)
        Tong = .Range("G15:G" & i + 13).Value
        .Cells(3, 7) = WorksheetFunction.Sum(Tong)
        Exit For
    Loop
    Next i
End With
End Sub
Em cám ơn ạ :)......
Bài đã được tự động gộp:

Thấy tiêu đề có xin code. Góp vui
Mã:
Option Explicit

Sub ABC()

Dim i&, Lr&, Tong&
Dim Arr()

With Sheets("data")
Lr = .Cells(Rows.Count, 7).End(xlUp).Row
Arr = .Range("A15:V" & Lr).Value
For i = 1 To UBound(Arr)
    If Arr(i, 22) > 0 Then
        Tong = Tong + Arr(i, 7)
    Else
        .Range("G3") = Tong
        .Range("H3") = Arr(i - 1, 8)
        Exit For
    End If
Next i
End With
End Sub
Em cám ơn ạ :)......
 
Thử công thức này trong H3:

=INDEX($H$14:$H$115,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0))

Trong G3:

=SUM(OFFSET(G15,0,0,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0)-1,1))

.
O
Thử công thức này trong H3:

=INDEX($H$14:$H$115,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0))

Trong G3:

=SUM(OFFSET(G15,0,0,MATCH(TRUE,INDEX($V$15:$V$116<0,0),0)-1,1))

.
Ô H3 thay vì lấy giá trị âm đầu tiên đối chiếu qua mình có thể đổi lên lấy giá trị dương cuối cùng trên nó được không ạ?
 
Web KT

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

Back
Top Bottom