Em hay tác giả bác nhỉ?Khai thật đi, mục đích cuối cùng của bạn là gì?
Tôi nói chủ topic.Em hay tác giả bác nhỉ?![]()
Mục đích của thớt: thử nghiệm sáng kiến.Khai thật đi, mục đích cuối cùng của bạn là gì?
Ứng dụng lý thuyết mới học vào thực tiễn bác ạ.Mục đích của người viết công thức
Chịu, phải suy nghĩ mới được.Bạn thử chuyển từ bảng A sang cột B xem sao.
View attachment 295641
Dữ liệu mình để số cho dễ nhìn, chứ thực tế nó là chữ nhé.
Ra được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.Bạn thử chuyển từ bảng A sang cột B xem sao.
View attachment 295641
Dữ liệu mình để số cho dễ nhìn, chứ thực tế nó là chữ nhé.
Bạn phải dùng thêm hàm Aggregate nữa cơ.Ra được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.
Option Explicit
Function Combin2Arr(sArray1, sArray2)
Dim TmpArr1, TmpArr2, Item1, Item2, Arr(), i As Long
TmpArr1 = sArray1: TmpArr2 = sArray2
For Each Item1 In TmpArr1
If Trim(CStr(Item1)) <> "" Then
For Each Item2 In TmpArr2
If Trim(CStr(Item2)) <> "" Then
ReDim Preserve Arr(i)
Arr(i) = CStr(Item1) & CStr(Item2)
i = i + 1
End If
Next
End If
Next
Combin2Arr = Arr
End Function
Sub Main()
Dim sArray1, sArray2, Arr, lRow As Long
On Error Resume Next
sArray1 = Range("A1:A260")
sArray2 = Range("B1:B105")
Arr = Combin2Arr(sArray1, sArray2)
lRow = UBound(Arr) + 1
If lRow > Cells.Rows.Count Then lRow = Cells.Rows.Count
Range("D1").Resize(lRow) = WorksheetFunction.Transpose(Arr)
End Sub
Không dùng công thức được à? Phải code à? Vậy mục đích thật là gì là đúng rồi.Dạ cảm ơn các bác, trong lúc mày mò diễn đàn cũng thẩm thêm được code của bác ndu, cũng nhóm lần lượt 1 dòng và 1 cột. Mà hok biết nếu thêm dấu * xem kẽ vào giữa thì sửa code ntn thế này thế nào ạ.
Em vọc thêm thui, công thức là đủ xài, muốn xài vba em post ở mục vba chứ.Không dùng công thức được à? Phải code à? Vậy mục đích thật là gì là đúng rồi.![]()
![]()
![]()
Thêm dấu thôi.Dạ cảm ơn các bác, trong lúc mày mò diễn đàn cũng thẩm thêm được code của bác ndu, cũng nhóm lần lượt 1 dòng và 1 cột. Mà hok biết nếu thêm dấu * xem kẽ vào giữa thì sửa code ntn thế này thế nào ạ.
Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.Thêm dấu thôi.
Arr(i) = CStr(Item1) & "*" & CStr(Item2)
Chắc mất công suy nghĩ đặt tên biến đó mà.Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.
Thức cả đêm mới ra được đấy.Cứ tưởng mỗi đoạn code phải mất từ 2 đến 3 tháng mà vụ này nhanh thế nhỉ.
Vầy thôiRa được cột nhưng đòi bỏ số 0 đi thì không thể trong 1 công thức được. Đố khó nhẩy.
=TOCOL(B2:E5,1,1)
Hehe, không dùng hàng mới bác ạ. TOCOL này có thể xem là hàm UDF với office cũ rồi. Em dùng đến tận 2021 mà cũng bó tay với hàm này.Vầy thôi
.Mã:=TOCOL(B2:E5,1,1)
.
.
.
Office 2010 thì bạn có thể thử công thức này.huuthang_bd
Chuyên gia GPE
Tôi chạy Win10, Office 2010 =TOCOL(B2:E5;1;1) = #NAME?
Xin hỏi với Win10, Office 2010 thì phải dùng hàm nào ???
=INDIRECT("R"&MID(REPT(TEXT(AGGREGATE(15,6,ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)/($B$2:$E$5<>""),ROW(A1)),"000.000\C"),2),5,7),0)
Công thức này vẫn cho kết quả thế này ; bạn xem lại giúp =INDIRECT("R"&MID(REPT(TEXT(AGGREGATE(15;6;ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)/($B$2:$E$5<>"");ROW(A1));"000.000\C");2);5;7);0)=#NAME?Office 2010 thì bạn có thể thử công thức này.
Mã:=INDIRECT("R"&MID(REPT(TEXT(AGGREGATE(15,6,ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)/($B$2:$E$5<>""),ROW(A1)),"000.000\C"),2),5,7),0)
Không lẽ Excel 2010 chưa có hàm AGGREGATE ta.Công thức này vẫn cho kết quả thế này ; bạn xem lại giúp =INDIRECT("R"&MID(REPT(TEXT(AGGREGATE(15;6;ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)/($B$2:$E$5<>"");ROW(A1));"000.000\C");2);5;7);0)=#NAME?
=INDIRECT("R"&MID(REPT(TEXT(SMALL(IF($B$2:$E$5="","",ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)),ROW(A1)),"000.000\C"),2),5,7),0)
Không lỗi #Name nữa nhưng lại lỗi #VALUE! - Nếu Ctrl + Shift + Enter thì lỗi #REF!Không lẽ Excel 2010 chưa có hàm AGGREGATE ta.
Công thức này mà lỗi #Name nữa thì thôi nghỉ khỏe.
Mã:=INDIRECT("R"&MID(REPT(TEXT(SMALL(IF($B$2:$E$5="","",ROW($B$2:$E$5)/1000+COLUMN($B$2:$E$5)),ROW(A1)),"000.000\C"),2),5,7),0)
Thử sửa 000.000 thành 000,000 (Ctrl + Shift + Enter).Không lỗi #Name nữa nhưng lại lỗi #VALUE! - Nếu Ctrl + Shift + Enter thì lỗi #REF!
Không được nó chỉ lấy hàng còn cột A nó bỏ qua bạn ạ ?Thử sửa 000.000 thành 000,000 (Ctrl + Shift + Enter).
Khi đã làm theo hướng dẫn nhưng vẫn không được thì bạn nên chủ động gửi file lên.Không được nó chỉ lấy hàng còn cột A nó bỏ qua bạn ạ ?
Vẫn là File #1Khi đã làm theo hướng dẫn nhưng vẫn không được thì bạn nên chủ động gửi file lên.
Nếu 2 cột màu vàng (J, K) đều lỗi thì chắc Excel của bạn có vấn đề rồi.Vẫn là File #1
Bạn xem giúp tôi áp dụng sai ở đâu ? Trân trọng cảm ơn