luminous223
Thành viên mới

- Tham gia
- 9/7/19
- Bài viết
- 11
- Được thích
- 0
Bạn xem file đúng chưa?Cho mình hỏi từ bảng đầu tiên trong file này gồm loại xe và màu xe, mình muốn tạo ra một bảng nhỏ hơn có 2 cột như ở cột G và cột H thì làm thế nào ạ? Mong mọi người giải đáp vấn đề này cho.
Mình không hiểu sao công thức lại hiểu lấy giá trị tham chiếu ở cột G7Bạn xem file đúng chưa?
1. Sắp xếp dữ liệu
2. Tạo name "aa"
3. Đặt công thức tại H7 = TEXTJOIN(", ",TRUE,aa)
Cho mình hỏi chỗ màu thì nhiều màu bị lặp lại. Làm sao để lọc cho đỡ bị trùng nhỉ?Bạn xem file đúng chưa?
1. Sắp xếp dữ liệu
2. Tạo name "aa"
3. Đặt công thức tại H7 = TEXTJOIN(", ",TRUE,aa)
1. Dùng chức năng remove duplicates: chọn 03 cột A,B,C ==> vào menu data ==> chọn remove duplicates ==> okCho mình hỏi chỗ màu thì nhiều màu bị lặp lại. Làm sao để lọc cho đỡ bị trùng nhỉ?
.Cho mình hỏi chỗ màu thì nhiều màu bị lặp lại. Làm sao để lọc cho đỡ bị trùng nhỉ?
bạn vào phần quản lý Name ==> xem cthức của Name "aa" =OFFSET(Sheet1!$A$1,MATCH(Sheet1!$G7,Sheet1!$A$2:$A$1000,0),2,COUNTIF(Sheet1!$A$2:$A$1000,Sheet1!$G7),)Mình không hiểu sao công thức lại hiểu lấy giá trị tham chiếu ở cột G7
Mình không hiểu sao công thức lại hiểu lấy giá trị tham chiếu ở cột G7
Ý mình là lọc ở cái bảng nhỏ hơn có hai cột G và H ý. Ví dụ như ở cột H cái Air Blade có mấy cái màu lặp đi lặp lại như đen đỏ, đỏ đen trắng. Mình muốn nó chỉ xuất hiện một lần thôi như ở cái ví dụ mẫu mình ghi ở chỗ cột G Và H ban đầu ý. Mình thử bôi đen hai cột G và H rồi dùng cái remove vẫn thế.1. Dùng chức năng remove duplicates: chọn 03 cột A,B,C ==> vào menu data ==> chọn remove duplicates ==> ok
2. Dùng VBA: nếu bạn muốn làm theo cách này mình sẽ làm tiếp
Bài đã được tự động gộp:
.
Bài đã được tự động gộp:
bạn vào phần quản lý Name ==> xem cthức của Name "aa" =OFFSET(Sheet1!$A$1,MATCH(Sheet1!$G7,Sheet1!$A$2:$A$1000,0),2,COUNTIF(Sheet1!$A$2:$A$1000,Sheet1!$G7),)
bạn sẽ thấy phần công thức $G7 không bị khóa row (ngay từ khi bạn viết Name) ==> excel sẽ hiểu đây là giá trị đầu tiên sẽ tham chiếu đến.
Tóm lại là mình chỉ biết làm như thế nó sẽ ra kết quả như vậy còn tại sao ra kết quả như vậy thì không giải thích được![]()
À mình lọc 3 cột A B C thì cái bảng bé cũng tự lọc được luôn. Mà bắt buộc phải lọc 3 cột A B C chứ không lọc riêng 2 cột G và H được à bác.1. Dùng chức năng remove duplicates: chọn 03 cột A,B,C ==> vào menu data ==> chọn remove duplicates ==> ok
2. Dùng VBA: nếu bạn muốn làm theo cách này mình sẽ làm tiếp
Bài đã được tự động gộp:
.
Bài đã được tự động gộp:
bạn vào phần quản lý Name ==> xem cthức của Name "aa" =OFFSET(Sheet1!$A$1,MATCH(Sheet1!$G7,Sheet1!$A$2:$A$1000,0),2,COUNTIF(Sheet1!$A$2:$A$1000,Sheet1!$G7),)
bạn sẽ thấy phần công thức $G7 không bị khóa row (ngay từ khi bạn viết Name) ==> excel sẽ hiểu đây là giá trị đầu tiên sẽ tham chiếu đến.
Tóm lại là mình chỉ biết làm như thế nó sẽ ra kết quả như vậy còn tại sao ra kết quả như vậy thì không giải thích được![]()
Dùng VBA, công thức thì mình chỉ biết làm tới đó thôiÀ mình lọc 3 cột A B C thì cái bảng bé cũng tự lọc được luôn. Mà bắt buộc phải lọc 3 cột A B C chứ không lọc riêng 2 cột G và H được à bác.
Thế này cũng gọi là ổn rồi thank bácDùng VBA, công thức thì mình chỉ biết làm tới đó thôi
Chỉ giáo mình VBA trường hợp này đi bạnDùng VBA, công thức thì mình chỉ biết làm tới đó thôi
Bạn xem file và code dưới đây nhéChỉ giáo mình VBA trường hợp này đi bạn
Function noi_mau(loaixe As String, mang_mau As Range) As String
Dim i As Long, SArr(), DArr(1 To 1000, 1 To 1), k As Long
SArr() = mang_mau.Value
For i = UBound(SArr) To 2 Step -1
If Range("A" & i).Value = loaixe Then
If SArr(i, 1) <> SArr(i - 1, 1) Then
k = k + 1
DArr(k, 1) = SArr(i - 1, 1)
End If
End If
Next
With WorksheetFunction
noi_mau = .TextJoin(", ", True, DArr)
End With
End Function
Nếu tên loại xe không nằm chung một cụm, hoặc là các màu không nằm gần nhau thì vẫn xãy ra trùng 2 màu trong kết quảBạn xem file và code dưới đây nhé
Mã:Function noi_mau(loaixe As String, mang_mau As Range) As String Dim i As Long, SArr(), DArr(1 To 1000, 1 To 1), k As Long SArr() = mang_mau.Value For i = UBound(SArr) To 2 Step -1 If Range("A" & i).Value = loaixe Then If SArr(i, 1) <> SArr(i - 1, 1) Then k = k + 1 DArr(k, 1) = SArr(i - 1, 1) End If End If Next With WorksheetFunction noi_mau = .TextJoin(", ", True, DArr) End With End Function
bạn thử chưa mà khẳng định như vậy?Nếu tên loại xe không nằm chung một cụm, hoặc là các màu không nằm gần nhau thì vẫn xãy ra trùng 2 màu trong kết quả
Em xin mạo mụi viết lại code :
em thử rồi anhbạn thử chưa mà khẳng định như vậy?
Mã mầu thì cần sort, nhưng loại xe thì không cần. Cái này tôi biết nhưng trong khuôn khổ bài này thì đã yêu cầu sort từ trướcem thử rồi anh