Hỏi: Cách tính tổng theo ngày tháng

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Hi các anh chị!
Nhờ mọi người chỉ giúp em cách tính tổng theo ngày tháng (file em đính kèm bên dưới). Em cần tính tổng (cột total) theo từng kỳ (mỗi kỳ nửa tháng). Do không biết cách tính tổng nên em lọc ra như công thức cột M nhưng lại gặp lỗi #value và những ô như A22 là ngày 09/08 nhưng kết quả trả về là 0. Anh chị nào biết cách tính tổng hay sửa công thức cột M thì giúp em với! Em cảm ơn rất nhiều!

Công thức tại M4 phải thế này mới xong:

=IF(AND(ISNUMBER(LOOKUP(2,1/($A$4:$A4<>""),$A$4:$A4)),TEXT(LOOKUP(10^10,$A$4:$A4),"mmdd")>="0801",TEXT(LOOKUP(10^10,$A$4:$A4),"mmdd")<="0815"),J4,0)

cám ơn anh ndu96081631 ạ! Làm ơn giúp em giải thích hàm lookup trong công thức trên với ạ! em chưa có hiểu! thanks all!

Vì dữ liệu của bạn có cell rổng nên phải dùng đến LOOKUP —> Mục đích của nó là để lấy cell cuối cùng có dữ liệu thôi
Ví dụ: LOOKUP(10^10,A1:A5) thì kết quả sẽ là cell cuối cùng có dữ liệu ở A1:A5 (công thức này chỉ áp dụng cho dữ liệu dạng số)
vậy thôi

Em vừa tìm đọc trên google bài này https://www.vatgia.com/hoidap/3869/38287/ham-lookup-trong-excel-la-gi.html nên cũng hình dung sơ sơ về hàm lookup.

Hàm Lookup Trong Excel Là Gì?
1.=lookup(4.19,a1:a6,b1:b6) gõ rồi không ra, chỉ biết có hlookup and vlookup thôi 2.xếp hạng học sinh theo điểm trung bình với cách thông thường, nếu trùng thì xếp theo điểm toán? Giúp mình với?

Hàm LOOKUP Dùng để dò tìm một giá trị từ một dòng hoặc một cột trong một dãy ô hoặc một mảng giá trị. Hàm LOOKUP() có hai dạng: Vec-tơ (vector form) và Mảng (array form) – Dạng Vec-tơ: LOOKUP() tìm kiếm trên một dòng hoặc một cột, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) được chỉ định. – Dạng Mảng: LOOKUP() tìm kiếm trên dòng (hoặc cột) đầu tiên của một mảng giá trị, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) cuối cùng trong mảng đó. Vector form (dạng vec-tơ) – Cú pháp: LOOKUP(lookup_value, lookup_vector, result_vector) lookup_value: Là giá trị LOOKUP() sẽ tìm kiếm trong lookup_vector. Nó có thể là một số, một ký tự, một giá trị logic, một tên đã được định nghĩa của một vùng ô hoặc một tham chiếu đến một giá trị. lookup_vector: Là một vùng mà chỉ gồm một dòng (hoặc một cột) có chứa lookup_value. Những giá trị chứa trong vùng này có thể là một số, một ký tự hoặc một giá trị logic. – lookup_vector phải được sắp xếp theo thứ tự tăng dần, nếu không, LOOKUP() có thể cho kết quả không chính xác. – Nếu không tìm thấy lookup_value trong lookup_vector thì LOOKUP() sẽ lấy giá trị lớn nhất mà nhỏ hơn hoặc bằng lookup_value. – Nếu lookup_value nhỏ hơn giá trị nhỏ nhất trong lookup_vector thì LOOKUP() sẽ báo lỗi #NA! result_vector: Là một vùng mà chỉ gồm một dòng (hoặc một cột) chứa giá trị trả về. Kích thước của result_vector bắt buộc phải bằng kích thước của lookup_vector. Array form (dạng mảng) Cú pháp: LOOKUP(lookup_value, array) lookup_value: Là giá trị LOOKUP() sẽ tìm kiếm trong array. Nó có thể là một số, một ký tự, một giá trị logic, một tên đã được định nghĩa của một vùng ô hoặc một tham chiếu đến một giá trị. – Nếu không tìm thấy lookup_value trong array thì LOOKUP() sẽ lấy giá trị lớn nhất mà nhỏ hơn hoặc bằng lookup_value. – Nếu lookup_value nhỏ hơn giá trị nhỏ nhất trong cột hoặc hàng đầu tiên trong array thì LOOKUP() sẽ báo lỗi #NA! array: Là một vùng chứa lookup_value, có thế là số, ký tự, hoặc giá trị logic. Dạng mảng của LOOKUP() gần tương đương như hàm VLOOKUP() hoặc HLOOKUP(). Khác biệt ở chỗ VLOOKUP() và HLOOKUP() tìm kiếm trên cột (hoặc dòng) đầu tiên, còn LOOKUP() tìm kiếm trên cột hoặc trên dòng tùy thuộc vào dạng mảng được khai báo: – Nếu array là mảng có số cột nhiều hơn số dòng thì LOOKUP() sẽ tìm trên dòng đầu tiên. – Nếu array là mảng có số dòng nhiều hơn số cột thì LOOKUP() sẽ tìm trên cột đầu tiên. – Trường hợp array là mảng có số dòng bằng số cột thì LOOKUP() sẽ tìm trên cột đầu tiên. – VLOOKUP() và HLOOKUP() lấy kết quả trên cột (hoặc) dòng được chỉ định, còn LOOKUP() luôn luôn lấy kết quả trên dòng (hoặc cột) cuối cùng. – Các giá trị trên dòng (hoặc cột) đầu tiên của array phải được sắp xếp theo thứ tự tăng dần, nếu không, LOOKUP() có thể cho kết quả không chính xác.Dùng để dò tìm một giá trị từ một dòng hoặc một cột trong một dãy ô hoặc một mảng giá trị.
Hàm LOOKUP() có hai dạng: Vec-tơ (vector form) và Mảng (array form)
– Dạng Vec-tơ: LOOKUP() tìm kiếm trên một dòng hoặc một cột, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) được chỉ định.
– Dạng Mảng: LOOKUP() tìm kiếm trên dòng (hoặc cột) đầu tiên của một mảng giá trị, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) cuối cùng trong mảng đó.
Vector form (dạng vec-tơ)
– Cú pháp: LOOKUP(lookup_value, lookup_vector, result_vector)
lookup_value: Là giá trị LOOKUP() sẽ tìm kiếm trong lookup_vector. Nó có thể là một số, một ký tự, một giá trị logic, một tên đã được định nghĩa của một vùng ô hoặc một tham chiếu đến một giá trị.
lookup_vector: Là một vùng mà chỉ gồm một dòng (hoặc một cột) có chứa lookup_value. Những giá trị chứa trong vùng này có thể là một số, một ký tự hoặc một giá trị logic.

Nhưng Em vẫn chưa hiểu đuợc công thức : lookup(2,1/($A$4:$A4<>""),$A$4:$A4) – em chưa hiểu vì sao giá trị dò tìm là 2 và dạng của vùng dò tìm lại là 1/($A$4:$A4<>""), một phân số không thể có mẫu là 0, ý nghĩa của 1/($A$4:$A4<>"") là gì ạ.
Tương tự với hàm lookup(10^10,$A4:$A4) thì 10^10 là sao ạ, khi nào thì dùng 10^10 hay bất kỳ 1 giá trị nào khác ạ?
Sau một hồi mày mò em mới hiểu lấy 10^10 là để giá trị dò lớn hơn giá trị nhỏ nhất của vùng dò để hàm lookup ko bị lỗi.
Nhưng em vẫn chưa hiểu trong công thức lookup(2,1/($A$4:$A4<>"") nếu thay giá trị dò là 2 bằng số 1, thì kết quả trả về sai (ô A30 là chữ "total" nhưng kết quả vẫn trả về giá trị của ô J30 là 20512).
Mong mọi người giải thích giúp em!Em cảm ơn !
Tại vì thằng em ($A$4:$A4<>"") sẽ cho kết quả là 1 mảng với các phần tử là TRUE hoặc FALSE
Vậy 1/($A$4:$A4<>"") sẽ cho kết quả là 1 mảng với các phần tử là 1 hoặc lỗi DIV/0
LOOKUP có cái hay là bỏ qua lỗi, nó sẽ dò tìm thằng số 1 nào ở cuối cùng thì lấy
Vậy trị dò chỉ cần > 1 là được —> Số 2, số 3 hay số gì gì khác cũng không sao, miễn >1 là OK
Ẹc… Ẹc…

www.giaiphapexcel.com/diendan/threads/h%E1%BB%8Fi-c%C3%A1ch-t%C3%ADnh-t%E1%BB%95ng-theo-ng%C3%A0y-th%C3%A1ng.72370/

Ứng dụng AI và Chat GPT trong Quản trị nhân sự
Khóa học SprinGO phù hợp

Ứng dụng AI và Chat GPT trong Quản trị nhân sự

Học xong khóa này, học viên có thể: Hiểu đúng bản chất AI, các nhóm AI phổ biến và cách AI “hoạt động” ở...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm