Lọc lấy ngày cuối tháng trong năm (2 người xem)

Liên hệ QC

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

binhlt001

Thành viên mới
Tham gia
9/2/15
Bài viết
18
Được thích
1
Mình có 2 ô gồm ô ngày và ô giá của nhiều năm của công ty Vinamilk. Mình muốn láy ngày cuối tháng của tất cả các tháng qua các năm làm chuẩn kèm theo giá. Bạn nào biết cách, Xin chỉ mình với ! Có file đính kèm. Mình xin cám ơn
 

File đính kèm

Mình có 2 ô gồm ô ngày và ô giá của nhiều năm của công ty Vinamilk. Mình muốn láy ngày cuối tháng của tất cả các tháng qua các năm làm chuẩn kèm theo giá. Bạn nào biết cách, Xin chỉ mình với ! Có file đính kèm. Mình xin cám ơn
Nếu dùng VBA thì chạy thử sub này
kết quả dán vào cột H

Mã:
Public Sub Loc_Ngay_Thang()
Dim DL, Tam, kq(), r As Long, i

DL = Sheet1.Range("C1").CurrentRegion
ReDim kq(1 To UBound(DL), 1 To 2)
kq(1, 1) = DL(1, 1): kq(1, 2) = DL(1, 2)
kq(2, 1) = DL(2, 1): kq(2, 2) = DL(2, 2)
i = 2

Tam = Left(DL(2, 1), 6)
For r = 3 To UBound(DL)
If Left(DL(r, 1), 6) <> Tam Then
i = i + 1
kq(i, 1) = DL(r, 1): kq(i, 2) = DL(r, 2)
Tam = Left(DL(r, 1), 6)
End If
Next r

Sheet1.Range("H1").Resize(i, 2).Value = kq
End Sub
 
Mình có 2 ô gồm ô ngày và ô giá của nhiều năm của công ty Vinamilk. Mình muốn láy ngày cuối tháng của tất cả các tháng qua các năm làm chuẩn kèm theo giá. Bạn nào biết cách, Xin chỉ mình với ! Có file đính kèm. Mình xin cám ơn

Dùng Hàm thì làm cách củ chuối này nhé
1. Lấy ngày cuối tháng
=EOMONTH(RIGHT(MID(A2,5,8),2)&"/"&MID(MID(A2,5,8),5,2)&"/"&LEFT(MID(A2,5,8),4),0)
2. Lấy đơn giá
=LEFT(SUBSTITUTE(MID(SUBSTITUTE(A2,",","#",4),FIND("#",SUBSTITUTE(A2,",","#",4),1)+1,10),",",REPT(" ",100)),10)
 
Nếu dùng VBA thì chạy thử sub này
kết quả dán vào cột H

Mã:
Public Sub Loc_Ngay_Thang()
Dim DL, Tam, kq(), r As Long, i

DL = Sheet1.Range("C1").CurrentRegion
ReDim kq(1 To UBound(DL), 1 To 2)
kq(1, 1) = DL(1, 1): kq(1, 2) = DL(1, 2)
kq(2, 1) = DL(2, 1): kq(2, 2) = DL(2, 2)
i = 2

Tam = Left(DL(2, 1), 6)
For r = 3 To UBound(DL)
If Left(DL(r, 1), 6) <> Tam Then
i = i + 1
kq(i, 1) = DL(r, 1): kq(i, 2) = DL(r, 2)
Tam = Left(DL(r, 1), 6)
End If
Next r

Sheet1.Range("H1").Resize(i, 2).Value = kq
End Sub
Anh ui, hình như code ko chạy
 
Bạn xóa các cột trước cột 'Date', để sao cho cột 'Date' này về tới cột 'C' là được.
Dạ, cái này em hiểu.
PHP:
DL = Sheet1.Range("C1").CurrentRegion
Đoạn này em thấy C lúc đầu ko có dữ liệu thì ko dùng CurrentRegion được. Có thể file test anh Hùng chuyển vùng này sang C. Nhưng em ko thấy ai phản hồi code nên hỏi lại anh Hùng thôi ah.
 
Các anh em chỉ cách nhưng mình vẫn không thể làm được như hướng dẫn vì mình không biết lập trình. Có thể cho mình cái file excel đó để mình làm công ty Vinamilk và các công ty khác. Đặc biệt dựa vào đó, mình áp dụng cho các năm tiếp theo trong tương lai. Thanks các mem nhiều
 
Các anh em chỉ cách nhưng mình vẫn không thể làm được như hướng dẫn vì mình không biết lập trình. Có thể cho mình cái file excel đó để mình làm công ty Vinamilk và các công ty khác. Đặc biệt dựa vào đó, mình áp dụng cho các năm tiếp theo trong tương lai. Thanks các mem nhiều
Có mấy cột thừa nên xóa--->khác file đầu bài.
sorry. Gửi bạn file đính kèm cho tiện kiểm tra.


Đoạn này em thấy C lúc đầu ko có dữ liệu thì ko dùng CurrentRegion được. Có thể file test anh Hùng chuyển vùng này sang C. Nhưng em ko thấy ai phản hồi code nên hỏi lại anh Hùng thôi ah.
Cám ơn comet_1701 và HYen17
 

File đính kèm

Lần chỉnh sửa cuối:
Mình đã lấy file ra chọn ngày cuối tháng trong năm theo cách các bạn hướng dẫn nhưng vẫn không thể làm được. Bạn nào có thời gian, xin làm giúp file của mình với. Mình xin gởi file bên dưới.
 

File đính kèm

Mình đã lấy file ra chọn ngày cuối tháng trong năm theo cách các bạn hướng dẫn nhưng vẫn không thể làm được. Bạn nào có thời gian, xin làm giúp file của mình với. Mình xin gởi file bên dưới.
File bạn gửi không có thấy dữ liệu gì hết 1 file trắng với cái tên sheet "Thongke_01.01.2006_30.03.2015 -"
 
Mình có 2 ô gồm ô ngày và ô giá của nhiều năm của công ty Vinamilk. Mình muốn láy ngày cuối tháng của tất cả các tháng qua các năm làm chuẩn kèm theo giá. Bạn nào biết cách, Xin chỉ mình với ! Có file đính kèm. Mình xin cám ơn

Bài này liệu có thể làm = ADO?
 
đúng rồi bạn nhưng mình làm cái file thongke _01.01.2006... sau thì không biết làm sao
 
Mình sẽ chứng minh kết quả của Hai Lúa là sai, như sau:

Vậy kết quả có phải như file đính kèm mình làm ra là 111 dòng?

Ngày lớn nhất trong cột là 3/6/2015
Ngày nhỏ nhất là 12/02/2005
Vị chi số tháng sẽ là (3/6/2015 - 12/2/2005)/30.25 = 111.8 tháng;

Khoan vội thích thú với kết quả này 2 lúa à!

Vì trong này có những năm như 2014, 2013, 2011, 2010 không có tháng 10 & tháng 11 trong danh sách thay đổi giá 1 cách hoàn toàn!

(Kết luận của mình là bớt đi 7 hay 8 tháng gì đó!)
 
Chết. Các anh em, mình đang kẹt cái file cuối (Thongke_01.01.2006_30.03.2015 - Copy.rar ) mình gởi sau này nè vì số liệu đầy đủ hơn mà các anh em cứ lấy cái file thứ nhất ra dọc nó hoài là sao nhỉ. Tội nó lắm. Hihihihihi
 
Ngày lớn nhất trong cột là 3/6/2015
Ngày nhỏ nhất là 12/02/2005
Vị chi số tháng sẽ là (3/6/2015 - 12/2/2005)/30.25 = 111.8 tháng;

Khoan vội thích thú với kết quả này 2 lúa à!

Vì trong này có những năm như 2014, 2013, 2011, 2010 không có tháng 10 & tháng 11 trong danh sách thay đổi giá 1 cách hoàn toàn!

(Kết luận của mình là bớt đi 7 hay 8 tháng gì đó!)

Em tải dữ liệu bài 1 có số ngày nhỏ nhất là 19/01/2006 và ngày lớn nhất là 06/03/2015 dữ liệu có liên tục từ tháng 1 đến tháng 12 của mỗi năm 2006->2014 = 9 năm và 3 tháng của măm 2015
9 năm x 12 tháng = 108 + 3 = 111
Có thể em tính trên dữ liệu bài 1 khác với dữ liệu bác đang tính chăng?
 
Web KT

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

Back
Top Bottom