Tính ngày sau 1 khoảng thời gian không kể chủ nhật (8 người xem)

  • Thread starter Thread starter Linhvoi
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Bạn Ndu ơi, Linh đã làm theo hướng dẫn của bạn rồi mà vẫn không được, nó vẫn báo lỗi, bạn xem lại mình đã làm sai chỗ nào và giúp ,mình nhé,cảm ơn bạn rất nhiều. híc...
Bạn sai 2 chổ:
- Ngày tháng bạn gõ vào G6 thật chất không phải là dạng DATE (nó chỉ là TEXT) ---> Không tin bạn cứ kiểm tra bằng hàm =ISTEXT(G6)... nó cho kết quả =TRUE
- Công thức thì sai 2 chổ:
- Vì đây là công thức mãng nên sau khi gõ xong phải Ctrl + Shift + Enter (chứ không thể Enter)
- Sai tham chiếu: Giá trị nhập nằm ở cell G6 và H6, vậy đương nhiên công thức phải tham chiếu đến 2 cell này chứ (bạn cho tham chiếu đi đến tận đâu, J26 và K26 là thế nào)
Tôi sửa lại cho bạn rồi đấy
 

File đính kèm

ND yeu quy, khi tớ nháp và tính theo cách của bạn thì nó hoàn toàn đúng, nhưng khi tớ làm trưcj tiếp vao file của mình thì nó ko chạy, bạn xem giúp tớ lại lần nữa đc ko? chân thành cảm ơn và cũng xin lỗi vì đã làm phiền bạn nhiều như vậy
 

File đính kèm

ND yeu quy, khi tớ nháp và tính theo cách của bạn thì nó hoàn toàn đúng, nhưng khi tớ làm trưcj tiếp vao file của mình thì nó ko chạy, bạn xem giúp tớ lại lần nữa đc ko? chân thành cảm ơn và cũng xin lỗi vì đã làm phiền bạn nhiều như vậy
Không chạy nghĩa là sao? Tôi thử thấy bình thường mà bạn!
Lưu ý: Sao khi ra kết quả, nếu bạn thấy nó không phải dạng dd/mm/yyyy mà là 1 số nào đó lạ hoắc (chẳng hạn =39972) thì cứ yên tâm... Vào menu Format\Cells, chọn mục Custom và gõ vào khung Type: dd/mm/yyyy là xong!
---------------
Thêm nữa: Tuy bạn nhìn thấy công thức có 2 dấu {} ở đầu và cuối, nhưng khi gõ thì bạn không được cho 2 dấu này vào... cứ gõ bình thường, sau khi bạn Ctrl + Shift + Enter thì 2 dấu {} tự thân nó sẽ xuất hiện (bạn gõ dấu {} vào là nó cóc chạy đâu)
Xem file
 

File đính kèm

Lần chỉnh sửa cuối:
dung roi Du a, hi hi tớ ngốc thật đấy, tớ ko có kiến thức chuyên sâu về Excel cho lắm nên nó mới tệ hại như thế đấy. tớ cũng tim đọc về hàm index và tìm hiểu nguyên do cách bạn làm, vì sao lại làm như thế...nhưng-+*/ tớ hoa hết cả mắt.... nếu bạn có thể giải thích tỉ mẩn cho tớ về cách bạn làm được thì tốt quá, nhưng nếu không được thì ko sao đâu, dù sao tớ vô cùng cảm ơn bạn. nếu có thể làm gì cụ thể hơn việc cảm ơn tất cả các thành viên đã góp ý cho tớ lần này như bạn muốn và như tớ đã làm rồi ..... tớ sẽ làm ngay--=0
 
dung roi Du a, hi hi tớ ngốc thật đấy, tớ ko có kiến thức chuyên sâu về Excel cho lắm nên nó mới tệ hại như thế đấy. tớ cũng tim đọc về hàm index và tìm hiểu nguyên do cách bạn làm, vì sao lại làm như thế...nhưng tớ hoa hết cả mắt.... nếu bạn có thể giải thích tỉ mẩn cho tớ về cách bạn làm được thì tốt quá, nhưng nếu không được thì ko sao đâu, dù sao tớ vô cùng cảm ơn bạn. nếu có thể làm gì cụ thể hơn việc cảm ơn tất cả các thành viên đã góp ý cho tớ lần này như bạn muốn và như tớ đã làm rồi ..... tớ sẽ làm ngay
Trong công thức này chỉ rắc rối có 1 chổ: ROW(INDIRECT(.....) mà thôi...
Bạn có thể thuộc lòng luôn đoạn code này, nó có tác dụng tạo ra 1 cột số thứ tự
Cú pháp
=ROW(INDIRECT("1:"& x))
với x là 1 số nguyên dương nào đó
ví dụ bạn thí nghiệm gõ công thức này vào 1 cell nào đó:
=ROW(INDIRECT("1:&10))
Enter công thức xong, bạn bôi đen công thức trên thanh Formula rồi bấm F9, bạn sẽ thấy kết quả ={1;2;3;4;5;6;7;8;9;10}
Thay số 10 trong công thức bằng số 7 (chẳng hạn) rồi cũng làm thao tác trên, bạn thấy kết quả ={1;2;3;4;5;6;7}
Thí nghiệm tiếp:
- Gõ vào cell A1 số 10
- Gõ vào cell B1 công thức:
=ROW(INDIRECT("1:"&A1))
ta cũng được kết quả tương đương với công thức =ROW(INDIRECT("1:&10))
----------------
Quay trở lại công thức trong file:
INDEX(D4-1+ROW(INDIRECT("1:"&I4*2))......
Ta xét đoạn D4-1+ROW(INDIRECT("1:"&I4*2))
- Với D4Start Day, thì D4-1 nghĩa là Start Day trử bớt 1 sẽ là ngày hôm trước (đúng không)
- Từ ngày hôm trước ấy, lần lượt cộng cho dảy số thứ tự {1;2;3;.... } (đã được tạo từ công thức ROW(INDIRECT(....) ---> Ta thu được 1 chuổi gồm các ngày liên tiếp cách nhau 1 đơn vị (1 ngày)
Phù..... Tới đây đã được nữa đường ---> Bạn tự mình suy luận tiếp đi
Lưu ý: Hãy cắt công thức ra từng đoạn nhỏ mà.. suy luận... Làm 1 nhát dài thòng lòng có mà.. đói luôn ---> Giống như cách tôi đặt Name ở bài đầu, mục đích là cắt công thức ra nhiều phần cho tiện theo dỏi (chứ chẳng phải "bí hiểm" gì như 1 số bạn đã nghĩ)
 
HI, Thanks kiu Du, tớ lại tiếp tục làm piền bạn nhé, một chút nữa thôi, tớ ví dụ thế này, trong khoảng thời gian 5/5/2009 tới 5/29/2009 sẽ có bao nhiêu chủ nhật? tớ dùng hàm công thức như sau: =INT(("5/29/2009"-"5/5/2009"-WEEKDAY("5/29/2009"-6,2)+8)/7) SẼ RA được ngày số ngày CN trong khoảng này là 4 ngày. nhưng khi tớ làm tương tu trong file tó gửi kèm bạn đây lại ko đc. tớ ko biết vì sao cả. bạn xem giúp tớ với
 

File đính kèm

HI, Thanks kiu Du, tớ lại tiếp tục làm piền bạn nhé, một chút nữa thôi, tớ ví dụ thế này, trong khoảng thời gian 5/5/2009 tới 5/29/2009 sẽ có bao nhiêu chủ nhật? tớ dùng hàm công thức như sau: =INT(("5/29/2009"-"5/5/2009"-WEEKDAY("5/29/2009"-6,2)+8)/7) SẼ RA được ngày số ngày CN trong khoảng này là 4 ngày. nhưng khi tớ làm tương tu trong file tó gửi kèm bạn đây lại ko đc. tớ ko biết vì sao cả. bạn xem giúp tớ với
Công thức đúng cả, nhưng nó không ra kết quả là vì cell L4 cũng bạn đang Format dạng text
Sửa lại:
- Click phải vào L4, chọn Format Cells
- Nhấp chọn mục General rồi bấm OK
- Giờ chọn vào cell L4, bấm F2 rồi Enter 1 nhát xem thế nào nhé
(không biết thì phải hỏi.. có gì mà phiền chứ)
 

File đính kèm

Lần chỉnh sửa cuối:
và giờ tớ lại hỏi tiếp Du nhé, tớ ví dụ thế này. từ ngày 5/21/2009 sau 17 ngày nữa là ngày nào? lần này đếm liên tiếp, kô bỏ CN và T7, nhưng nếu ngày cuối cùng tức ngày 6/6/2009 mà rơi vào t7 sẽ bỏ qua t7 và CN tính vào ngày t2 tức là đếm luôn ngày thích hợp ở đây là 6/8/2009 thì pải làm thế nào? tớ đang lập bảng tính phép cho công nhân, vì nếu ngày trả phép của họ rơi vào t7 hoặc chủ nhật hay các ngày lễ thì ngày đó bọn tớ ko đi làm nên sẽ hẹn họ vào t2 hoặc ngày tiếp theo, bạn có thể giúp tớ cái này ko
 
và giờ tớ lại hỏi tiếp Du nhé, tớ ví dụ thế này. từ ngày 5/21/2009 sau 17 ngày nữa là ngày nào? lần này đếm liên tiếp, kô bỏ CN và T7, nhưng nếu ngày cuối cùng tức ngày 6/6/2009 mà rơi vào t7 sẽ bỏ qua t7 và CN tính vào ngày t2 tức là đếm luôn ngày thích hợp ở đây là 6/8/2009 thì pải làm thế nào? tớ đang lập bảng tính phép cho công nhân, vì nếu ngày trả phép của họ rơi vào t7 hoặc chủ nhật hay các ngày lễ thì ngày đó bọn tớ ko đi làm nên sẽ hẹn họ vào t2 hoặc ngày tiếp theo, bạn có thể giúp tớ cái này ko
Trước hết, cho tôi hỏi tí: Hôm nay là ngày 31/5, thì theo bạn, "sau 1 ngày nữa" là ngày mấy? Ngày 01/6 hay vẫn là ngày 31/5?
Nếu bạn trả lời câu hỏi trên đây là ngày 01/6, thì "sau 17 ngày nữa" của bạn (tính từ ngày 21/5) phải là ngày 07/6 chứ không phải là ngày 06/6.
Bởi vì, nếu "sau 1 ngày" tức lấy ngày 31/5 cộng thêm 1, ra ngày 01/6, thì "sau 17 ngày" phải lấy ngày 21/5 cộng thêm 17...

Hỏi cho vui, nhưng thật sự tôi muốn nói rằng, cho dù là ví dụ, bạn cũng nên cho một đáp số chính xác, thì mới dễ dàng trả lời. Thôi, trả lời cho bạn đây:

Dùng Excel, nếu chỉ cần cộng thêm bao nhiêu ngày mà không trừ ngày nào hết, thì bạn chỉ việc lấy ngày đó cộng thêm số ngày muốn thêm.

Nếu muốn xét ngày kết quả có rơi vào thứ Bảy hay Chủ Nhật hay không, thì dùng hàm WEEKDAY, với tham số thứ hai là 2. Khi dùng tham số thứ hai là 2, Excel sẽ đặt ngày thứ Hai là 1, thứ Ba là 2... thứ Bảy là 6 và Chủ Nhật là 7, thích hợp với câu hỏi của bạn. Và chúng ta sẽ gán cho cái WEEKDAY này một điều kiện, nếu WEEKDAY của ngày kết quả mà lớn hơn 5 (nghĩa là lớn hơn thứ Sáu), thì cộng thêm 2 ngày nữa (để buộc kết quả phải rơi vào ngày thứ Hai tiếp theo).

Giả sử ngày bắt đầu của bạn ở ô A1, số ngày cần cộng thêm ở ô B1, và ngày chứa kết quả ở ô C1, thì bạn dùng công thức này ở ô C1:
=A1+B1+IF(WEEKDAY(A1+B1,2)>5,2,0)​
Hoặc có thể dùng biểu thức này, không cần IF:
=A1+B1+(WEEKDAY(A1+B1,2)>5)*2​
 
Giả sử ngày bắt đầu của bạn ở ô A1, số ngày cần cộng thêm ở ô B1, và ngày chứa kết quả ở ô C1, thì bạn dùng công thức này ở ô C1:
=A1+B1+IF(WEEKDAY(A1+B1,2)>5,2,0)​
Hoặc có thể dùng biểu thức này, không cần IF:
=A1+B1+(WEEKDAY(A1+B1,2)>5)*2​
Không chính xác à nha!
Nếu ngày cuối rơi vào ngày thứ bảy, ta cộng thêm 2
Nếu ngày cuối rơi vào ngày chủ nhật, ta cộng thêm 1

Ở đây bạn BNTT thêm 2 tất tần tật là không chính xác đâu
Nếu dùng IF thì phải thế này:
PHP:
=A1+B1+IF(WEEKDAY(A1+B1)=1,1,IF(WEEKDAY(A1+B1)=7,2,0))
Nhưng theo bạn Linhvoi đã nói ngay từ đầu, việc "đếm số ngày" là có tính luôn ngày bắt đầu, vì thế công thức trên được sửa lại như sau:
PHP:
=A1+B1-1+IF(WEEKDAY(A1+B1-1)=1,1,IF(WEEKDAY(A1+B1-1)=7,2,0))
 
du oi, ở đây bạn làm nó chỉ mới nhảy ngày nếu là chủ nhậ hoặc thứ bẩy thôi pải ko? tớ muốn nó sẽ nhảy ngày nêu rơi vào các ngày nghỉ lễ nữa cơ. ví dụ nếu rơi vào nghỉ lễ 1/5, 30/4, 2/9, 10/3(âm lịch) tết nguyên đán, tết dương lịch nó cũng sẽ nhảy. bạn có cách nào làm đc ko?

đây là file mẫu mình gưỉư cho bạn.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
đây là file mẫu mình gưỉư cho bạn.
Nó đây!
Trong file có dùng đến 1 name (FDay)
Nếu bạn không thích, có thể copy công thức trong Name FDay và Paste vào công thức của bạn! Tuy nhiên nếu làm thế thì công thức sẽ rất dài
 

File đính kèm

1/29/2009 1/30/2009 1/31/2009 2/1/2009 2/2/2009 2/3/2009 du ah, sao trong ngay nghi le lai co cac ngay nay???to ko hieu cai nay lam
Tôi đâu có biết... bạn liệt kê ngày nào thì tôi ghi cả vào đó
Bạn ghi thế này đây:
1/1/2009-(tết tây-rơi vào thứ 5)
25,26,27,28/1/2009(tết nguyên đán-30,1,2,3/1/2009-rơi vào thứ cn,t2,t3,t4)
4/4/2009(giỗ tổ hùng vương-10/3)
30/4/2009(rơi v ào t5)
1/5/2009((rơi vào t6)
2/9/2009(rơi vào t2)
Ngày nào không đúng thì xóa đi... Dể mà
(mấy ngày nghỉ lể ấy chỉ gõ bằng tay vào thôi)
 
Gui Du

đây là file tớ gửi kèm với câu hỏi tớ gửi theo timn nhắn riwng cho bạn
 

File đính kèm

Xin nhắc bạn.

đây là file tớ gửi kèm với câu hỏi tớ gửi theo timn nhắn riwng cho bạn

Có một số vùng miền, khi nghe xưng hô 'Tớ' sẽ tưởng người xưng là trịnh thượng, chứ không tưởng đó là sự thân mật quá trớn.

Bạn nên thận trọng vì chúng ta có tuổi tác, địa vị xã hội & có những thói quen vùng miền rất khác nhau

(Riêng mình, đã sống ngoài nớ gần 1/4 thế kỹ nhưng giờ vẫn chưa quen với cách xưng hô như vậy!):-=
Bạn hãy nghỉ đến người đọc thêm nha!

Thân ái.
 
gửi anh du

đây là file em làm theo cách anh hướng dẫn, ko rõ là sai chỗ nào, anh xem giúp em
 

File đính kèm

xin chào mọi người!
Tớ đang rối nhờ mọi người chỉ giúp:
ví dụ: cho ngày 16/8/2010 là ngày bắt đầu.
yêu cầu thực hiện:
ngày cuối=ngày đầu + 4 ( bỏ qua thứ 7, CN và ngày lễ, ngày nghĩ bù)
mong mọi người giúp cho
Xin cảm ơn!
 
xin chào mọi người!
Tớ đang rối nhờ mọi người chỉ giúp:
ví dụ: cho ngày 16/8/2010 là ngày bắt đầu.
yêu cầu thực hiện:
ngày cuối=ngày đầu + 4 ( bỏ qua thứ 7, CN và ngày lễ, ngày nghĩ bù)
mong mọi người giúp cho
Xin cảm ơn!

Bạn hỏi câu này mọi người cũng rối chứ không riêng gì bạn ...
Ngày nào được xem là ngày nghỉ bù, nghỉ lễ của bạn ?

P/s: Bạn có biết ngày nghỉ bù của tôi không????
 
Bạn hỏi câu này mọi người cũng rối chứ không riêng gì bạn ...
Ngày nào được xem là ngày nghỉ bù, nghỉ lễ của bạn ?

P/s: Bạn có biết ngày nghỉ bù của tôi không????
cảm ơn bạn đã hỏi.
ví dụ ngày nghỉ bù: 2/9 là ngày chủ nhật thì tính ngày nghỉ là thứ hai
mong các bạn chỉ giúp cho
mình đang đánh vần với excel. cảm ơn!
 
cảm ơn bạn đã hỏi.
ví dụ ngày nghỉ bù: 2/9 là ngày chủ nhật thì tính ngày nghỉ là thứ hai
mong các bạn chỉ giúp cho
mình đang đánh vần với excel. cảm ơn!
Dùng hàm WORKDAY bạn à!
Hàm này nằm trong bộ AddIn Analysis ToolPak ---> Vào menu Tools\Add-Ins và check vào mục Analysis ToolPak trước khi dùng hàm
 
Web KT

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

Back
Top Bottom