HELP !!! Có bao nhiêu thứ 3 và thứ 5 giữa 2 ngày ?!?! (1 người xem)

Liên hệ QC

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

thuhien23

Thành viên mới
Tham gia
29/6/20
Bài viết
2
Được thích
1
Chào anh/ chị,

Em cần tính tổng số ngày thứ 3 và thứ 5 trong khoảng thời gian từ ngày 2/6/2020 tới ngày 24/9/2020.
Rất mong nhận được sự giúp đỡ của các anh/ chị trong diễn đàn ạ ''''''''''''''''''}}}}}}}}}}
 
Chào anh/ chị,

Em cần tính tổng số ngày thứ 3 và thứ 5 trong khoảng thời gian từ ngày 2/6/2020 tới ngày 24/9/2020.
Rất mong nhận được sự giúp đỡ của các anh/ chị trong diễn đàn ạ ''''''''''''''''''}}}}}}}}}}
1593403977647.png

Bạn xem file đính kèm mình có làm sẵn cho bạn luôn rồi á.
Không hiểu gì cứ hỏi lại mình nha !
Lưu ý: Excel 2010 trở lên mới hỗ trợ hàm mình sử dụng nha. Còn các phiên bản thấp hơn thì... tính sau ! hi, căng.

Thân.
 

File đính kèm

Chào anh/ chị,

Em cần tính tổng số ngày thứ 3 và thứ 5 trong khoảng thời gian từ ngày 2/6/2020 tới ngày 24/9/2020.
Rất mong nhận được sự giúp đỡ của các anh/ chị trong diễn đàn ạ ''''''''''''''''''}}}}}}}}}}
Tôi có cái này
Mã:
Tính số ngày thứ hai: =INT((A2-A1-WEEKDAY(A2,2)+8)/7)
Tính số ngày thứ ba: =INT((A2-A1-WEEKDAY(A2-1,2)+8)/7)
Tính số ngày thứ tư: =INT((A2-A1-WEEKDAY(A2-2,2)+8)/7)
Tính số ngày thứ năm: =INT((A2-A1-WEEKDAY(A2-3,2)+8)/7)
Tính số ngày thứ sáu: =INT((A2-A1-WEEKDAY(A2-4,2)+8)/7)
Tính số ngày thứ bảy: =INT((A2-A1-WEEKDAY(A2-5,2)+8)/7)
Tính số ngày chủ nhật: =INT((A2-A1-WEEKDAY(A2-6,2)+8)/7)
Với cell A1 chứa ngày bắt đầu, cell A2 chứa ngày kết thúc
Giờ muốn tính cái gì thì cứ việc ráp vào
 
Tôi thì có cái này
Mã:
Tính số ngày thứ hai: =NETWORKDAYS.INTL(A2;A1;"0111111")
Tính số ngày thứ ba: =NETWORKDAYS.INTL(A2;A1;"1011111")
Tính số ngày thứ tư: =NETWORKDAYS.INTL(A2;A1;"1101111")
Tính số ngày thứ năm: =NETWORKDAYS.INTL(A2;A1;"1110111")
Tính số ngày thứ sáu: =NETWORKDAYS.INTL(A2;A1;"1111011")
Tính số ngày thứ bảy: =NETWORKDAYS.INTL(A2;A1;"1111101")
Tính số ngày chủ nhật: =NETWORKDAYS.INTL(A2;A1;"1111110")
Với cell A1 chứa ngày bắt đầu, cell A2 chứa ngày kết thúc
Giờ muốn tính cái gì thì cứ việc ráp vào
 
View attachment 240179

Bạn xem file đính kèm mình có làm sẵn cho bạn luôn rồi á.
Không hiểu gì cứ hỏi lại mình nha !
Lưu ý: Excel 2010 trở lên mới hỗ trợ hàm mình sử dụng nha. Còn các phiên bản thấp hơn thì... tính sau ! hi, căng.

Thân.

Bạn ơi, cho mình hỏi mình đang làm data cho trung tâm học thêm á. Sẽ có những đứa học những ngày khác nhau vì dụ như thứ 2,4; thứ 3,5 và thứ 7, chủ nhật. Mình không biết có cách nào để lúc nhập 35 vào 1 ô thì nó tự nhảy ra là "1010111", và tương tự nếu mình nhập 46 thì nó sẽ ra dãy số"1101011" luôn ko bạn để mình không phải viết tay nhiều trường hợp nữa @$@^#''''''''''''''''''
 
DEC2BIN(64+32+16+8+4+2+1, 7) là "1111111" (lưu ý 7 vị trí 2^n)
64+32+16+8+4+2+1 = 127
Cần số 0 ở chỗ nào thì trừ đi đúng vị trí ấy
DEC2BIN(127-32-8, 7) = 1010111
Rất hay và chuyên sâu, cám ơn anh.

Ý người dùng muốn A1 nhập 35 thì kết quả B1 sẽ là 1010111 . Yêu cầu này tốn không ít thời gian suy nghĩ.

Hahaha ...
 
Bạn ơi, cho mình hỏi mình đang làm data cho trung tâm học thêm á. Sẽ có những đứa học những ngày khác nhau vì dụ như thứ 2,4; thứ 3,5 và thứ 7, chủ nhật. Mình không biết có cách nào để lúc nhập 35 vào 1 ô thì nó tự nhảy ra là "1010111", và tương tự nếu mình nhập 46 thì nó sẽ ra dãy số"1101011" luôn ko bạn để mình không phải viết tay nhiều trường hợp nữa @$@^#''''''''''''''''''
Bạn tạo bảng phụ để tự quy ước dễ mà.
1593413264188.png

Bạn xem file mình đính kèm, mình tạo sẵn cho bạn hết luôn rồi đó. Xài thôi ! :D
 

File đính kèm

Quy ước:
- Thứ 2 là 1000000
- Thứ 3 là 100000
- Thứ 4 là 10000
- Thứ 5 là 1000
- Thứ 6 là 100
- Thứ 7 là 10
- Chủ nhật là 1.
Vào những ngày nào thì dùng làm lọc ra rồi lấy 1111111 trừ đi thì chắc là ok đấy :D
 
Yêu cầu quái đản. Nhưng mà thôi kệ, mình cứ thử (chỉ thử cách giải thôi, có thể còn phải chải chuốt cho thật đúng):
=DEC2BIN(SUMPRODUCT({1,2,4,8,16,32,64}*(SEARCH({1,7,6,5,4,3,2},$A1&"1765432")>LEN($A1))), 7)
 
Bạn ơi, cho mình hỏi mình đang làm data cho trung tâm học thêm á. Sẽ có những đứa học những ngày khác nhau vì dụ như thứ 2,4; thứ 3,5 và thứ 7, chủ nhật. Mình không biết có cách nào để lúc nhập 35 vào 1 ô thì nó tự nhảy ra là "1010111", và tương tự nếu mình nhập 46 thì nó sẽ ra dãy số"1101011" luôn ko bạn để mình không phải viết tay nhiều trường hợp nữa @$@^#''''''''''''''''''
Bạn ơi, bạn đính kèm file dữ liệu của bạn rồi mọi người sẽ có giải pháp hay nhứt cho bạn đó ! :D
Còn bạn ngại upload file lên forum thì bạn cứ dùng 1 trong những công thức bên trên, cái nào cũng được, thấy cái nào hạp nhãn và hiệu quả thì xài thui !
Thân.
 
Yêu cầu quái đản. Nhưng mà thôi kệ, mình cứ thử (chỉ thử cách giải thôi, có thể còn phải chải chuốt cho thật đúng):
=DEC2BIN(SUMPRODUCT({1,2,4,8,16,32,64}*(SEARCH({1,7,6,5,4,3,2},$A1&"1765432")>LEN($A1))), 7)

ko quái đản đâu bác. Nghe yêu cầu thì chắc bạn này làm bên học vụ cần tính số buổi học cho hssv rồi
 
Người dùng muốn 246, 357.... hahaha ...
Phát triển dựa trên ý của bác VetMini:
Mã:
=NETWORKDAYS.INTL(A1,B1,DEC2BIN(127-SUMPRODUCT(CHOOSE(MID(C3,ROW(INDIRECT("1:"&LEN(C3))),1)-1,64,32,16,8,4,2,1)),7))
Kết thúc Ctrl+shift+enter
A1: ngày bắt đầu
B1: ngày kết thúc
C3: thứ cần tính: 246, 357, 2348,....
 

File đính kèm

Công thức bài 14, rút gọn lại:

=NETWORKDAYS.INTL(D6,E6,TEXT(1111111-SUMPRODUCT(ISNUMBER(SEARCH({1,2,3,4,5,6,7},F6))*{1,1000000,100000,10000,1000,100,10}),"0000000"))
1/ Số thì dùng Find()
2/ Dùng Iserr() thì không cần 1111111

Dzậy sẽ ngắn hơn nữa.

/-*+//-*+//-*+/
 
Phát triển dựa trên ý của bác VetMini:
Mã:
=NETWORKDAYS.INTL(A1,B1,DEC2BIN(127-SUMPRODUCT(CHOOSE(MID(C3,ROW(INDIRECT("1:"&LEN(C3))),1)-1,64,32,16,8,4,2,1)),7))
Kết thúc Ctrl+shift+enter
A1: ngày bắt đầu
B1: ngày kết thúc
C3: thứ cần tính: 246, 357, 2348,....
Tôi luôn luôn tránh dùng hàm INDIRECT. Cực chẳng đã mới phải dùng. Vì nó là volatile.
Hàm ROW/COLUMN cũng vậy, nếu tránh được thì tránh. Hơi khó chịu nếu thêm bớt dòng/cột.
 
Bạn ơi, cho mình hỏi mình đang làm data cho trung tâm học thêm á. Sẽ có những đứa học những ngày khác nhau vì dụ như thứ 2,4; thứ 3,5 và thứ 7, chủ nhật. Mình không biết có cách nào để lúc nhập 35 vào 1 ô thì nó tự nhảy ra là "1010111", và tương tự nếu mình nhập 46 thì nó sẽ ra dãy số"1101011" luôn ko bạn để mình không phải viết tay nhiều trường hợp nữa @$@^#''''''''''''''''''
@thuhien23 : mình không ngờ cái ý muốn nhỏ nhoi của bạn mà đã làm cho các cao thủ lập trình (ko có mình trong đó) vào trổ tài luôn đó. dzui ghê, hiiiii.
Yêu cầu quái đản. Nhưng mà thôi kệ, mình cứ thử (chỉ thử cách giải thôi, có thể còn phải chải chuốt cho thật đúng):
=DEC2BIN(SUMPRODUCT({1,2,4,8,16,32,64}*(SEARCH({1,7,6,5,4,3,2},$A1&"1765432")>LEN($A1))), 7)
@VetMini : bác thấy không, đây là 1 trong những minh chứng cho phát biểu: Người "không được siêng" khi làm việc thường có những ý tưởng... phi thường, hoặc... quái đản. :D
ko quái đản đâu bác. Nghe yêu cầu thì chắc bạn này làm bên học vụ cần tính số buổi học cho hssv rồi
@quocturtle : bác vetmini nói quái đản ở chỗ chủ thớt muốn nó tự nhảy đó bạn, hi.
 
Nhiều lúc mình ngồi ngẫm nghĩ: có khi nào các anh chị, các chú các bác đem dao mổ trâu đi giết gà không ta?!!! :|
 
dạ chị cho em hỏi cái chỗ1010111 đó là gì vậy ạ? e không hiểu chỗ đó ạ,em cảm ơn ạ
Bài đã được tự động gộp:


Tôi thì có cái này
Mã:
Tính số ngày thứ hai: =NETWORKDAYS.INTL(A2;A1;"0111111")
Tính số ngày thứ ba: =NETWORKDAYS.INTL(A2;A1;"1011111")
Tính số ngày thứ tư: =NETWORKDAYS.INTL(A2;A1;"1101111")
Tính số ngày thứ năm: =NETWORKDAYS.INTL(A2;A1;"1110111")
Tính số ngày thứ sáu: =NETWORKDAYS.INTL(A2;A1;"1111011")
Tính số ngày thứ bảy: =NETWORKDAYS.INTL(A2;A1;"1111101")
Tính số ngày chủ nhật: =NETWORKDAYS.INTL(A2;A1;"1111110")
Với cell A1 chứa ngày bắt đầu, cell A2 chứa ngày kết thúc
Giờ muốn tính cái gì thì cứ việc ráp vào
Dạ cho em hỏi tí với ạ,cái dãy sau cùng trong công thức ý ạ, dãy số 0111111, hay 1011111 lần lượt cho các thứ trên đó là như thế nào ạ, em không hiểu vì sao có dãy số này ạ, em cảm ơn nhiều ạ
 
Lần chỉnh sửa cuối:
dạ chị cho em hỏi cái chỗ1010111 đó là gì vậy ạ? e không hiểu chỗ đó ạ,em cảm ơn ạ
Bài đã được tự động gộp:

Dạ cho em hỏi tí với ạ,cái dãy sau cùng trong công thức ý ạ, dãy số 0111111, hay 1011111 lần lượt cho các thứ trên đó là như thế nào ạ, em không hiểu vì sao có dãy số này ạ, em cảm ơn nhiều ạ
À, đó là chuỗi nhị phân 7 ký tự.
Bạn xem bài này của bạn @TranThanhPhong viết rất rõ về hàm NETWORKDAYS.INTL này nha:
Lưu ý hàm này Excel 2010 trở lên mới có nhen.

Đại khái vầy:
Các giá trị chuỗi ngày cuối tuần (chính xác hơn là để biểu diễn ngày nghỉ trong tuần) dài 7 ký tự và mỗi một ký tự trong chuỗi biểu thị một ngày trong tuần, bắt đầu từ thứ Hai.
1 thể hiện là ngày nghỉ.
0 thể hiện là ngày làm việc.
Chỉ những ký tự 1 và 0 được sử dụng trong chuỗi. 1111111 là một chuỗi không hợp lệ.

Ví dụ, “0000011″ sẽ biểu diễn ngày cuối tuần (weekends) là Thứ bảy và Chủ nhật.

Bạn hiểu chứ?
 
À, đó là chuỗi nhị phân 7 ký tự.
Bạn xem bài này của bạn @TranThanhPhong viết rất rõ về hàm NETWORKDAYS.INTL này nha:
Lưu ý hàm này Excel 2010 trở lên mới có nhen.

Đại khái vầy:
Các giá trị chuỗi ngày cuối tuần (chính xác hơn là để biểu diễn ngày nghỉ trong tuần) dài 7 ký tự và mỗi một ký tự trong chuỗi biểu thị một ngày trong tuần, bắt đầu từ thứ Hai.
1 thể hiện là ngày nghỉ.
0 thể hiện là ngày làm việc.
Chỉ những ký tự 1 và 0 được sử dụng trong chuỗi. 1111111 là một chuỗi không hợp lệ.

Ví dụ, “0000011″ sẽ biểu diễn ngày cuối tuần (weekends) là Thứ bảy và Chủ nhật.

Bạn hiểu chứ?
Bài đã được tự động gộp:

em cảm ơn chị nhiều ạ.hihi
 
Chào anh/ chị,

Em cần tính tổng số ngày thứ 3 và thứ 5 trong khoảng thời gian từ ngày 2/6/2020 tới ngày 24/9/2020.
Rất mong nhận được sự giúp đỡ của các anh/ chị trong diễn đàn ạ ''''''''''''''''''}}}}}}}}}}
Công thức mảng này
i10 là ô ngày bắt đầu
j10 là ô ngày kết thúc

{=SUMPRODUCT(1*(WEEKDAY(ROW(INDIRECT("A"&I10):INDIRECT("A"&J10)),1)=3)+1*(WEEKDAY(ROW(INDIRECT("A"&I10):INDIRECT("A"&J10)),1)=5))}
Bài đã được tự động gộp:


Tôi có cái này
Mã:
Tính số ngày thứ hai: =INT((A2-A1-WEEKDAY(A2,2)+8)/7)
Tính số ngày thứ ba: =INT((A2-A1-WEEKDAY(A2-1,2)+8)/7)
Tính số ngày thứ tư: =INT((A2-A1-WEEKDAY(A2-2,2)+8)/7)
Tính số ngày thứ năm: =INT((A2-A1-WEEKDAY(A2-3,2)+8)/7)
Tính số ngày thứ sáu: =INT((A2-A1-WEEKDAY(A2-4,2)+8)/7)
Tính số ngày thứ bảy: =INT((A2-A1-WEEKDAY(A2-5,2)+8)/7)
Tính số ngày chủ nhật: =INT((A2-A1-WEEKDAY(A2-6,2)+8)/7)
Với cell A1 chứa ngày bắt đầu, cell A2 chứa ngày kết thúc
Giờ muốn tính cái gì thì cứ việc ráp vào
[/QUOTE
Bạn đúng là cao thủ :))
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom