hoangyen69
Thành viên chính thức


- Tham gia
- 3/7/10
- Bài viết
- 51
- Được thích
- 5
Cách nhanh nhất là bạn dùng VBA. Bấm 1 cái là xongKính gửi các thành viên diễn đàn giaiphapexcel,
Mình có một bảng thống kê bên Sheet1, nhưng mình không biết làm sao để ra kết quả lẹ như Sheet2, nhờ mọi người giúp dùm mình, mình gửi file đính kèm.
Sub DienGiai()
Dim sArr, dArr, I As Long, J As Long, K As Long
With Sheet1
sArr = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 5).Value
End With
ReDim dArr(1 To 1000, 1 To 4)
For I = 1 To UBound(sArr)
For J = sArr(I, 3) To sArr(I, 4)
K = K + 1
dArr(K, 1) = sArr(I, 1): dArr(K, 2) = sArr(I, 2)
dArr(K, 3) = J: dArr(K, 4) = sArr(I, 5)
Next J
Next I
With Sheet2
.Range("A2").Resize(1000, 4).ClearContents
.Range("A2").Resize(K, 4) = dArr
End With
End Sub
Bạn nhận file!!!Kính gửi các thành viên diễn đàn giaiphapexcel,
Mình có một bảng thống kê bên Sheet1, nhưng mình không biết làm sao để ra kết quả lẹ như Sheet2, nhờ mọi người giúp dùm mình, mình gửi file đính kèm.
K là từ viết tắt của không không và không, không thích từ không thì sao? bỏ không được không. Khà khà khàCách nhanh nhất là bạn dùng VBA. Bấm 1 cái là xong
Bạn thử đoạn Code này thử:
PHP:Sub DienGiai() Dim sArr, dArr, I As Long, J As Long, K As Long With Sheet1 sArr = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 5).Value End With ReDim dArr(1 To 1000, 1 To 4) For I = 1 To UBound(sArr) For J = sArr(I, 3) To sArr(I, 4) K = K + 1 dArr(K, 1) = sArr(I, 1): dArr(K, 2) = sArr(I, 2) dArr(K, 3) = J: dArr(K, 4) = sArr(I, 5) Next J Next I With Sheet2 .Range("A2").Resize(1000, 4).ClearContents .Range("A2").Resize(K, 4) = dArr End With End Sub
Nếu bạn thích dùng công thứcKính gửi các thành viên diễn đàn giaiphapexcel,
Mình có một bảng thống kê bên Sheet1, nhưng mình không biết làm sao để ra kết quả lẹ như Sheet2, nhờ mọi người giúp dùm mình, mình gửi file đính kèm.
Bạn ơi, công thức của bạn không hiện kết quả đúng khi mình thay đổi số đầu và số cuối, mình gửi lại file bạn coi nhaBạn nhận file!!!
Bạn ơi, công thức của bạn không hiện kết quả đúng khi mình thay đổi số đầu và số cuối, mình gửi lại file bạn coi nhaNếu bạn thích dùng công thức
Các con số là chỉ tiêu gì vậy?Bạn ơi, công thức của bạn không hiện kết quả đúng khi mình thay đổi số đầu và số cuối, mình gửi lại file bạn coi nha
Mới dòm sơ, tưởng bạn hiền sáng sớm "làm thơ: Không" chứ.Các con số là chỉ tiêu gì vậy?
Các con số có trùng nhau không?
Dữ liệu xếp thứ tự lại được không?
Còn trường hợp nào khác không?
Tốt nhất đưa dữ liệu thật lên
Mới dòm sơ, tưởng bạn hiền sáng sớm "làm thơ: Không" chứ.
Chúc bạn hiền ngày thiệt vui.
![]()
Hình như, thay chữ "ma cô" bằng "me cô" nó hợp với trạng thái hơn, hả anh!?Đợi một chút sẽ thấy y hát "Không, không, tôi không còn, tôi không còn ma cô nữa..."
Cuối cùng kết: "Giờ thì cũng (Ếch) xeo mà xeo yếu xìu..."
Hình như, thay chữ "ma cô" bằng "me cô" nó hợp với trạng thái hơn, hả anh!?
Từ "me" này, giờ cũng hiếm nghe người xài....
Ôi! ngày xưa....
Cái này giống nghiệp vụ phát vé số đó bạn, ví dụ mình phát ra từ số 1 đến số 3, thì ta có 3 số, còn phát từ số 2 đến số 2, thì ta có 1 số, mình gửi hình minh họa cho bạn dễ hiểu, còn dữ liệu thì file mình đã gửi trước đó đó bạn, vòng vòng có nhiu đó, không có trường hợp nào khác, dữ liệu thì xếp sao cũng được nhưng phải ra kết quả đúng, các con số có thể trùng nhauCác con số là chỉ tiêu gì vậy?
Các con số có trùng nhau không?
Dữ liệu xếp thứ tự lại được không?
Còn trường hợp nào khác không?
Tốt nhất đưa dữ liệu thật lên
Cảm ơn bạn, nhưng nếu trường hợp mình điền số bắt đầu giống với số kết thúc, mình chỉ muốn nó hiện ra 1 dòng bên Sheet 2 thì làm sao bạn, code này chạy ra 2 dòng giống nhau bạn ơiCách nhanh nhất là bạn dùng VBA. Bấm 1 cái là xong
Bạn thử đoạn Code này thử:
PHP:Sub DienGiai() Dim sArr, dArr, I As Long, J As Long, K As Long With Sheet1 sArr = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 5).Value End With ReDim dArr(1 To 1000, 1 To 4) For I = 1 To UBound(sArr) For J = sArr(I, 3) To sArr(I, 4) K = K + 1 dArr(K, 1) = sArr(I, 1): dArr(K, 2) = sArr(I, 2) dArr(K, 3) = J: dArr(K, 4) = sArr(I, 5) Next J Next I With Sheet2 .Range("A2").Resize(1000, 4).ClearContents .Range("A2").Resize(K, 4) = dArr End With End Sub
Cái này giống nghiệp vụ phát vé số đó bạn, ví dụ mình phát ra từ số 1 đến số 3, thì ta có 3 số, còn phát từ số 2 đến số 2, thì ta có 1 số, mình gửi hình minh họa cho bạn dễ hiểu, còn dữ liệu thì file mình đã gửi trước đó đó bạn, vòng vòng có nhiu đó, không có trường hợp nào khác, dữ liệu thì xếp sao cũng được nhưng phải ra kết quả đúng, các con số có thể trùng nhau
bài 2 sai ở chỗ khi mình chọn số bắt đầu = số kết thúc, ví dụ là số 1 đi, thì bên Sheet2 sẽ hiện 2 dòng, nhưng mình chỉ muốn hiện 1 dòng thôi.