Mừng Sinh Nhật GPE 11: sáng 25/6 Hà Nội; 1/7 Huế/Đà Nẵng; Trưa 2/7 TPHCM

Xử lý hàm ngày tháng như thế nào ?

Thảo luận trong 'Làm việc với ngày tháng và thời gian' bắt đầu bởi Người Đưa Tin, 9 Tháng năm 2009.

  1. Người Đưa Tin

    Người Đưa Tin Hạt cát sông Hằng

    Vui lòng giúp mình xử lý hàm ngày tháng trong trường hợp này :

    Column1Column2Column3Column4Column5Column6
    A​
    B​
    C​
    D​

    1​
    Thử việc từ​
    đến ​
    HĐ Xác định thời hạn từ 1 năm​
    đến​

    2​
    01/01/08​
    28/02/08​
    01/01/08​
    31/12/08​

    3​
    01/05/08​
    30/04/08​
    01/05/08​
    30/04/09​

    4​
    11/12/08​
    10/02/09​
    11/12/08​
    10/12/09​

    Giả sử mình ký kết hợp đồng lao động xác định thời hạn 1 năm (cột C và D) và có 2 tháng thử việc.(Cột A và B)

    Ví dụ : Ký hợp đồng với 1 nhân viên A - xác định thời hạn 1 năm
    Thời gian : từ 01/01/2008 đến 31/12/2008 (Cột C và D)
    Biết rằng ngày bắt đầu (hiệu lực) ký hợp đồng xác định thời hạn là cột A hoặc tương đương cột C
    Mình muốn tìm cột B (Do cột B là xác định ngày kết thúc thử việc "2 tháng"
    và muốn tìm cột D (Ngày kết thúc hợp đồng lao động xác định thời hạn " 1 năm"

    Vui lòng hướng dẫn mình sử dụng hàm nào để xác định thời hạn kết thúc thử việc và kết thúc hợp đồng lao động xác định thời hạn cho các trường hợp này.

    Chân thành cám ơn
     
    Lần chỉnh sửa cuối: 9 Tháng năm 2009
  2. hoangdanh282vn

    hoangdanh282vn Nguyễn Cảnh Hoàng Danh Staff Member

    Ví dụ minh họa của Bác không đúng lắm. Bác xem file đính kèm xem có đúng ý Bác không nha.
    Có thể gia giảm ngày cho phù hợp.
     

    Các file đính kèm:

  3. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Anh có thể dùng hàm EDATE (nếu Excel của anh có cài Analysis toolpak)
    D2 =EDATE(C2,12)-1
     
  4. hoangminhtien

    hoangminhtien Thành viên tích cực

    Tính hợp đồng 1 năm có thể tính theo công thức sau

    D2=DATE(YEAR(C2)+1,MONTH(C2),DAY(C2)-1)
     
  5. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Xin đề nghị bác bố trí lại dữ liệu cho "khoa học" tí:
    Bác cài AnalysisToolPak Addin vào Excel (nếu chưa có), rồi chỉ cần dùng 3 cột thôi:
    • Cột A: Ngày bắt đầu vào làm
    • Cột B: Ngày kết thúc thử việc
    • Cột C: Ngày kết thúc hợp đồng
    Thêm 2 ô nữa để dễ linh hoạt:
    • Ô B1: Số tháng thử việc
    • Ô C1: Số năm hợp đồng
    Dĩ nhiên là nếu thêm 2 ô này thì bác phải dời dữ liệu xuống hàng thứ 2 hoặc thứ 3, né hàng 1 ra.
    Với bài này, bác gõ số 2 (2 tháng) vào ô B1 và số 1 (1 năm) vào ô C1. Đặt ô như thế, bác sẽ đỡ phải sửa công thức khi muốn thay đổi số tháng thử việc hoặc thay đổi số năm hợp đồng. Khi thay đổi, bác chỉ việc sửa lại con số trong B1, C1 mà thôi.

    Ví dụ bác dùng hàng 2 làm tiêu đề, và bắt đầu nhập ngày tháng từ hàng thứ 3, thì:
    • Công thức tính ngày hết hạn thử việc ở B3 là: =EDATE(A3, B1)-1
    • Công thức tính ngày kết thúc hợp đồng ở C3 là: =EDATE(A3, C1*12)-1
    Sau đó bác chỉ việc gõ ngày tháng bắt đầu vào làm ở A3, A4, A5, v.v... và kéo công thức ở B3 và C3 xuống...
     
  6. Người Đưa Tin

    Người Đưa Tin Hạt cát sông Hằng

    Hợp đồng lao động, thường có các loại :
    + Không xác định thời hạn
    + Xác định thời hạn
    + Thời vụ

    Em có 1 file dữ liệu nhân sự, xin nhờ tư vấn, hướng dẫn cách thiết lập công thức cho các cột sau đây :

    Cột J : ngayketthuchopdong
    Cột L : sonamhopdong
    Cột M : Loai HDLD (dữ liệu có thể nhập vào các cụm từ sau : hợp đồng xác định thời hạn (hoặc loại hợp đồng không xác định thời hạn) hoặc thời vụ


    Em muốn khi dữ liệu cột M được nhập vào, thì các cột J và L

    Cột L : sonamhopdong : sẽ không ghi và trả kết quả ra ngày tháng nếu cột M có giá trị : "không xác định thời hạn". Trường hợp có ghi là : xác định thời hạn hoặc thời vụ thì cột này mới ghi lại thời gian (ngày/tháng/năm : cụ thể)

    Tương tự, cột J cũng cho ra kết quá như thế cho trường hợp dữ liệu cột M là hợp đồng xác định thời hạn (hoặc loại hợp đồng không xác định thời hạn) hoặc thời vụ

    ======
    Vui lòng giúp sửa lại công thức cho

    Cột L : sonamhopdong :

    Hiện nay công thức chỗ cột L là nhập vào giá trị "số năm" ký kết hợp đồng lao động.
    Cột này sẽ đúng cho trường hợp xác định được "số năm" ký kết hợp đồng lao động như 1 năm, 2 năm cho loại hợp đồng xác định thời hạn
    . Nhưng nếu cột M khi xác định là loại hợp đồng thời vụ như 6 tháng thì kết quả của cột L dẫn đến sai
    Giả sử cột M ghi : Thời vụ
    và mình chỉ muốn ký là 6 tháng thôi, nhưng khi nhập dữ liệu số "6" thì giá trị kết quả của cột L cho ra kết quả đến năm 28/02/2014;


    Nay, em muốn tư vấn sửa lại công thức cho cột này cho trường hợp nếu cột M là loại hợp động thời vụ thì sẽ ra số ngày tháng kết thúc hợp đồng lao động.

    Vậy bài toán, công thức ở đây phải chỉnh xử lý như thế nào để cho đúng cho trường hợp lao động thời vụ hoặc hợp đồng lao động không xác định thời hạn

    Column1Column2Column3Column4Column5Column6Column7Column8
    H​
    I​
    J​
    K​
    L​
    M​

    1​
    ngaybatdauvaolam​
    ngayketthucthuviec​
    ngayketthuchopdong​
    sothangthuviec​
    sonamhopdong​
    Loai HDLD​

    2​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    3​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    4​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    5​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    6​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    7​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    8​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    9​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    10​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    11​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    12​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    13​
    01/02/2008​
    31/03/2008​
    31/01/2010​
    2​
    2​
    xác định thời hạn
    14​
    01/02/2008​
    29/02/2008​
    31/01/2008​
    1​
    0​
    không xác định thời hạn
    15​
    01/02/2008​
    29/02/2008​
    31/01/2008​
    1​
    0​
    không xác định thời hạn
    16​
    01/02/2008​
    29/02/2008​
    31/01/2008​
    1​
    0​
    không xác định thời hạn
    17​
    01/02/2008​
    29/02/2008​
    31/01/2008​
    1​
    0​
    không xác định thời hạn
    18​
    01/03/2008​
    31/03/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    19​
    01/03/2008​
    31/03/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    20​
    01/03/2008​
    31/03/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    21​
    01/03/2008​
    30/04/2008​
    29/02/2008​
    2​
    0​
    không xác định thời hạn
    22​
    01/03/2008​
    30/04/2008​
    28/02/2014​
    2​
    6​
    Thời vụ
    23​
    01/05/2008​
    30/06/2008​
    30/04/2014​
    2​
    6​
    Thời vụ


    Mục đích : để làm tự động mail merge cho hợp đồng lao động và quản lý được danh sách nhân viên, hợp đồng lao động trong năm đã ký kết.

    Chân thành cám ơn.
     

    Các file đính kèm:

    Lần chỉnh sửa cuối: 10 Tháng chín 2009
  7. BNTT

    BNTT Bùi Nguyễn Triệu Tường

    Em chưa thử, nhưng thấy... mắc cười chỗ này:
    Bác nhập số 6 vào cột L, thì nó hiểu là 6 năm chứ sao bi giờ ? Vì đang tính cột L theo năm mà ?

    Giả sử bác muốn Excel hiểu là "tao nhập 6 thì mày phải hiểu là 6 tháng", thì lỡ như hợp đồng xác định thời hạn là 6 năm, thì bác sẽ nhập số mấy đây?

    Nếu đã xác định cột L là số năm hợp đồng, thì bác phải quy số tháng thời vụ thành năm (6 tháng = 0.5 năm), khi đó Excel nó mới hiểu. Nói thiệt bác, Excel hỏng có thông minh như mình nghĩ đâu!

    ----------------------
    Bác thử công thức này cho cột J, nếu không ra như ý muốn thì nói em sửa nghe:
    =IF(M2="không xác định thời hạn", "", EDATE(H2, L2*IF(M2="thời vụ",1,12))-1)​
    Nếu cột M là "không xác định thời hạn", thì bỏ trống, còn không thì dùng EDATE để tính ngày kết thúc hợp đồng. Nhưng trong hàm EDATE, nếu cột M là "thời vụ", thì tính cột L như là tháng, còn không thì mới nhân cho 12 để tính thành năm.
     
    Lần chỉnh sửa cuối: 10 Tháng chín 2009
  8. Người Đưa Tin

    Người Đưa Tin Hạt cát sông Hằng


    Thầy BNTT xử lý công thức cho trường hợp này đúng như ý của em rồi.

    Thật sự câu diễn đạt của em cũng chưa đầy đủ lắm. Em cũng lúng túng khi tổ chức cái dữ liệu ở Cột L : sonamhopdong (là số năm hay số tháng, nếu số năm thì lại vướng như bài em trình bày. Còn tổ chức ghi và qui ra số tháng thì công thức lúc này cũng chưa biết cài đặt như thế nào cho đúng).

    Giả sử : dữ liệu cho cột L : sonamhopdong

    Em không hiểu phải dùng cách gì, số gì, hoặc ký tự để ghi nhận phản ánh cho hợp đồng lao động loại :

    + Không xác định thời hạn : tạm thời em ghi nhận là số 0 (không), hoặc
    + Thời vụ : thì ghi số tháng. Trong trường hợp này nó lại vướng cho HDLD loại xác định thời hạn.

    Hiện chưa có ý tưởng nào khác để khai báo dữ liệu cho cột L này. Thành thử Thầy đọc là Thầy mắc cười là phải rồi. [​IMG]

    Miễn là cười yêu trò được rồi phải không Thầy

    Chân thành cám ơn Thầy và quý anh đã quan tâm đề tài này.

    Column1Column2Column3Column4Column5Column6Column7Column8
    H​
    I​
    J​
    K​
    L​
    M​

    1​
    ngaybatdauvaolam​
    ngayketthucthuviec​
    ngayketthuchopdong​
    sothangthuviec​
    sonamhopdong​
    Loai HDLD​

    2​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    3​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    4​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    5​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    6​
    01/01/2008​
    29/02/2008​
    31/12/2008​
    2​
    1​
    xác định thời hạn
    7​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    8​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    9​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    10​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    11​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    12​
    01/01/2008​
    29/02/2008​
    31/12/2009​
    2​
    2​
    xác định thời hạn
    13​
    01/02/2008​
    31/03/2008​
    31/01/2010​
    2​
    2​
    xác định thời hạn
    14​
    01/02/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    15​
    01/02/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    16​
    01/02/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    17​
    01/02/2008​
    29/02/2008​
    1​
    0​
    không xác định thời hạn
    18​
    01/03/2008​
    31/03/2008​
    1​
    0​
    không xác định thời hạn
    19​
    01/03/2008​
    31/03/2008​
    1​
    0​
    không xác định thời hạn
    20​
    01/03/2008​
    31/03/2008​
    1​
    0​
    không xác định thời hạn
    21​
    01/03/2008​
    30/04/2008​
    2​
    0​
    không xác định thời hạn
    22​
    01/03/2008​
    30/04/2008​
    30/09/2008​
    2​
    7​
    Thời vụ
    23​
    01/05/2008​
    30/06/2008​
    31/10/2008​
    2​
    6​
    Thời vụ


    Xin được tiếp chỉ thỉnh giáo tiếp v/v tổ chức dữ liệu cho trường hợp này.

    Nhân đây gởi tặng Thầy chút đỉnh để hút thuốc và uống cafe, miễn ăn phở nhe.

    [​IMG]
     
  9. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Muội đang ở vùng sâu vùng xa, không có thể chạy về nhà lấy đĩa để cài đặt Analysis ToolPak
    Các huynh tỉ cho muội hỏi: Không cài đặt được Analysis ToolPak do không có đĩa thì có thể thay thể công thức: D2 =EDATE(C2,12)-1
     
  10. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Thay D2 =EDATE(C2,12)-1 bằng
    D2 = Date(year(C2), Month(C2) + 12, Day(C2) - 1)
     
  11. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Đúng là không có tay của sư huynh vô thì không xong. Hôm qua muội cũng loay hoay áp dụng lời giải của bạn hoangminhtien mà cứ báo sai liên tục. Sáng nay, vào thử lại công thức của sư huynh thì đáp ứng được tốt cho công việc.

    Xin cám ơn sư huynh ptm0412. Quả là không hổ danh dành cho sư phụ đào tạo từ xa cho các thành viên.
     
  12. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Của HoangMinhTien:
    D2=DATE(YEAR(C2)+1,MONTH(C2),DAY(C2)-1)

    Tôi không thấy sai gì cả?
     
  13. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Muội xin gởi thông tin này để các sư huynh cứu muội với, không rõ cũng cái =EDATE(U3;X3)-1 này sao cái máy tại cơ quan mở lên thì báo đúng, còn về nhà thì lại báo lỗi: #NAME?. Nhở các sư huynh cho ý kiến.

    [​IMG]

    (Đã sử dụng Add-Ins đầy đủ)

    [​IMG]

    Xin cám ơn.
     

    Các file đính kèm:

  14. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Sáng giờ, chờ các huynh cứu giúp muội bài này. Chắc ai cũng bận hành tới khốn khổ (HTKK3.0) nên chưa trả lời cho muội chăng?
    Về nhà làm không được, đem file vào cơ quan thì không bị tình trạng báo lỗi: #NAME?. Xin các huynh chỉ giúp muội để khắc phục lỗi trên tại máy nhà. Xin cám ơn.
     
  15. vodoi2x

    vodoi2x Nothing & Nothing

    tại máy ở nhà, bạn chưa cài Addins Analysis toolpak, bạn vào Addins để cài là được
     
  16. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Thử bấm Alt + F11 vào cửa số code xem thử có nhìn thấy 2 mục giống như file đính kèm này không?

    untitled.JPG
     
  17. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Muội đã chiếu theo lời giáo huấn của huynh y khuôn ạ.

    [​IMG]
     

    Các file đính kèm:

  18. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Mở tập tin ra xem thì hàm: =EDATE(U3;X3)-1 vẫn thực hiện được không báo lỗi gì cả. Nhưng khi nhấn F2 lên để xem công thức thì báo lỗi #NAME?

    [​IMG]
     

    Các file đính kèm:

    • Edit.jpg
      Edit.jpg
      Kích thước:
      22.5 KB
      Đọc:
      60
  19. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Muội muội chạy teamviewer cho huynh xem cho nào
    (Nhưng nhớ tắt camera WC trước khi huynh vào nhé)
     
    Lần chỉnh sửa cuối: 11 Tháng tám 2011
  20. Trần Thị Thanh Mai

    Trần Thị Thanh Mai Giải bài tập Excel

    Muội chân thành cám ơn sư huynh ptm0412 đã hướng dẫn gỡ bỏ toàn bộ office 2003 cũ đang hiện hành trong máy. Sau đó cài lại bộ office 2003 mới (để cài đặt Add-Ins Analysis ToolPak) thì không còn bị lỗi dù có edit cách mấy khi (nhấn F2) cho vùng có sử dụng công thức =EDATE(U3;X3).

    Lý do: Người cái máy trước đây cho muội sử dụng bản office 2003 vớ vẩn nào đó, trong khi cái Add-Ins Analysis ToolPak trên cái điã CD của muội lại lại là (Bộ office 2003) xịn (Origin 100%) của Bill Gates tặng cho sư huynh ptm0412.

    Chỉ có vậy thôi mà đã hành hạ muội 2 ngày qua, làm cho sư huynh phải tốn tiền điện thoại hướng dẫn từ xa cho muội. (Hết máy tại cơ quan đến máy tại nhà). Đây là tình huống giải quyết rốt ráo nhất cho trường hợp này. Hỡi ông Bill Gates của muội, cớ sao chãnh quá, chúng con còn lắm điều khó khăn ạ.

    Một lần nữa xin cám ơn sư huynh ptm0412 đã nhanh chóng hỗ trợ vướng mắc kịp thời cùng sư huynh ndu96081631 đã quan tâm mách bảo chỉ thêm cái chiêu xem cái code của Analysis ToolPak - Analysis ToolPak VBA thông qua phím tổ hợp Alt+F11.


    [​IMG]


    Thân gởi các huynh triệu nụ hôn nồng thắm nhất.
     

    Các file đính kèm:

    Chỉnh sửa lần cuối bởi điều hành viên: 11 Tháng tám 2011

Chia sẻ trang này