Ghép hai ô text vào một ô nhưng trên hai dòng

Liên hệ QC

MinhNTH

Thành viên mới
Tham gia
3/7/09
Bài viết
2
Được thích
0
Tôi muốn nhờ các bạn giúp xử lí một tình huống công thức:

Sử dụng hàm concatanete hoặc phép & để ghép hai ô text vào một ô, nhưng dữ liệu của mỗi ô ban đầu trong ô kết quả sẽ được đặt trên một dòng (giống như khi ta nhấn phím Alt-Enter để thêm dòng mới trong ô)

Xin cám ơn nhiều.
 
Tôi muốn nhờ các bạn giúp xử lí một tình huống công thức:

Sử dụng hàm concatanete hoặc phép & để ghép hai ô text vào một ô, nhưng dữ liệu của mỗi ô ban đầu trong ô kết quả sẽ được đặt trên một dòng (giống như khi ta nhấn phím Alt-Enter để thêm dòng mới trong ô)

Xin cám ơn nhiều.

Có phải bạn muốn cái này:
attachment.php
Đâu cần sử dụng đến CONCATENATE đâu, vầy cũng được:
=A1 & CHAR(10) & A2​
Miễn là ô chứa kết quả (A4) phải được định dạng WrapText.
 
Ví dụ: bạn gõ
A1 = A; B1 = B
A2 = C; B2 = D

bạn chạy code sau kết quả sẽ như ý
PHP:
Sub ghep()
For i = 1 To Sheet1.[A6500].End(xlUp).Row
Cells(i, "C") = Cells(i, "A") & Cells(i, "B")
Cells(i, "C") = Left(Cells(i, "C"), Len(Cells(i, "A"))) & Chr(10) & Right(Cells(i, "C"), Len(Cells(i, "B")))
Next i


End Sub
 
Ví dụ: bạn gõ
A1 = A; B1 = B
A2 = C; B2 = D

bạn chạy code sau kết quả sẽ như ý
PHP:
Sub ghep()
For i = 1 To Sheet1.[A6500].End(xlUp).Row
Cells(i, "C") = Cells(i, "A") & Cells(i, "B")
Cells(i, "C") = Left(Cells(i, "C"), Len(Cells(i, "A"))) & Chr(10) & Right(Cells(i, "C"), Len(Cells(i, "B")))
Next i


End Sub
Sao phải làm 2 lần vậy đồng chí?
Sao không là:
Cells(i, "C") = Cells(i, "A") & vbLf & Cells(i, "B")
1 dòng đủ rồi
 
Đâu cần sử dụng đến CONCATENATE đâu, vầy cũng được:
=A1 & CHAR(10) & A2​
Miễn là ô chứa kết quả (A4) phải được định dạng WrapText.


Hay quá, thêm kí tự LF (Line Feed) code =10 là được, thế mà tôi không nghĩ ra.
Cám ơn các bạn nhiều.
 
Cho em hỏi thêm một chút khi Có nhiều điều kiện đặt ra để ghép.
 

File đính kèm

  • CACH GHEP 2 O THANH 1 O.xls
    13.5 KB · Đọc: 32
Cho em hỏi thêm một chút khi Có nhiều điều kiện đặt ra để ghép.
Bạn nói rằng:
Nếu em có điều kiện sau: A2 = 1; B2= B thì C2 mới thực hiện lệnh ghép = 1B
Còn nếu B2 bằng các giá trị khác thì C2 không thực hiện lệnh ghép hoặc ngược lại
A2=các giá trị khác thì C2 cũng không thực hiện
Nói thì nào thì viết thế nấy thôi
PHP:
=IF(AND(A2=1,B2="B"),A2&CHAR(10)&B2,"")
Hoặc cách viết khác
PHP:
=IF(OR(A2<>1,B2<>"B"),"",A2&CHAR(10)&B2)
Kết quả như nhau
 
Bạn nói rằng:

Nói thì nào thì viết thế nấy thôi
PHP:
=IF(AND(A2=1,B2="B"),A2&CHAR(10)&B2,"")
Hoặc cách viết khác
PHP:
=IF(OR(A2<>1,B2<>"B"),"",A2&CHAR(10)&B2)
Kết quả như nhau

Qua hướng dẫn của Bác em làm được ý này của em:
Cho em hỏi thêm một chút khi Có nhiều điều kiện đặt ra để ghép.

Cụ thể như sau:
=IF(B2="","",LOOKUP(2,1/(1-ISBLANK($A$2:$A2)),$A$2:$A2)&$B2)

Em muốn hỏi 1 chút ở đây là nếu giá trị B2 ko có gì thì ok rồi_ công thức không thực hiện lệnh ghép, tại ô đặt công thức là trắng tinh; nhưng khi em có giá trị cho B2; nhưng A2 lại không có giá trị thì nó hiện ra chữ này #DIV/0!. Có thể toàn vẹn cho cả 2 được không ạ tức là khi A2 ko có giá trị hoặc B2 không có giá trị thì lệnh ghép không thực hiện, tại vị trí đặt công thức là 1 ô trắng tinh hoặc "-". Ngoài ra kể cả khi A2 và B2 đều có giá trị thì em vẫn muốn quy định lệnh ghép như sau: giả sử A2 = 1 mà B2 = C thì không thực hiện lệnh ghép; hoặc A2 = 3 hoặc = 6 hoặc =88 mà B2 = F hoặc = G hoặc bằng Z hoặc bằng LL thì cũng không thực hiện lệnh ghép.

Với giá trị là chữ: ví dụ A2=Nguyễn Thị; B2=Lan khi cho thực hiện lệnh ghép thì nó ra Nguyễn ThịLan (chữ Lan bị sát vào chữ Thị); Có thể sửa công thức để khi ghép xong nó ra Nguyễn Thị Lan ( giữa chữ Thị và chữ Lan có 1 dấu cách)

ý em ở trên là nếu là con trai ví dụ tên Thành tại vị trí B2 ; A2=Nguyễn Thị (họ của con gái) thì lệnh ghép cũng không thực hiện....
p/s Bác bỏ qua cái chữ bôi đậm có ghạch chân của em rồi :))) khiến em phải đọc nhiều quá -+*/|||||!$@!!. Cảm ơn các bài viết của Bác rất nhiều :)
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom