Viết Mask cho Excel

  • Thread starter Thread starter tqk123
  • Ngày gửi Ngày gửi
Liên hệ QC

tqk123

Thành viên mới
Tham gia
26/6/08
Bài viết
3
Được thích
0
Xin chào các bạn.

mình có một bảng excel như sau:
1 2
1 3
1 4
1 6
1 7
Mình muốn chuyển thành:

1 2 3 4 6 7 (2, 4, 6, 7 nằm trong cùng một cell và cách nhau một dấu space).

các bác nào có kinh nghiệm chỉ dẫn em cái. hoặc không hướng dẫn em tạo một cái mask như thế nào.
 
Bạn dùng & để nối các ô lại:
=A1&", "&A2&", "&A3& .....
 
Xin chào các bạn.

mình có một bảng excel như sau:
1 2
1 3
1 4
1 6
1 7
Mình muốn chuyển thành:

1 2 3 4 6 7 (2, 4, 6, 7 nằm trong cùng một cell và cách nhau một dấu space).

các bác nào có kinh nghiệm chỉ dẫn em cái. hoặc không hướng dẫn em tạo một cái mask như thế nào.
Chào bạn,
Cho mình hỏi thêm:
Dữ liệu bạn đưa lên là nằm trên 1 cột hay nằm trên 2 cột ??

Nếu nằm trên 2 cột thì đơn giản rồi:
Giả định vùng này là từ A1:B5

C1=concatenate(A1," ",B1," ",B2," ",B3," ",B4," ",B5)

Nếu nằm trên 1 cột thì phải dùng hàm cắt ra
Giả định vùng này là từ A1:A5
B1="1"&SUBSTITUTE(CONCATENATE(A1,A2,A3,A4,A5),"1","")
 
Lần chỉnh sửa cuối:
1 2 3 4 6 7 (2, 4, 6, 7 nằm trong cùng một cell và cách nhau một dấu space).
Anh Salam ơi anh nhầm đề rồi, space là khoảng trắng mà không phải dấu phẩy comma.
Không biết có phải là A1, A2, A3..., có khi A1, B1, A2, B2.... (12 là 1 và 2 hay 12).
Bạn Tqk123 giải thích rõ hơn dùm:
  1. Tôi nghĩ Mask trong excel là dùng Validation để kiểm soát dữ liệu nhập vào, đọc câu hỏi không thấy dính dáng gì đến cả.
  2. Dữ liệu 12, 13,... nằm cùng cell hay khác cell vậy bạn.
  3. Đưa file đánh dữ liệu vào và nhập kết quả bằng tay, mọi người dễ hiểu hơn.
 
Cảm ơn bạn.
Tớ nhầm, có nghĩa là:

column1 column2
1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 0 thành Column1 Column2
1 1 2 3 4 5 6 7 8 9

Cảm ơn các bạn. Là hai côt khác nhau. Bây giờ chuyển thành a1 (1) và B1(1, 2 ,3 4, 5, 6). Mình có một bảng excel dạng vậy. Nhưng mà độ dài của chúng khác nhau. Có cách nào chuyển cả file đấy không hả các bạn.

bạn ca_dafi cho mình hỏi cái. Là cái lệnh concatenate nó vẫn yêu cầu mình phải gõ vào chứ không dùng chuột để gom nên rất là lâu. Mà bảng của em có khi lên đến 20 hàng.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cảm ơn bạn.
Tớ nhầm, có nghĩa là:

column1 column2
1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 0 thành Column1 Column2
1 1 2 3 4 5 6 7 8 9

Cảm ơn các bạn. Là hai côt khác nhau. Bây giờ chuyển thành a1 (1) và B1(1, 2 ,3 4, 5, 6). Mình có một bảng excel dạng vậy. Nhưng mà độ dài của chúng khác nhau. Có cách nào chuyển cả file đấy không hả các bạn.

bạn ca_dafi cho mình hỏi cái. Là cái lệnh concatenate nó vẫn yêu cầu mình phải gõ vào chứ không dùng chuột để gom nên rất là lâu. Mà bảng của em có khi lên đến 20 hàng.
Nói thật, không hiểu gì hết!
Bạn trình bày vào trong một bảng tính đi, rồi gửi cái file đó lên đây.
 
Xin lỗi mọi người.
Tớ muốn chuyển như thế này:
Cột thứ nhất:
A1=1
A2=1
A3=1
A4=1
Cột thứ hai:
B1=2
B2=4
B3=6
B7=8

Tớ muốn chuyển thành:
A1=1; B1=2 4 6 8 (trong cùng cell B1)
 
Bài toán của bạn chỉ có thể giải bằng VBA, theo mình

Như sau:
Mã:
        A                      B
      [B] STT                   Num[/B]
         1                      1
         1                      3
         1                      5
         2                      7
         2                      9
         3                     11
         3                     13
         3                     15
Sau khi chạy macro này:
PHP:
Option Explicit
Sub CopyForColumn()
 Dim lRow As Long, jZ As Long
 Dim Rng As Range, Clls As Range
 Dim StrC As String
 
 lRow = [a65432].End(xlUp).Row + 1
 For jZ = 3 To lRow
    If jZ = 3 Then
        Set Rng = Cells(2, 2)
        StrC = Rng.Value & " " & Rng.Offset(1) & " "
        Rng.Offset(1) = ""
    Else
        If Cells(jZ, 1) = Cells(jZ - 1, 1) Or jZ = lRow + 1 Then
            StrC = StrC & Cells(jZ, 2) & " "
            Cells(jZ, 2) = ""
        Else
            Rng = StrC:         Set Rng = Cells(jZ, 2)
            StrC = Rng & " "
        End If
    End If
 Next jZ

End Sub
Sẽ cho kết quả:
Mã:
        A                      B
      [B] STT                   Num[/B]
         1                      1 3 5
         1                      
         1                      
         2                      7 9
         2                      
         3                     11 13 15
         3                     
         3
 
Bài này theo mình chỉ có cách dùng VBA.
Nếu bạn thích công thức thì mình làm VD giúp bạn. Tuy nhiên, số lượng ô chứa không trùng nhau không được vượt quá 30
 

File đính kèm

Web KT

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

Back
Top Bottom