Giúp mình tính số tổng số ngày trùng thứ và ngày

Liên hệ QC

maxonha

Thành viên mới
Tham gia
15/1/07
Bài viết
9
Được thích
0
Em muốn tính tổng số ngày trong khoảng thời gian có ngày và thứ trùng nhau.

VD từ 1/1/2011 đến 30/12/2011 cố bao nhiêu ngày CN ngày 8.

Em đã tham khảo trong diễn đàn nhưng chỉ tính được tổng số ngày CN chứ chưa thể lọc được có bao nhiêu ngày CN rơi vào mùng 8.
 
Bạn thử dùng công thức mảng này xem thế nào nhé! (nhấn đồng thời Ctrl+Shift+Enter)
=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(A1&":"&A2)))=1)*(DAY(ROW(INDIRECT(A1&":"&A2)))=8))
với A1, A2 là ngày đầu và ngày cuối của bạn.
 
Bạn thử dùng công thức mảng này xem thế nào nhé! (nhấn đồng thời Ctrl+Shift+Enter)
với A1, A2 là ngày đầu và ngày cuối của bạn.
Cảm ơn bác...bác giải thích lệnh giúp em được không?ROW, INDIRECT vì có thể tìm được trên google nhưng em muốn áp dụng vào bài này luôn.
 
Cảm ơn bác...bác giải thích lệnh giúp em được không?ROW, INDIRECT vì có thể tìm được trên google nhưng em muốn áp dụng vào bài này luôn.
bạn gõ công thức =ROW(INDIRECT(A1&":"&A2)) sau đó vào thanh formula bar bôi đen công thức và sau đó bấm f9 để xem kết quả
và tự nghiên cứu nhé. chỉ có vậy học mới nhanh thôi
 
Bạn thử dùng công thức mảng này xem thế nào nhé! (nhấn đồng thời Ctrl+Shift+Enter)
=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(A1&":"&A2)))=1)* (DAY(ROW(INDIRECT(A1&":"&A2)))=8))
với A1, A2 là ngày đầu và ngày cuối của bạn.
Dùng hàm TEXT sẽ ngắn hơn 1 chút:
PHP:
=SUMPRODUCT((TEXT(ROW(INDIRECT(A1&":"&A2)),"ddd d")="Sun 8")*1)
-----------------
bạn gõ công thức =ROW(INDIRECT(A1&":"&A2)) sau đó vào thanh formula bar bôi đen công thức và sau đó bấm f9 để xem kết quả
và tự nghiên cứu nhé. chỉ có vậy học mới nhanh thôi
Mảng 365 phần tử thì làm sao mà F9 được cơ chứ ---> Nó báo lỗi là cái chắc
 
Lần chỉnh sửa cuối:
Mảng 365 phần tử thì làm sao mà F9 được cơ chứ ---> Nó báo lỗi là cái chắc
Thường ngày em cũng nhấn F9 hoặc fx của thành formular để coi không hà như với mảng nho nhỏ vì em thấy dài quá không hiểu nên làm ngắn ngắn không hà, vậy nếu mảng mà dài thì làm sao đọc được anh
 
Thường ngày em cũng nhấn F9 hoặc fx của thành formular để coi không hà như với mảng nho nhỏ vì em thấy dài quá không hiểu nên làm ngắn ngắn không hà, vậy nếu mảng mà dài thì làm sao đọc được anh
Mảng dài quá thì trích đoạn ấy ra, gõ trực tiếp vào cell mà kiểm tra
Ví dụ để kiểm tra đoạn ROW(INDIRECT(A1&":"&A2)) ta làm như sau:
- Quét chọn C1:C365
- Gõ vào thanh Formual công thức =ROW(INDIRECT(A1&":"&A2))
- Bấm Ctrl + Shirf + Enter
Lưu ý: Ta quét C1:C365 là vì ta biết trước số phần tử trong mảng là 365 phần tử. Nếu số phần tử này khác thì ta quét chọn với số lượng dòng phù hợp là được
 
excel 2003 lỗi hả bác
chết thật em dùng đồ mới nên không phát hiện ra
Cho dù "đồ mới" có dùng được chiêu này thì thử nghĩ sau khi bấm F9, nhìn cái "đám rừng" 365 phần tử ấy liệu ta có nhận xét được gì không? Chỉ e rằng "quáng gà" luôn!
Thôi thì gõ trực tiếp vào cell đi cho nó trực quan
 
Mảng dài quá thì trích đoạn ấy ra, gõ trực tiếp vào cell mà kiểm tra
Ví dụ để kiểm tra đoạn ROW(INDIRECT(A1&":"&A2)) ta làm như sau:
- Quét chọn C1:C365
- Gõ vào thanh Formual công thức =ROW(INDIRECT(A1&":"&A2))
- Bấm Ctrl + Shirf + Enter
Lưu ý: Ta quét C1:C365 là vì ta biết trước số phần tử trong mảng là 365 phần tử. Nếu số phần tử này khác thì ta quét chọn với số lượng dòng phù hợp là được
Cho em hỏi dùng VBA có làm được bài này không?
 
Cho em hỏi dùng VBA có làm được bài này không?
Với VBA thì hầu như chẳng có thứ gì là không được cả
Ví dụ tạo 1 Function để giúp bạn đếm xem từ ngày đâu đến ngày cuối có bao nhiêu ngày thuộc THỨ gì đó và thuộc NGÀY gì đó
PHP:
Function DemNgay(NgayDau As Long, NgayCuoi As Long, Thu As Long, Ngay As Long) As Long
  Dim dat As Long
  For dat = NgayDau To NgayCuoi
    If Weekday(dat, 1) = Thu And Day(dat) = Ngay Then DemNgay = DemNgay + 1
  Next
End Function
- Tại A1 gõ ngày bắt đầu
- Tại A2 gõ ngày kết thúc
- Tại B1 gõ công thức: =DemNgay(A1, A2, 1, 8)
Số 1 nghĩa là CN, số 8 là ngày 8
 
Sao mình gõ bằng tay trực tiếp vào thì nó ra bằng 0 là sao anh? Vậy nè anh B1 = Demngay (01/01/2011,30/12/2011,1,8)
 
Lần chỉnh sửa cuối:
Chắc gõ bằng tay nguyên văn thế này:
= Demngay (01/01/2011,30/12/2011,1,8)

Nó sẽ bằng

= Demngay (0,0,1,8)
= zero
 
Web KT
Back
Top Bottom