Bài toán ma trận (Thuong)

Liên hệ QC

Thuong01

Thành viên mới
Tham gia
14/2/07
Bài viết
3
Được thích
0
Đầu vào của bài toán:
-Sheet(1) có 10 hàng và 10 cột (trong đó cột 1 chứa thông tin thứ tự, cột hai chưa thông tin ký tự a,b,c..cột 3 chứa số liệu 1,2,3 và các cột còn lại chứa các thông tin khác.
-Sheet(2) có 15 hàng và 15 cột đều chứa các số liệu 1,2,3 theo hình thức ma trận.
Yêu cầu bài toán cần giải quyết:
- Sheet(3)
Tìm các số liệu trong hàng và cột của Sheet(2) trùng với tên (số) của cột 3 của Sheet(2) thì chuyển toàn bộ dữ liệu theo hàng của số đã so sánh vào Sheet(3).
Lưu ý:
+ Trong cột 3 sẽ có nhiều hàng có ký tự giống nhau.
+ Tại sheet(2) số liệu được xáp xếp ngậu nhiên tròng 15 hàng và 15 cột.
+ Khi đã tìm được số liệu theo điều kiện trên và được chuyển sang sheet(3) nhưng phải có định dạng như ban đầu (không thay đổi cột).
 
Chẳng hiểu Thuong01 hỏi gì cả?
 
Upvote 0
Thuong01 đã viết:
Đầu vào của bài toán:
-Sheet(1) có 10 hàng và 10 cột (trong đó cột 1 chứa thông tin thứ tự, cột hai chưa thông tin ký tự a,b,c..cột 3 chứa số liệu 1,2,3 và các cột còn lại chứa các thông tin khác.
-Sheet(2) có 15 hàng và 15 cột đều chứa các số liệu 1,2,3 theo hình thức ma trận.
Yêu cầu bài toán cần giải quyết:
- Sheet(3)
Tìm các số liệu trong hàng và cột của Sheet(2) trùng với tên (số) của cột 3 của Sheet(2) thì chuyển toàn bộ dữ liệu theo hàng của số đã so sánh vào Sheet(3).
Lưu ý:
+ Trong cột 3 sẽ có nhiều hàng có ký tự giống nhau.
+ Tại sheet(2) số liệu được xáp xếp ngậu nhiên tròng 15 hàng và 15 cột.
+ Khi đã tìm được số liệu theo điều kiện trên và được chuyển sang sheet(3) nhưng phải có định dạng như ban đầu (không thay đổi cột).
Đúng là hiểu được chết liền: Sheet1 để làm chi mà phải liệt kê zô?
Hay bạn tải lên VD mẫu xem có cải thiện được tình hình không(?)
 
Upvote 0
Bạn up file đi, sau đó chú thích vào các mục cần tính toán và hỗ trợ. Như thế mói người giúp bạn sẽ dễ hơn.
CHÚC MỪNG NĂM MỚI
Thân!
 
Upvote 0
Ý là thế này:
Sheet dulieu có bảng dữ liệu gốc gồm: ID,X, Y, Z.
Và các phần tử M1, M2....... chứa ID trong bảng dữ liệu chuẩn đó.
Vấn đề đặt ra: Cho kết quả tại sheet ketqua sao cho mỗi ID sẽ copy các giá trị X, Y, Z vào bảng ( xem file đính kèm). Lưu ý: do các phần tử M quá nhiều nên không thể dùng hàm vlookup như tôi làm trong file( chỉ tham khảo). mong được giúp đỡ
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mình vừa xem qua file của bạn, mình có một vài ý kiến thế này.
Mình không biết dữ liệu tại sheet "dulieu" do bạn nhập vào hay xuất từ một nguồn nào sang nhưng mình thấy cách tổ chức như vậy không được ổn lắm. Bài toán của bạn sẽ giải quyết dễ dàng nếu bạn thêm một cột chứa giá trị M (Cột H chẳng hạn) và không cần dùng các bảng M riêng lẻ.

Còn nếu không muốn thêm cột chứa giá trị M thì bạn nên tách các giá trị này ra một sheet riêng và đồng thời tổ chức theo dạng cột chứ không phải là theo dạng hàng ngang như vậy.

Thân!
 
Upvote 0
Bảng dữ liệu xuất từ sap2000. Thêm giá trị cột M ở cột H nữa thì ko đựoc vì giá trị M nằm rải rác trong sheet. Lưu ý : có những ID trong bảng M1. M2... không trùng với ID trong bảng chuẩn. Mong mọi người ra tay giúp đỡ
 
Upvote 0
Nếu như file bạn up thì hoàn toàn có thể giải quyết bằng những công cụ của Excel như Filter; tạo cột phụ, dùng các hàm đếm . . . .
Tuy nhiên hình như File thực lại không như thế, vì vậy nếu muốn mọi người giải quyết triệt để, bạn hãy Up file mà bạn cho là phức tạp và nằm rải rác . . . lên. Như vậy mới có cái nhìn và cách giải quyết tổng quát cho toàn bộ vấn đề.
Thân!
 
Upvote 0
nếu thế tôi up lên file tổng quát, anh em giúp luôn.Do dung lượng quá lớn nên tôi cut bớt cho dung lượng bé , thực tế >10.000 dòng.
Bài toán:
Sheet Dữ liệu chứa thông số , ID làm chuẩn
Sheet thông số có các group. mỗi Group là một ma trận , các phần tử trong ma trận đó chính là các ID trong sheet Dữ liệu
Yêu cầu:
Tìm tất cả các phần tử trong ma trận của mỗi Group và so sánh với ID trong sheet dữ liệu, nếu trùng thì copy sang sheet Kết quả với thông số kèm theo sau( xem file đính kèm)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Sheet Dữ liệu chứa thông số , ID làm chuẩn
Sheet thông số có các group. mỗi Group là một ma trận , các phần tử trong ma trận đó chính là các ID trong sheet Dữ liệu
Yêu cầu:
Tìm tất cả các phần tử trong ma trận của mỗi Group và so sánh với ID trong sheet dữ liệu, nếu trùng thì copy sang sheet Kết quả với thông số kèm theo sau( xem file đính kèm)
Hướng có lẻ vầy, bạn xem sao:
1. Đếm các phần tử trong 1 ma trận cần thiết;
2. Khai báo 1 biến mảng với số phần tử theo số phần tử của ma trận;
3. Dùng vòng lặp gán dữ liệu ma trận vô biến mảng;
4. qua Sheets("DuLieu") & duyệt từ trên xuống từng record; mỗi record đều so với từng biến mảng; nếu trùng thì gán vùng Bi:Ki nối vô biến Rng (loại Range) được khai báo trước;
5. Chép Rng vô sheets("KetQua")

Bạn thử trước xem sao, nha!
 
Upvote 0
Vấn đề là VBA tôi ko ràng lắm. Mong mọi người help me!!!!!!!!
 
Upvote 0
Tại sao các giá trị T; X; D lúc lấy ở cột A; lúc B hay cột G vậy ? Có cái gì là qui luật không?
Tìm tất cả các phần tử trong ma trận của mỗi Group và so sánh với ID trong sheet dữ liệu, nếu trùng thì copy sang sheet Kết quả với thông số kèm theo sau
Nếu lấy tất cả các giá trị trong ma trận đó thì tại sao X chỉ lấy giá trị 61 mà không phải là 62, 63 . . . ???
Mong giải đáp.
Thân!
 
Upvote 0
Bạn thử sử dụng file sau xem sao!
 

File đính kèm

Upvote 0
Cảm ơn nvson nhiều. Đã giải quyết được vấn đề nan giải khi thiết kế giàn ko gian, với hàng ngàn nút cầu, dữ liệu quá lơn
 
Upvote 0
có bác nào biết viết macro nhân ma trận chỉ cho em với em thử làm 1 cái mà không ra được, em muốn sử dụng luôn hàm Mmult cho nhanh
Option Base 1
Sub nhap()
Dim mat, mat2, mat3 As Double
Dim n, j, i As Integer
Set mat = Application.InputBox("Range", "Tinh ma tran ", Type:=8)
Set mat2 = Application.InputBox("Range", "Tinh ma tran ", Type:=8)
mat3 = Application.WorksheetFunction.MMult(mat, mat2)
For i = 1 To m
For j = 1 To n
Cells(i, j) = mat3(i, j)
Next j
Next i


End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom