Hàm lấy dữ liệu trong 1 cột khác rỗng (1 người xem)

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

Status
Không mở trả lời sau này.

sjhuan95

Thành viên mới
Tham gia
7/7/14
Bài viết
21
Được thích
0
Mình có file thông tin khách hàng, trong đó cột Số di động có khách có khách không, mình muốn trích ra 1 cột riêng với những số điện thoại đó nhưng bỏ đi những ô trống (khách ko có số di động). Mình có biết cách dùng Go to special->Select blank->Delete rows là được nhưng muốn tham khảo thêm xem mọi ng có viết dc hàm luôn ko. Xin cám ơn!
 

File đính kèm

Hàm mảng thì nặng máy khi dữ liệu của bạn nhiều, bạn dùng thử phương pháp cột phụ:
Tại B1 dùng công thức và kéo hết dữ liệu:
=IF(A1<>"",ROW(A1),"")
Tại C1 bạn dùng công thức sau rồi kéo mỏi tay thì thôi:
=IFERROR(INDEX($A$1:$A$126,SMALL($B$1:$B$126,ROW(A1))),"")
 
Mình có file thông tin khách hàng, trong đó cột Số di động có khách có khách không, mình muốn trích ra 1 cột riêng với những số điện thoại đó nhưng bỏ đi những ô trống (khách ko có số di động). Mình có biết cách dùng Go to special->Select blank->Delete rows là được nhưng muốn tham khảo thêm xem mọi ng có viết dc hàm luôn ko. Xin cám ơn!

Bạn có thể dùng CT này tại ô B1 sau đó Fill xuống :

Mã:
=INDEX($A$1:$A$126,SMALL(IF($A$1:$A$126<>"",MATCH($A$1:$A$126,$A$1:$A$126,0)),ROW()))
 
Mình có file thông tin khách hàng, trong đó cột Số di động có khách có khách không, mình muốn trích ra 1 cột riêng với những số điện thoại đó nhưng bỏ đi những ô trống (khách ko có số di động). Mình có biết cách dùng Go to special->Select blank->Delete rows là được nhưng muốn tham khảo thêm xem mọi ng có viết dc hàm luôn ko. Xin cám ơn!

Bạn có thể tham khảo Code này:
PHP:
Sub ABC()
    Dim rng As Range
    Dim rngDelete As Range
    Dim RowCount As Long
    Dim EmptyTest As Boolean
    Dim RowDeleteCount As Long
    Dim i As Long
    Set rng = Range("A1:A1000")
    rng.Select
    RowCount = rng.Rows.Count
    DeleteCount = 0
    For i = RowCount To 1 Step -1
        If Application.WorksheetFunction.CountA(rng.Rows(i)) <> 0 Then
            If StopAtData = True Then Exit For
        Else
            If rngDelete Is Nothing Then Set rngDelete = rng.Rows(i)
            Set rngDelete = Union(rngDelete, rng.Rows(i))
            RowDeleteCount = RowDeleteCount + 1
        End If
    Next i
    If Not rngDelete Is Nothing Then
        rngDelete.EntireRow.Delete Shift:=xlUp
        Set rngDelete = Nothing
    End If
End Sub
 
Lần chỉnh sửa cuối:
Bạn có thể tham khảo Code này:
PHP:
Sub ABC()
    Dim rng As Range
    Dim rngDelete As Range
    Dim RowCount As Long
    Dim EmptyTest As Boolean
    Dim RowDeleteCount As Long
    Dim i As Long
    Set rng = Range("A1:A1000")
    rng.Select
    RowCount = rng.Rows.Count
    DeleteCount = 0
    For i = RowCount To 1 Step -1
        If Application.WorksheetFunction.CountA(rng.Rows(i)) <> 0 Then
            If StopAtData = True Then Exit For
        Else
            If rngDelete Is Nothing Then Set rngDelete = rng.Rows(i)
            Set rngDelete = Union(rngDelete, rng.Rows(i))
            RowDeleteCount = RowDeleteCount + 1
        End If
    Next i
    If Not rngDelete Is Nothing Then
        rngDelete.EntireRow.Delete Shift:=xlUp
        Set rngDelete = Nothing
    End If
End Sub
Mình nghĩ code trên sheet chỉ thế này thôi cũng được. Tập tành code tí

Sub ABC()
Dim rng As Range
Set rng = Range("A1:A1000")
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
 
Mình có file thông tin khách hàng, trong đó cột Số di động có khách có khách không, mình muốn trích ra 1 cột riêng với những số điện thoại đó nhưng bỏ đi những ô trống (khách ko có số di động). Mình có biết cách dùng Go to special->Select blank->Delete rows là được nhưng muốn tham khảo thêm xem mọi ng có viết dc hàm luôn ko. Xin cám ơn!
PHP:
Sub Xoa_Trang()
Dim I As Long
With Sheet1.UsedRange
    For I = .Rows.Count To 1 Step -1
        If Application.WorksheetFunction.Count(.Cells(I, 1).EntireRow) = 0 Then
            .Cells(I, 1).EntireRow.Delete
        End If
    Next I
End With
End Sub
Đây cũng là một cách nhé
 
Mình có file thông tin khách hàng, trong đó cột Số di động có khách có khách không, mình muốn trích ra 1 cột riêng với những số điện thoại đó nhưng bỏ đi những ô trống (khách ko có số di động). Mình có biết cách dùng Go to special->Select blank->Delete rows là được nhưng muốn tham khảo thêm xem mọi ng có viết dc hàm luôn ko. Xin cám ơn!
Nếu bạn đã biết cách dùng Special Cell, thì thay vì cách bạn chọn Blank thì bạn chọn Constants -> Rồi Ctrl + C -> Ctrl + V để dán vào cột nào bạn muốn.
 
cám ơn mọi ng, có lẽ mình sẽ lấy hàm của anh này hoặc là của bạn dùng Constant cũng khá hay. CÒn xài code PHP thì mình ko rành đâu :D
nhưng có điều hàm này kéo xuống lại bị lỗi NUM! từ ô B2, giải đáp giúp mình với :(

Bạn có thể dùng CT này tại ô B1 sau đó Fill xuống :

Mã:
=INDEX($A$1:$A$126,SMALL(IF($A$1:$A$126<>"",MATCH($A$1:$A$126,$A$1:$A$126,0)),ROW()))
 
Lần chỉnh sửa cuối:
cám ơn mọi ng, có lẽ mình sẽ lấy hàm của anh này hoặc là của bạn dùng Constant cũng khá hay. CÒn xài code PHP thì mình ko rành đâu :D
nhưng có điều hàm này kéo xuống lại bị lỗi NUM! từ ô B2, giải đáp giúp mình với :(

Bạn lồng thêm hàm IFFERROR bên ngoài cho nó:
Mã:
 [COLOR=#000000][I]=IFERROR(INDEX($A$1:$A$126,SMALL(IF($A$1:$A$126<>"",MATCH($A$1:$A$126,$A$1:$A$126,0)),ROW())),"") [/I][/COLOR]
 
[Warning1]Sự việc rất nhỏ, bài viết của chủ Topic đã có giải pháp. Vậy tôi khóa đề tài tại đây.[/Warning1]
 
Status
Không mở trả lời sau này.

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

Back
Top Bottom