Tím vị trí cell chứa giá trị lớn nhất (trong nhiều sheet)

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình có 1 file chứa khoảng 45-50 sheet cấu trúc gióng hệt nhau, mình có 1 sheet Tổng hợp tất ccacs sheet đó lại; tuy nhiên mình muốn dùng công thức để tìm giá trị lớn nhất của cell đó thuộc sheet nào thì phải dùng hàm gì mong các bạn hô trợ
mình dung hàm =MAX('Thang 01:Thang 50'!BE63) thì ok rồi nhưng làm sao biết giá trị đó nằm ở sheet nào?

Cách này không biết đúng ý bạn chưa: file của bạn có các sheet tên là Thang 01,… Thang 50. Bạn cần tìm sheet chứa max các ô BE63 ở các sheet này. Tại ô ở hàng 1 của sheet bất kỳ, ví dụ 'Thang 01'!A1 bạn nhập công thức:
=IF(ROW()<10,INDIRECT("'Thang 0" & ROW() & "'!BE63"), INDIRECT("'Thang " & ROW() & "'!BE63"))
Kéo công thức xuống A50. Tại ô bất kỳ khác, ví dụ B1 nhập công thức =Match(Max(A1:A50),A1:A50,0)
Tại ô B2 nhập =If(B1<10, "Thang 0" & B1, "Thang " & B1)
Ô B2 sẽ chứa tên sheet "Thang xx" cần tìm (có thể ghép 2 công thức ở B1 và B2 thành 1 công thức duy nhất). Nếu tên sheet là Thang 1, Thang 2,…, Thang 50 thì công thức ngắn gọn hơn.

hơi khó hiểu để mình load file VD lên các bạn xem nha

Tại sheet1 ô C1 bạn nhập công thức
=if(indirect("Sheet" & row() & "!A1")=B1,"Sheet" & row(),"") kéo xuống ô C6. Tên các sheet sẽ hiện ra.

mình cũng đang vướng chỗ này, có bạn nào chỉ mình kỹ hơn k, mình là lấy giá trị tổng của từng sheet so sánh, hiện các sheet chưa có giá trị tổng

Dùng VBA đi bạn, duyệt qua các sheet, trong các sheet duyệt qua hết các cell, tìm max

Option Explicit

Public Sub FindMaxInAllSheets()
    Dim wks As Worksheet
    Dim cell As Range
    Dim dblMax As Double, dblCell As Double
    Dim strAddr As String, strSheetName As String

dblMax = 0
    strAddr = vbNullString
    strSheetName = vbNullString

For Each wks In ThisWorkbook.Worksheets
        For Each cell In wks.UsedRange
            dblCell = Val(cell.Value)
            If dblCell > dblMax Then
                dblMax = dblCell
                strAddr = cell.Address
                strSheetName = wks.Name
            End If
        Next
    Next

Debug.Print "Max: " & CStr(dblMax)
    Debug.Print "Sheet: " & strSheetName
    Debug.Print "Address: " & strAddr
End Sub

www.giaiphapexcel.com/diendan/threads/t%C3%ADm-v%E1%BB%8B-tr%C3%AD-cell-ch%E1%BB%A9a-gi%C3%A1-tr%E1%BB%8B-l%E1%BB%9Bn-nh%E1%BA%A5t-trong-nhi%E1%BB%81u-sheet.93793/

Khoá học Trưởng phòng nhân sự
Khóa học SprinGO phù hợp

Khoá học Trưởng phòng nhân sự

Nguồn nhân lực là một trong Tứ trụ kinh doanh của doanh nghiệp, có tác động tới sự tồn tại và phát triển bền...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm