Cần giúp đỡ về hàm tìm kiếm! (1 người xem)

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

alibaba2209

Thành viên thường trực
Tham gia
4/12/10
Bài viết
283
Được thích
13
em có 1 biểu ngày tháng theo dõi thời tiết, giờ em muốn tìm kiếm ngày trả về text ở dòng ngay dưới cho ra cột AL như trong bảng!
Mong được giúp đỡ
 
em có 1 biểu ngày tháng theo dõi thời tiết, giờ em muốn tìm kiếm ngày trả về text ở dòng ngay dưới cho ra cột AL như trong bảng!
Mong được giúp đỡ
PHP:
AL2=OFFSET($C$1,MAX(INDEX((AK2=$B$2:$AG$77)*ROW($1:$76),))+1,MAX(INDEX((AK2=$B$2:$AG$77)*COLUMN($A$1:$AF$1),))-2)
Fill xuống.

Chúc bạn ngày vui.
 
Cảm.ơn.bạn.Nhưng.hàm.hơi.nặng.có.cách.nào.cải.thiện.được.không.nhỉ
Không gõ được dấu cách thì:

- Soạn ra notepad rồi dán vào khung trả lời.

- Để trỏ chuột sau [/QUOTE] rồi enter để gõ...

- Dùng trình duyệt khác trình duyệt đang bị lỗi (Thử IE, Firefox xem)

Mã:
Sub TimText()
Dim sArr As Variant, eR As Long, Ngay() As Variant, lR As Long, dArr() As Variant
Dim maxCol As Long, r As Long, j As Long, k As Long, chk As Boolean
With Sheet8
    eR = .Range("C" & .Rows.Count).End(xlUp).Row + 1
    sArr = .Range("C2:AG" & eR).Value2: eR = UBound(sArr, 1): maxCol = UBound(sArr, 2)
    lR = .Range("AK" & .Rows.Count).End(xlUp).Row
    Ngay = .Range("AK2:AK" & lR).Value2: lR = UBound(Ngay, 1)
    ReDim dArr(1 To lR, 0)
    For j = 1 To lR
        For r = 1 To eR Step 2
            For k = 1 To maxCol
                If Ngay(j, 1) = sArr(r, k) Then
                    chk = True
                    dArr(j, 0) = sArr(r + 1, k)
                    GoTo 1
                End If
            Next k
        Next r
1:
    Next j
If chk = True Then
    .Range("AL2").Resize(lR, 1) = dArr
End If
End With
End Sub
 
Góp vui thêm 1 code "tả pín lù"
PHP:
Public Sub GPE()
Dim sArr(), dArr(1 To 2000, 1 To 2), I As Long, J As Long, R As Long, Num As Long, K As Long
sArr = Range("C2:AG77").Value: R = UBound(sArr)
For I = 1 To R Step 2
    If sArr(I, 1) <> Empty Then
        Num = Day(DateSerial(Year(sArr(I, 1)), Month(sArr(I, 1)) + 1, 0))
        For J = 1 To Num
            K = K + 1: dArr(K, 1) = sArr(I, J): dArr(K, 2) = sArr(I + 1, J)
        Next J
    End If
Next I
Range("AK2").Resize(K, 2) = dArr
End Sub
 
em có 1 biểu ngày tháng theo dõi thời tiết, giờ em muốn tìm kiếm ngày trả về text ở dòng ngay dưới cho ra cột AL như trong bảng!
Mong được giúp đỡ
Bạn sài thử CT này xem:
PHP:
AL2=INDEX(OFFSET($C$2:$AG$25,(YEAR(AK2)-2016)*26,),MONTH(AK2)*2,DAY(AK2))
Fill xuống!!!
 
Góp vui thêm 1 code "tả pín lù"
PHP:
Public Sub GPE()
Dim sArr(), dArr(1 To 2000, 1 To 2), I As Long, J As Long, R As Long, Num As Long, K As Long
sArr = Range("C2:AG77").Value: R = UBound(sArr)
For I = 1 To R Step 2
    If sArr(I, 1) <> Empty Then
        Num = Day(DateSerial(Year(sArr(I, 1)), Month(sArr(I, 1)) + 1, 0))
        For J = 1 To Num
            K = K + 1: dArr(K, 1) = sArr(I, J): dArr(K, 2) = sArr(I + 1, J)
        Next J
    End If
Next I
Range("AK2").Resize(K, 2) = dArr
End Sub
! hay đấy, bạn sửa thêm cho 1 ít nữa Nếu trong bảng giữ liệu trong bảng C2:AG77 thay đổi thì code sẽ chạy
 
! hay đấy, bạn sửa thêm cho 1 ít nữa Nếu trong bảng giữ liệu trong bảng C2:AG77 thay đổi thì code sẽ chạy

Thôi mà! Nếu mỗi ngày gõ 1 lần thì còn được.
Gõ 1 cái mà bắt code chạy duyệt qua cái bảng hàng ngàn ô, nếu tôi là "máy" tôi "la làng" à.
Khi nào buồn thì bấm nút 1 phát, cho chạy 1 lần thôi.
 
Thôi mà! Nếu mỗi ngày gõ 1 lần thì còn được.
Gõ 1 cái mà bắt code chạy duyệt qua cái bảng hàng ngàn ô, nếu tôi là "máy" tôi "la làng" à.
Khi nào buồn thì bấm nút 1 phát, cho chạy 1 lần thôi.
He he! như này sai thế nào nhỉ bạnPrivate Sub Worksheet_Calculate()
Static oldval
If Range("C2:AG77").Value <> oldval Then
oldval = Range("C2:AG77")
Call GPE
End If


End Sub
 
He he! như này sai thế nào nhỉ bạnPrivate Sub Worksheet_Calculate()
Static oldval
If Range("C2:AG77").Value <> oldval Then
oldval = Range("C2:AG77")
Call GPE
End If


End Sub

Vầy cũng được..................................................
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:AG77")) Is Nothing Then GPE
End Sub
 

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

Back
Top Bottom