Dò tìm tổng hợp số đa phương thức (1 người xem)

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

vanduynguyen1983

Thành viên hoạt động
Tham gia
21/6/13
Bài viết
101
Được thích
8
Thân chào các anh chị diễn đàn !
Rất mong anh chị giúp em lập công thức hoặc viết VBA cái chương trình dò tìm phức tạp
này với cái này bữa giờ mình viết tay lâu quá
Cho mình trình bày đề tái của mình như sau. Hiện tại mình có 5 cột
Cột A chi là cột ghi chú , Cột B là cột Ký hiệu , cột C là mã tương ứng với cột B ,Cột D là cột dữ liệu đầu vào luôn có chữ cái đầu
Cột E là dữ liệu đầu ra luôn có 12 số 2 số đầu nó lấy từ cột C
còn 10 con số con lại nó lấy từ cột D thêm số 0 nếu cột D không đủ số , Mình cần nhất là dũ liệu đầu ra ở cột E bữa giờ mình làm
tay lâu quá rất mong sự giúp đỡ của các bạn . Mình có gởi file đính kèm và có ghi chú rất mong anh chị xem giúp
Cảm ơn anh chị quan tâm giúp đỡ
 

File đính kèm

[TABLE="width: 531"]
[TR]
[TD]GHI CHU[/TD]
[TD]KÝ HIỆU[/TD]
[TD]MÃ[/TD]
[TD]DỮ LIỆU ĐẦU VÀO[/TD]
[TD]DỮ LIỆU ĐẦU RA[/TD]
[/TR]
[TR]
[TD]Tấm có chân[/TD]
[TD]W[/TD]
[TD]1[/TD]
[TD]WS300x2400[/TD]
[TD]02.0300.2400.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm sàn góc[/TD]
[TD]D+[/TD]
[TD]6[/TD]
[TD]WS1000x350[/TD]
[TD]02.1000.0350.0000
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm đáy dầm[/TD]
[TD]DE[/TD]
[TD]8[/TD]
[TD]W450x2450[/TD]
[TD]01.0450.2450.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm thành dầm góc[/TD]
[TD]B+[/TD]
[TD]10[/TD]
[TD]W600x450[/TD]
[TD]01.0600.0450.0001[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm đỡ góc[/TD]
[TD]K+[/TD]
[TD]12[/TD]
[TD]K1200x200[/TD]
[TD]11.1200.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm đậy[/TD]
[TD]CP[/TD]
[TD]13[/TD]
[TD]K700x200--1[/TD]
[TD]11.0700.0200.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm gun cầu thang[/TD]
[TD]GUN[/TD]
[TD]15[/TD]
[TD]K1800x200--3[/TD]
[TD]11.1800.0200.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Thanh góc trong dầm[/TD]
[TD]SEJ/SEA[/TD]
[TD]18[/TD]
[TD]WT1100x410[/TD]
[TD]31.1100.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong vách[/TD]
[TD]IC[/TD]
[TD]19[/TD]
[TD]WT450x960[/TD]
[TD]31.0450.0960.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Thanh góc ngoài vách[/TD]
[TD]OC[/TD]
[TD]22[/TD]
[TD]WT400x410[/TD]
[TD]31.0400.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh V góc[/TD]
[TD]CA[/TD]
[TD]23[/TD]
[TD]CA(50+63.5)x700[/TD]
[TD]23.0000.0000.0700[/TD]
[/TR]
[TR]
[TD]Thanh dầm giữa[/TD]
[TD]MB[/TD]
[TD]24[/TD]
[TD]CA(50+63.5)x1000[/TD]
[TD]23.0000.0000.1000[/TD]
[/TR]
[/TABLE]


Bạn giải thích lại xem, sao có 2 chữ số đầu trong các dòng ở cột cuối như vậy?
 
Lần chỉnh sửa cuối:
Upvote 0
[TABLE="width: 531"]
[TR]
[TD]GHI CHU[/TD]
[TD]KÝ HIỆU[/TD]
[TD]MÃ[/TD]
[TD]DỮ LIỆU ĐẦU VÀO[/TD]
[TD]DỮ LIỆU ĐẦU RA[/TD]
[/TR]
[TR]
[TD]Tấm có chân[/TD]
[TD]W[/TD]
[TD]1[/TD]
[TD]WS300x2400[/TD]
[TD]02.0300.2400.0000[/TD]
[/TR]
[TR]
[TD]Tấm không chân[/TD]
[TD]WS[/TD]
[TD]2[/TD]
[TD]WS400x2400[/TD]
[TD]02.0400.2400.0000[/TD]
[/TR]
[TR]
[TD]Tấm đầu vách 1 V[/TD]
[TD]WET[/TD]
[TD]3[/TD]
[TD]WS450x2400[/TD]
[TD]02.0450.2400.0000[/TD]
[/TR]
[TR]
[TD]Tấm đầu vách 2 V[/TD]
[TD]WE[/TD]
[TD]4[/TD]
[TD]WS1000x600[/TD]
[TD]02.1000.0600.0000[/TD]
[/TR]
[TR]
[TD]Tấm sàn[/TD]
[TD]D[/TD]
[TD]5[/TD]
[TD]WS1100x600[/TD]
[TD]02.1100.0600.0000[/TD]
[/TR]
[TR]
[TD]Tấm sàn góc[/TD]
[TD]D+[/TD]
[TD]6[/TD]
[TD]WS1000x350[/TD]
[TD]02.1000.0350.0000[/TD]
[/TR]
[TR]
[TD]Tấm sàn đặc biệt[/TD]
[TD]DS[/TD]
[TD]7[/TD]
[TD]WS700x1200[/TD]
[TD]02.0700.1200.0000[/TD]
[/TR]
[TR]
[TD]Tấm đáy dầm[/TD]
[TD]DE[/TD]
[TD]8[/TD]
[TD]W450x2450[/TD]
[TD]01.0450.2450.0000[/TD]
[/TR]
[TR]
[TD]Tấm thành dầm[/TD]
[TD]B[/TD]
[TD]9[/TD]
[TD]W600x2150[/TD]
[TD]01.0600.2150.0000[/TD]
[/TR]
[TR]
[TD]Tấm thành dầm góc[/TD]
[TD]B+[/TD]
[TD]10[/TD]
[TD]W600x450[/TD]
[TD]01.0600.0450.0001[/TD]
[/TR]
[TR]
[TD]Tấm đỡ[/TD]
[TD]K[/TD]
[TD]11[/TD]
[TD]W600x90[/TD]
[TD]01.0600.0090.0002[/TD]
[/TR]
[TR]
[TD]Tấm đỡ góc[/TD]
[TD]K+[/TD]
[TD]12[/TD]
[TD]K1200x200[/TD]
[TD]11.1200.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm đậy[/TD]
[TD]CP[/TD]
[TD]13[/TD]
[TD]K700x200--1[/TD]
[TD]11.0700.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm đậy góc[/TD]
[TD]CP+[/TD]
[TD]14[/TD]
[TD]K700x200-2[/TD]
[TD]11.0700.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm gun cầu thang[/TD]
[TD]GUN[/TD]
[TD]15[/TD]
[TD]K1800x200--3[/TD]
[TD]11.1800.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm side cầu thang[/TD]
[TD]SIDE[/TD]
[TD]16[/TD]
[TD]K1800x200--4[/TD]
[TD]11.1800.0200.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong sàn[/TD]
[TD]SCJ/SCA[/TD]
[TD]17[/TD]
[TD]WT400x960[/TD]
[TD]31.0400.0960.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong dầm[/TD]
[TD]SEJ/SEA[/TD]
[TD]18[/TD]
[TD]WT1100x410[/TD]
[TD]31.1100.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong vách[/TD]
[TD]IC[/TD]
[TD]19[/TD]
[TD]WT450x960[/TD]
[TD]31.0450.0960.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong dầm L[/TD]
[TD]SEA/SEJ[/TD]
[TD]20[/TD]
[TD]WT450x360[/TD]
[TD]31.0450.0360.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong sàn L[/TD]
[TD]SIJ/SIA[/TD]
[TD]21[/TD]
[TD]WT300x410[/TD]
[TD]31.0300.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc ngoài vách[/TD]
[TD]OC[/TD]
[TD]22[/TD]
[TD]WT400x410[/TD]
[TD]31.0400.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh V góc[/TD]
[TD]CA[/TD]
[TD]23[/TD]
[TD]CA(50+63.5)x700[/TD]
[TD]23.0000.0000.0700[/TD]
[/TR]
[TR]
[TD]Thanh dầm giữa[/TD]
[TD]MB[/TD]
[TD]24[/TD]
[TD]CA(50+63.5)x1000[/TD]
[TD]23.0000.0000.1000[/TD]
[/TR]
[/TABLE]


Bạn giải thích lại xem, sao có 2 chữ số đầu trong các dòng ở cột cuối như vậy?
Hai chữ số đầu là mã của của cột ký hiệu,
 
Upvote 0
Hai chữ số đầu là mã của của cột ký hiệu,
Tự đọc lại xem có hiểu không? ví dụ

+dòng 2 : cột C mã 1 --> nhưng 2 số đầu cột E là 02
+dòng 9 : cột C mã 8 --> nhưng 2 số đầu cột E là 01
.........vv
sao gọi là lấy từ cột C được??????

thêm nữa,

dòng 11, 12: số cuối cùng của cột E là 1 và 2 , trong khi các dòng khác đều là 0000 --> vậy 1 2 lấy ở đâu ra?

nên trau truốt câu hỏi hơn

------------
nếu chỉ có mấy chục dòng như thế, thậm chí 100 dòng
thì gõ tay luôn cho nhanh, là xong sau 10 phút từ lúc hỏi bài rồi, việc chi phải tự động
 
Upvote 0
Tự đọc lại xem có hiểu không? ví dụ

+dòng 2 : cột C mã 1 --> nhưng 2 số đầu cột E là 02
+dòng 9 : cột C mã 8 --> nhưng 2 số đầu cột E là 01
.........vv
sao gọi là lấy từ cột C được??????

thêm nữa,

dòng 11, 12: số cuối cùng của cột E là 1 và 2 , trong khi các dòng khác đều là 0000 --> vậy 1 2 lấy ở đâu ra?

nên trau truốt câu hỏi hơn

------------
nếu chỉ có mấy chục dòng như thế, thậm chí 100 dòng
thì gõ tay luôn cho nhanh, là xong sau 10 phút từ lúc hỏi bài rồi, việc chi phải tự động
Mình xin giai thích như sau : dòng 2 : cột C mã 1 --> nhưng 2 số đầu cột E là 02 bạn để ý cột D dòng 2 dữ liệu đầu vào WS300x2400 chữ WS đầu tiên là cái mã nó tìm kiếm cột ở cột B có chữ WS tương ứng với cột C có số 2
 
Upvote 0
Thân chào các anh chị diễn đàn !
Rất mong anh chị giúp em lập công thức hoặc viết VBA cái chương trình dò tìm phức tạp
này với cái này bữa giờ mình viết tay lâu quá
Cho mình trình bày đề tái của mình như sau. Hiện tại mình có 5 cột
Cột A chi là cột ghi chú , Cột B là cột Ký hiệu , cột C là mã tương ứng với cột B ,Cột D là cột dữ liệu đầu vào luôn có chữ cái đầu
Cột E là dữ liệu đầu ra luôn có 12 số 2 số đầu nó lấy từ cột C
còn 10 con số con lại nó lấy từ cột D thêm số 0 nếu cột D không đủ số , Mình cần nhất là dũ liệu đầu ra ở cột E bữa giờ mình làm
tay lâu quá rất mong sự giúp đỡ của các bạn . Mình có gởi file đính kèm và có ghi chú rất mong anh chị xem giúp
Cảm ơn anh chị quan tâm giúp đỡ
Hiểu được cách làm, nhưng điều kiện nhiều quá không khả thi lắm, chỉ riêng cái này K(100+100)x200 mà tính kí hiệu là K+ mà không phải K là khó rồi, nếu kí hiệu lấy mấy chữ cái đầu tiên thì còn được, chưa kể vụ SCJ/SCA, CT làm được nhưng làm nhiều cột phụ, thôi thì để các anh chị làm VBA cho bạn hoặc nếu dữ liệu có nhiêu thì bạn làm tay nhanh hơn đó!!!
 
Upvote 0
Có bạn ơi chữ cái đầu tiên của cột D nó dò tìm chữ cái cột B tương ứng khi nó tương ứng nó sẽ lấy mã bên cột C
Lí ra bạn cần nêu câu này ở ngay bài 1 & xin nhớ cho 1 điều, rằng:

Viết cho người khác hiểu, chứ không fải viết những gì mình hiểu.

Tạm biệt!
 
Upvote 0
Có bạn ơi chữ cái đầu tiên của cột D nó dò tìm chữ cái cột B tương ứng khi nó tương ứng nó sẽ lấy mã bên cột C
Không hiểu quy luật chỗ này bạn ơi.
[TABLE="width: 352"]
[TR]
[TD]CA(63.5+63.5)x1000[/TD]
[TD]23.0000.0000.1000[/TD]
[/TR]
[TR]
[TD]IC(100+100)x3210[/TD]
[TD]19.0100.0100.3210[/TD]
[/TR]
[/TABLE]
 
Upvote 0
Mình xin giai thích như sau : dòng 2 : cột C mã 1 --> nhưng 2 số đầu cột E là 02 bạn để ý cột D dòng 2 dữ liệu đầu vào WS300x2400 chữ WS đầu tiên là cái mã nó tìm kiếm cột ở cột B có chữ WS tương ứng với cột C có số 2

Vẫn còn:
thêm nữa,
dòng 11, 12: số cuối cùng của cột E là 1 và 2 , trong khi các dòng khác đều là 0000 --> vậy 1 2 lấy ở đâu ra?
..........
nên trau truốt câu hỏi hơn


+ nên chèn cột trống giữa cột C và D - vì 2 cột cuối không liên quan theo dòng với 3 cột đầu, để chỉ làm rối
+ nên thống nhất kiểu là 1 hay 2 hay 3 chữ cái (số liệu đầu vào), cột Ký hiệu cũng nên độc lập ra không để có / như thế nữa,

đơn giản, khoa học cách bố trí dữ liệu thì sẽ nhàn cho công thức kết quả
 
Upvote 0
Hiểu được cách làm, nhưng điều kiện nhiều quá không khả thi lắm, chỉ riêng cái này K(100+100)x200 mà tính kí hiệu là K+ mà không phải K là khó rồi, nếu kí hiệu lấy mấy chữ cái đầu tiên thì còn được, chưa kể vụ SCJ/SCA, CT làm được nhưng làm nhiều cột phụ, thôi thì để các anh chị làm VBA cho bạn hoặc nếu dữ liệu có nhiêu thì bạn làm tay nhanh hơn đó!!!
Cảm ơn bạn quan tâm , cái này mình làm nhiều lắm vì dữ liệu đầu vào nhiều lắm mỗi dự án mỗi khác cái này mình đưa ít thôi vì đưa
nhiều nặng file up không nổi
 
Upvote 0
Mình xin lỗi mình k rành nên viết thiếu ý các bạn hỏi mình mới nhận ra

Nhận ra rồi xin lỗi tự nhiên người ta hiểu? Không giải thích thì ai biết gì mà tính:

[TABLE="width: 531"]
[TR]
[TD]GHI CHU
[/TD]
[TD]KÝ HIỆU[/TD]
[TD]MÃ[/TD]
[TD]DỮ LIỆU ĐẦU VÀO[/TD]
[TD]DỮ LIỆU ĐẦU RA
[/TD]
[/TR]
[TR]
[TD]Tấm có chân[/TD]
[TD]W[/TD]
[TD]1[/TD]
[TD]WS300x2400[/TD]
[TD]02.0300.2400.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm sàn góc[/TD]
[TD]D+[/TD]
[TD]6[/TD]
[TD]WS1000x350[/TD]
[TD]02.1000.0350.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm đáy dầm[/TD]
[TD]DE[/TD]
[TD]8[/TD]
[TD]W450x2450[/TD]
[TD]01.0450.2450.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm thành dầm góc[/TD]
[TD]B+[/TD]
[TD]10[/TD]
[TD]W600x450[/TD]
[TD]01.0600.0450.0001
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm đỡ góc[/TD]
[TD]K+[/TD]
[TD]12[/TD]
[TD]K1200x200[/TD]
[TD]11.1200.0200.0000[/TD]
[/TR]
[TR]
[TD]Tấm đậy[/TD]
[TD]CP[/TD]
[TD]13[/TD]
[TD]K700x200--1
[/TD]
[TD]11.0700.0200.0000
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Tấm gun cầu thang[/TD]
[TD]GUN[/TD]
[TD]15[/TD]
[TD]K1800x200--3
[/TD]
[TD]11.1800.0200.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Thanh góc trong dầm[/TD]
[TD]SEJ/SEA[/TD]
[TD]18[/TD]
[TD]WT1100x410[/TD]
[TD]31.1100.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh góc trong vách[/TD]
[TD]IC[/TD]
[TD]19[/TD]
[TD]WT450x960[/TD]
[TD]31.0450.0960.0000[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Thanh góc ngoài vách[/TD]
[TD]OC[/TD]
[TD]22[/TD]
[TD]WT400x410[/TD]
[TD]31.0400.0410.0000[/TD]
[/TR]
[TR]
[TD]Thanh V góc[/TD]
[TD]CA[/TD]
[TD]23[/TD]
[TD]CA(50+63.5)x700
[/TD]
[TD]23.0000.0000.0700
[/TD]
[/TR]
[TR]
[TD]Thanh dầm giữa[/TD]
[TD]MB[/TD]
[TD]24[/TD]
[TD]CA(50+63.5)x1000
[/TD]
[TD]23.0000.0000.1000
[/TD]
[/TR]
[/TABLE]

Cần giải thích:
- Những chỗ đo đỏ lấy ở đâu ra?
- Những chỗ xanh xanh sẽ có tác dụng gì?
 
Upvote 0
Không hiểu quy luật chỗ này bạn ơi.
[TABLE="width: 352"]
[TR]
[TD]CA(63.5+63.5)x1000[/TD]
[TD]23.0000.0000.1000[/TD]
[/TR]
[TR]
[TD]IC(100+100)x3210[/TD]
[TD]19.0100.0100.3210[/TD]
[/TR]
[/TABLE]
Dạng CA(63.5+63.5)x1000 cái (63.5+63.5) ta xem 0000.0000.1000 là sau dấu nhân 1000 còn số 23 là mã CA cột B mà ta dò được
Dạng IC(100+100)x3210 thi ta làm theo quy luật IC dò mã là 19.0100.0100.3210 .vi sao ta có 0100 vi số 100 chua đủ 4 chữ số nên ta thêm số 0 đằng trước
 
Upvote 0
Dạng CA(63.5+63.5)x1000 cái (63.5+63.5) ta xem 0000.0000.1000 là sau dấu nhân 1000 còn số 23 là mã CA cột B mà ta dò được
Dạng IC(100+100)x3210 thi ta làm theo quy luật IC dò mã là 19.0100.0100.3210 .vi sao ta có 0100 vi số 100 chua đủ 4 chữ số nên ta thêm số 0 đằng trước

màu xanh-màu xanh
màu đỏ-màu đỏ
???
 
Upvote 0
màu xanh-màu xanh
màu đỏ-màu đỏ
???

Chủ thớt chưa lường hết được sự phức tạp của dữ liệu của mình. Đợi đến lúc giải thích hết các trường hợp chắc sang tuần tới.

Bài này thấy rõ là phải dùng hàm tự tạo. Nếu các điều kiện được nêu ra đàng hoàng thì 1 tiếng đồng hồ sau có code. Nhưng làm việc kiểu ỡm ờ như thế này thì code phải chỉnh sửa chục lần.
 
Upvote 0
Chủ thớt chưa lường hết được sự phức tạp của dữ liệu của mình. Đợi đến lúc giải thích hết các trường hợp chắc sang tuần tới.

Bài này thấy rõ là phải dùng hàm tự tạo. Nếu các điều kiện được nêu ra đàng hoàng thì 1 tiếng đồng hồ sau có code. Nhưng làm việc kiểu ỡm ờ như thế này thì code phải chỉnh sửa chục lần.

Vâng anh.

Hỏi tới lui mà vẫn chưa xong...
 
Upvote 0
Mình xin đề nghị:

1./ BĐH nên khóa loạt bài đăng này, để tác giả có dịp đăng bài khác 1 cách thận trọng & chăm chút hơn;

2./ Các bạn chúng ta không vì vậy mà fật lòng vì công sức đã bỏ ra để đọc & trả lời trong loạt bài ở đây;

3./ . . . . . . Thân chào!
 
Upvote 0
Mình xin đề nghị:

1./ BĐH nên khóa loạt bài đăng này, để tác giả có dịp đăng bài khác 1 cách thận trọng & chăm chút hơn;

2./ Các bạn chúng ta không vì vậy mà fật lòng vì công sức đã bỏ ra để đọc & trả lời trong loạt bài ở đây;

3./ . . . . . . Thân chào!
MÌnh xin lỗi rồi mà , tại mình không biết hàm nên ghi không được rõ ràng cho lắm nên ai hỏi mình trả lời ngay.
Mình có gì không phải cho mình xin lỗi đã làm tốn thời gian của anh chị khi ghi không rõ ràng
Mình chân thành cảm ơn anh chị đã quan tâm giúp đỡ !
 
Upvote 0
MÌnh xin lỗi rồi mà ...

Xin lỗi hay không cũng vậy thôi. Điều bạn cần làm là đọc lại mấy câu hỏi của người khác cho kỹ, và tự đặt câu hỏi tại sao ngừoi ta hỏi vậy? xong giải thích rõ ràng từng bước.

Bài toán của bạn là hàm chiếu từ A sang B; y = f(x). Bạn làm việc quen cho nên nghĩ rằng chúng tự nhiên như vậy. Ngừoi khác thì bắt buộc phải nhỉn thấy tất cả các điều kiện của phép chiếu. Nếu lô gic không đủ thì chiếu sai.
 
Upvote 0
Mình xin đề nghị:

1./ BĐH nên khóa loạt bài đăng này, để tác giả có dịp đăng bài khác 1 cách thận trọng & chăm chút hơn;

2./ Các bạn chúng ta không vì vậy mà fật lòng vì công sức đã bỏ ra để đọc & trả lời trong loạt bài ở đây;

3./ . . . . . . Thân chào!

Tại sao phải khóa, khi nó không vi phạm nội quy gì cả.

Mở chủ đề mới, mà không móc nối những cái cũ (dù trình bày người hỏi có sáng hơn) thì có thể không bằng có móc nối các bài trên vào

Nhắn người hỏi: hãy ngồi xuống trau truốt câu hỏi, tự lường trước nếu làm tay nhập thường thì dựa vào đâu, các trường hợp xảy ra, rồi post lại file trình bày chi tiết (nhớ đọc lại toàn bộ các nội dung mọi người hỏi lại và khuyến nghị trên.
 
Upvote 0
[thongbao]Tại sao phải khóa, khi nó không vi phạm nội quy gì cả.[/thongbao]

Vấn đề là ở chỗ ni:

Đã hai chục bài rồi mà chưa đến đâu;

Ở đây, trong trường hợp đến bài 30 sẽ giải quyết xong. Vậy thị chỉ có 10/30 bài chất lượng mà thôi;

Người khác trong cộng đồng có tham khảo thì cũng tốn thời gian do bài loãng.

Mình đề nghị thà làm vậy (xóa đi làm lại) vì cộng đồng chúng ta là chủ iếu thôi; & khi ấy bản thân tác giả bài đăng cũng nên trân trọng với những người có nhã í giúp mình nhiều hơn.

Chứ tại thời điểm này, bản thân người đăng bài chưa có biểu hiện để thấy điều đó;
Chủ iếu là học vấn về Excel, nhưng cũng cần xây dựng nếp văn hóa cho mượt thêm!

Chúc vui!
 
Upvote 0
MÌnh xin bổ sung thêm thông tin chưa rõ ràng .
Mình xin trinh bày lại như sau:
Cột A chỉ là cột ghi chú ta không quan tâm . Ta có 4 cột cần quan tâm B,C,D,E . Cột B là cột có các chữ cái và mỗi hàng chữ cái
của cột B tương ứng với mã số ở cột C VD: hàng thứ 4 cột B có chữ là WET thì hàng thứ 4 cột C có số 3 ,giống như WET=3 vậy
Cột C,D là 2 cột luôn cố định . Cột D là dữ liệu đầu vào nó không theo thứ tự gì hết và nó luôn luôn có các chữ cái ở đầu sau đó tới số và chữ cái
đầu cột D luôn luôn tương ứng với cột B nhưng không biêt nó nằm
ở hàng nào của cột B , vậy ta dung ccong thức gì đê lấy chữ cái
của cột D đem so sánh với cột B tìm ra chữ cái giống nhau nằm ở hàng thứ mấy của cột B từ đó ta lấy mã tương ứng với cột C, nếu mã cột C là 1 thì ta thêm số 0 đằng trước số 1 neu mã cột C la 14 thi ok vì cột E luôn yêu cầu phải 2 số đầu, dấu chấm 4 số tiếp theo
4 số tiếp theo , 4 số tiếp theo và cột E luôn có 14 số VD:hàng 9 cột D dữ liệu đầu vào là W450x2450 vậy chữ cái W cột D được dò tìm
ở cột B và ta thấy chữ cái W ở cột B nằm ở hàng thứ 2 có mã tương ứng với cột C là số 1 vậy ở hàng 9 cột E cho ra kết quả 01.0450.2450.0000 tại sao phai 01 vì mã cua mình chỉ có số 1 thôi
nên ta thêm số 0 đăng trước ,0450 tai sao 0450 vì hàng 9 cột D mình có W450x2450 vậy 450 ta có 3 số chưa đủ vậy
ta thêm số 0 trước 450 nên ta có 0450, và 2450 vì nó có đủ 4 số nên ta không thêm bớt gì hết .4 số 0 cuôi ta thêm vào vì W450x450 hàng 9 cột D có 2 cặp số nên ta thêm cho đủ 3 cặp 4 số phía đàng sau mã
Mình đang tim đương link gởi lại file mà chưa được
 
Lần chỉnh sửa cuối:
Upvote 0
Nhận ra rồi xin lỗi tự nhiên người ta hiểu? Không giải thích thì ai biết gì mà tính:



Cần giải thích:
- Những chỗ đo đỏ lấy ở đâu ra?
- Những chỗ xanh xanh sẽ có tác dụng gì?
Mình xin lỗi cái 0001 đuôi minh nhập nhầm đúng là 0000
K700x200--1 thì cái gạch --1 bạn không cần tâm chi cần quan tâm K700x200 thôi vì K700x200--1 cũng giống như K700x200 cái --1 bạn loại nó ra
CÁ(50+63.5)x700 hoặc CÁ(63.5+63.5)x700 thì 23 la mã còn (50+63.5) và (63.5+63.5) xem như 0000.0000 số sau là 0700 thêm 0 trước 700 cho đủ 4 số
 
Upvote 0
màu xanh-màu xanh
màu đỏ-màu đỏ
???
Màuxanh CA(63.5+63.5) cái nào có (63.5+63.5) hoặc (50+63.5) thì nó luôn luôn cho ra .0000.0000
Màu đỏ
IC(100+100)x3210 cái nào khác (63.5+63.5) hoặc (50+63.5) thì ta lấy 100 thêm số 0 đằng trước cho đủ 4 số 0100.0100
VD:
IC(100+150)x210 cho kết quả 19.0100.0150.0210
 
Upvote 0
Nói đến file tại #1 & chỉ đề cập đến 2 kí số đầu của cột [E:E]

Mà cụ thể ta xét đến các dòng [37:39]

Tại cột [D] của các dòng này có các giá trị SIA(250+250)x250 , SIA(250+150)x290 & SIA(250+350)x270 tương ứng;

Theo như bạn nói, ta fải dò 2 kí tự SI của trị này trên cột [B:B]

Trong cột này có 2 dòng có trị đó;
Đó là dòng 17: SIDE | 16
& dòng 22: SIJ/SIA | 21
Sao bạn lại lấy số 21 mà không lấy số 16?
 
Upvote 0
Nói đến file tại #1 & chỉ đề cập đến 2 kí số đầu của cột [E:E]

Mà cụ thể ta xét đến các dòng [37:39]


Theo như bạn nói, ta fải dò 2 kí tự SI của trị này trên cột [B:B]

Trong cột này có 2 dòng có trị đó;
Đó là dòng 17: SIDE | 16
& dòng 22: SIJ/SIA | 21
Sao bạn lại lấy số 21 mà không lấy số 16?

Tại cột [D] của các dòng này có các giá trị SIA(250+250)x250 , SIA(250+150)x290 & SIA(250+350)x270 tương ứng;
Tại vì cột D có text là SIA (250+250)x250 vậy chữ SIA trùng text với cột B dòng 22 có text là SIA . nói chính xác hơn la lấy toàn bộ text cột D đem so sánh với cột B đẻ lấy mã tương ứng bên cột C
 
Upvote 0
Cái này K(100+100)x200, sao bạn xét là 12, không phải 11 vậy bạn (K là 11, K+ là 12)!!
 
Upvote 0
Cái này K(100+100)x200, sao bạn xét là 12, không phải 11 vậy bạn (K là 11, K+ là 12)!!

bài này để tác giả sửa lại và trình bày lại dữ liệu, không thể kiểu không nhất quán rồi đi xử lý mớ bòng bong đó

người hỏi cần chú ý
+ nên chèn cột trống giữa cột C và D - vì 2 cột cuối không liên quan theo dòng với 3 cột đầu, để chỉ làm rối
+ nên thống nhất kiểu là 1 hay 2 hay 3 chữ cái (số liệu đầu vào), cột Ký hiệu cũng nên độc lập ra không để có / như thế nữa,

đơn giản, khoa học cách bố trí dữ liệu thì sẽ nhàn cho công thức kết quả
 
Upvote 0
Cái này K(100+100)x200, sao bạn xét là 12, không phải 11 vậy bạn (K là 11, K+ là 12)!!

Cái này mình biết & có thể trả lời cho bạn nè:

/-(ễ có mở đóng ngoặt trong nhóm từ, thì tìm chữ cái trước ngoặt với thêm dấu cộng;
Trong trường hợp này, nhóm từ để đi tìm ở cột [C] sẽ fải là 'K+' (chứ không fải 'K' như mấy cái trước nữa) !$@!!
 
Upvote 0
bài này để tác giả sửa lại và trình bày lại dữ liệu, không thể kiểu không nhất quán rồi đi xử lý mớ bòng bong đó

người hỏi cần chú ý
+ nên thống nhất kiểu là 1 hay 2 hay 3 chữ cái (số liệu đầu vào)
Số liêu đầu vào mình lấy hết tấc cả text trước số và tấc cả text trước dấu ngoặc đem đi so sánh với cột B để tìm ra mã ký hiệu.Hay mình bỏ cột C đi mình làm dạng B=C VD: WS =02 , DS=07 như vậy lập công dể hơn không anh chị ,vì Cột B và cột C luôn cố định chữ cái và mã
 
Upvote 0
Mình xin tặng tác giả bài đăng macro & bức ảnh kết quả, tạm biệt!

PHP:
Option Explicit
Sub DuLieuDauRa()
 Dim Cls As Range, Arr()
 Dim Tmp As String, fC As String, DLRa As String
 Dim Rws As Long, J As Long
 Const Ch As String = "."
 
 Rws = [d2].CurrentRegion.Rows.Count
 Arr() = [b2].Resize(Rws).Value
 Application.ScreenUpdating = False
 For Each Cls In Range([d2], [d2].End(xlDown))
    Tmp = Cls.Value
    If Tmp = "" Then Exit For
    If IsNumeric(Mid(Tmp, 2, 1)) Then
        fC = Left(Tmp, 1)
    ElseIf Asc(Mid(Tmp, 2, 1)) < 65 Then
        fC = Left(Tmp, 1) & "+"
    Else
        fC = Left(Tmp, 2)
        If Asc(Mid(Tmp, 3, 1)) > 64 Then
            fC = fC & Mid(Tmp, 3, 1)
            If Asc(Mid(Tmp, 4, 1)) > 64 Then
                MsgBox "GPE.COM Xin Thua!"
            End If
        End If
    End If
    Tmp = Mid(Tmp, 1 + Len(fC), Len(Tmp))
    For J = 1 To UBound(Arr())
        DLRa = "'" & Right("0" & CStr(Cells(J + 1, "c").Value), 2) & Ch
        If Mid(Arr(J, 1), 1, Len(fC)) = fC Then
            Cls.Offset(, 1).Value = DLRa & DlDRa(Tmp)
            Exit For
        ElseIf Len(fC) >= 3 Then    '?'
        
        Else
        End If
    Next J
 Next Cls
 Application.ScreenUpdating = True
End Sub
Mã:
[SIZE=3][B]Function DlDRa(StrC As String) As String[/B][/SIZE]
 Const DN As String = ")":      Const Nh As String = "x"
 Dim VT1 As Byte, VT2 As Byte
 
 VT1 = InStr(StrC, DN)
 VT2 = InStr(StrC, "x")
 If VT1 Then
    DlDRa = "000.000." & Right("000" & Mid(StrC, VT2 + 1, 4), 4)
 Else
    DlDRa = Right("0" & Left(StrC, VT2 - 1), 4) & "." & Right("0" & Mid(StrC, VT2 + 1), 4) & ".0000"

 End If
[SIZE=3][B]End Function[/B][/SIZE]
 

File đính kèm

  • SL Dau Ra.JPG
    SL Dau Ra.JPG
    87.8 KB · Đọc: 18
Upvote 0
+ nên thống nhất kiểu là 1 hay 2 hay 3 chữ cái (số liệu đầu vào)
Số liêu đầu vào mình lấy hết tấc cả text trước số và tấc cả text trước dấu ngoặc đem đi so sánh với cột B để tìm ra mã ký hiệu.Hay mình bỏ cột C đi mình làm dạng B=C VD: WS =02 , DS=07 như vậy lập công dể hơn không anh chị ,vì Cột B và cột C luôn cố định chữ cái và mã

Bạn xem kết quả trong file, những ô tô màu nếu sai bạn phải giải thích rõ là "đúng nó như thế nào, vì sao lạiphải như thế"
 

File đính kèm

Upvote 0
Bạn xem kết quả trong file, những ô tô màu nếu sai bạn phải giải thích rõ là "đúng nó như thế nào, vì sao lạiphải như thế"
Cảm ơn bạn rất nhiều . Để mình copy past thử xem nó sai chổ nào không , tại nó nhiều số quá làm mình rối không biêt sai chổ nào
 
Upvote 0
Đây là đề tài có thể thử luyện nghề RegEx. Quý vị nào thích thử thì tôi gợi ý:

Chuỗi dữ liệu gồm 3 phần
phần 1 gồm các ký tự không phải là số và dấu ngoặc mở d và \(
phần 2 gồm các ký tự số d, hoặc nhóm ký tự nằm giữa 2 ngoặc \(.*\)
phần 3 gồm các lý tự số đi sau ký tự x

Chuỗi mẫu của bạn cần bắt (capture) 3 phần đó.
Sau khi có 3 phần đó rồi thì diễn chúng ra và gộp thành chuỗi kết quả không có gì khó.
 
Upvote 0

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

Back
Top Bottom