So sánh 2 mảng 1 chiều

Chào các bác em cũng rất có hứng thú với công việc trích lọc dữ liệu trong excel. Em có một vấn đề muốn được mọi người góp ý. em có hai mảng dữ liệu trên cùng một sheet, em muốn so sánh hai mảng dữ liệu này và lọc những phần khác nhau vào một mảng dữ liệu khác. nhưng không biết cách. bác nào biết chỉ cho em với. nếu các bác viết được hàm này thì hay quá.giúp em với nhé

So sánh 2 mảng 1 chiều

QDuc

Cao cấp
  • 2

    Chào các bác, em có công việc trích lọc dữ liệu trong excel. Em có một vấn đề muốn được mọi người góp ý. em có hai mảng dữ liệu trên cùng một sheet, em muốn so sánh hai mảng dữ liệu này và lọc những phần khác nhau vào một mảng dữ liệu khác. nhưng không biết cách. bác nào biết chỉ cho em với. nếu các bác viết được hàm này thì hay quá.giúp em với nhé

Hai cái mảng ý của bạn là như thế nào?! Ý mình là gồm mấy cột chứa ~ gì?! Bạn có thể viết ra hay gỏi bài mẫu (hay nhờ Mod /SMod gỏi lên giúp cho!) (hờ ý kiến của bạn!

Bình_OverAC

Over Abnormal / Crazy
  • 3

Cách mà em thường dùng là đếm số lần xuất hiện của các phần tử của mảng 1 trong mảng 2, các phần tử của mảng 2 trong mảng 1. Xem ví dụ ở file đính kèm. Nếu bác muốn đính kèm file thì gởi cho em bác nhé. em sẽ giúp bác đính kèm file.

Đính kèm

ndtdlhagiang

Guest
  • 4

Cám ơn Bình nhé! nhưng cách của bình mình cũng thử rồi nhưng vẫn không được như ý. Mính có hai mảng bất kỳ không định trước, số hàng số cột cũng khác nhau, ngay cả kiểu dữ liệu trong hai mảng cũng khác nhau( mỗi mảng cũng có nhiều kiểu dữ liệu: kiểu chuỗi, kiểu số, kiểu ngày tháng). Bây giờ đem hai mảng dữ liệu này so sánh với nhau, so sánh về kiểu dữ liệu của từng ô tương ững xem có giống nhau không: giốn về chất cũng như về lượng ( ô thuộc cột 1 hàng 1 của mảng một so sánh với ô thuộc cột 1 hàng 1 của mảng 2). sau khi so sánh thì cho suất ra một mảng dữ kiệu thứ 3,m mảng thứ 3 này bằng tổng hợp dữ liệu của hai mảng trên, những ô ở vị trí tương ứng giống nhau thì hiên giá trị của một ô và đổi màu( màu đỏ) khác với các ô còn lại ( màu trắng), những ô tương ứng khác nhau thì hiên giá trị bằng tổng của hai ô trong hai mảng đem so sánh. các bạn xem phải làm thế nào, có thể viết một công thức để làm viêc này được không? giúp mình với!

So sánh 2 mảng 1 chiều

QDuc

Cao cấp
  • 5

Mảng của bạn là 1 mảng quá ư . . ., nhưng sẽ có cách

Mình mường tượng cách làm như sau: 1./ Tìm mảng lớn trong 2 mảng ý; 2./ /(hai báo 1 biến mảng (MDL1) theo mảng lớn này & chép thảy số liệu mảng lớn vô đó 3./ Dùng vòng lặp SS giữa biến mảng (MDL1) với mảng nhỏ; Ghi kết quả SS vô biến mảng (MDL2) của hàm sẽ trả về 4./ Xuất ra = hàm mảng (MDL2) Còn muốn định dạng màu thì phải xài Sub thôi (vì Excel không cho thay đổi chỉ vài ô trong hàm mảng mà phải thay cả vùng mảng đó!)

ndtdlhagiang

Guest
  • 6

Nếu vậy thì viết sub, nhưng viết ra làm sao, ban hướng dẫn mình với nhé. kiến thức vế VBA của mình chưa đủ để làm việc này. mà nếu lập được thì lần sau chỉ viêc dùng công thức thôi bạn nhỉ, sẽ nhanh hơn nhiều. giúp mình với nhé.

ndtdlhagiang

Guest
  • 7

Hình như hôm nay la chủ nhật nên các bạn nghỉ hết thì phải, lên mà hổng gặp ai. chán quá mình vẫn không biết làm thế nào.

So sánh 2 mảng 1 chiều

QDuc

Cao cấp
  • 8

    Nếu vậy thì viết sub, nhưng viết ra làm sao, ban hướng dẫn mình với nhé. kiến thức vế VBA của mình chưa đủ để làm việc này.

Phải biết chờ đợi chứ bạn; nóng quá hỏng việc đó nha! Giờ bạn chọn 1 vùng có dữ liệu trên trang tính & cho chạy để nghiên cứu Sub sau đây xem nó nói gì:

Sub rcArray()

On Error Resume Next Dim RangeSD As Range, Rng As Range Dim iHang As Long, iCot As Integer Dim ArraySD() As Variant

Set RangeSD = Selection: ArraySD = RangeSD.Value iHang = UBound(ArraySD): iCot = UBound(ArraySD, 2) MsgBox Str(iHang), , Str(iCot) For Each Rng In RangeSD MsgBox Rng.Value Next Rng: Exit Sub End Sub

ndtdlhagiang

Guest
  • 9

chắc chắn là mình sẽ hiểu thêm được nhiều điều, mình cám ơn và mong được sự chỉ bảo nhiều hơn nữa của các bạn. thank