hàm sum tự nhảy khi chèn dòng đầu hoặc dòng cuối

Liên hệ QC

Nhattanktnn

Thành viên gắn bó
Tham gia
11/11/16
Bài viết
3,126
Được thích
4,044
Donate (Momo)
Donate
Giới tính
Nam
anh chị trong diễn đàn cho hỏi có cách nào làm cho hàm sum tự co giãn khi chèn thêm dòng trên cùng hoặc cuối cùng của công thức không ạ. giả sử em mặc định sum từ ô a1 nhưng vị trí dưới thì có thể chèn thêm. em muốn biết thêm để làm cho tiện chứ nếu anh chị bảo chèn ở giữa thì em biết rồi
 
anh chị trong diễn đàn cho hỏi có cách nào làm cho hàm sum tự co giãn khi chèn thêm dòng trên cùng hoặc cuối cùng của công thức không ạ. giả sử em mặc định sum từ ô a1 nhưng vị trí dưới thì có thể chèn thêm. em muốn biết thêm để làm cho tiện chứ nếu anh chị bảo chèn ở giữa thì em biết rồi
Sum() dòng cuối, và chèn trên dòng SUM thoải mái:
=SUM(OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),))
Xem file kèm.
hihi ^o^
 

File đính kèm

  • VD.xlsx
    9.5 KB · Đọc: 122
Lần chỉnh sửa cuối:
anh chị trong diễn đàn cho hỏi có cách nào làm cho hàm sum tự co giãn khi chèn thêm dòng trên cùng hoặc cuối cùng của công thức không ạ. giả sử em mặc định sum từ ô a1 nhưng vị trí dưới thì có thể chèn thêm. em muốn biết thêm để làm cho tiện chứ nếu anh chị bảo chèn ở giữa thì em biết rồi
Tôi không hiểu ý bạn. Nếu bạn có vd. dữ liệu từ A2 và công thức bạn đặt tại dòng dưới các dữ liệu vd. tại A100, không nhất thiết dòng ngay trên có dữ liệu, thì công thức là
Mã:
=SUM(A1:A99)
Bạn có thể chèn thêm dòng mà.
Nếu ý khác thì cho vd. cụ thể.
 
Tôi không hiểu ý bạn. Nếu bạn có vd. dữ liệu từ A2 và công thức bạn đặt tại dòng dưới các dữ liệu vd. tại A100, không nhất thiết dòng ngay trên có dữ liệu, thì công thức là
Mã:
=SUM(A1:A99)
Bạn có thể chèn thêm dòng mà.
Nếu ý khác thì cho vd. cụ thể.
ý mình là đặt chuột ở row 100 (theo như bạn ví dụ tức là row này chứa hàm sum) ấn chuột phải insert row. thì công thức sum nó vẫn chỉ sum(a1:a99) chứ không nhảy lên a100
 
Em góp vui!
PHP:
=SUM(A2:(OFFSET(A25,-1,0)))
cách này mình đã thử trước đó nhưng không được nhé bạn, nếu offset thì hàm của offset ko thay đổi, ví dụ như chèn thêm thì cell A25 trong công thức offset vẫn là A25 mà không nhảy lên A26
 
cách này mình đã thử trước đó nhưng không được nhé bạn, nếu offset thì hàm của offset ko thay đổi, ví dụ như chèn thêm thì cell A25 trong công thức offset vẫn là A25 mà không nhảy lên A26
Không được là sao bạn!
Bạn thử Click chuột vào ô tổng rồi chèn thêm dòng, Bạn nhập số liệu vào xem công thức có thay đổi gì không?
Công thức này đúng với yêu cầu bạn chưa?
PHP:
=SUM(OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),))
 
Sum() dòng cuối, và chèn trên dòng SUM thoải mái:
=SUM(OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),))
Xem file kèm.
hihi ^o^
đúng ý mình rôì nhưng mình không hiểu công thức. hàm offset với hàm match bình thường thì hiểu, nhưng nay thấy đặc biệt quá hihi. giải thích giùm mình với
 
ý mình là đặt chuột ở row 100 (theo như bạn ví dụ tức là row này chứa hàm sum) ấn chuột phải insert row. thì công thức sum nó vẫn chỉ sum(a1:a99) chứ không nhảy lên a100
Bây giờ hiểu rồi.
Công thức cho A100
Mã:
=SUM(OFFSET($A$1;;;ROW()-1))
Với công thức này bạn có thể cộng từ A1. Không bắt buộc A1 phải là tiêu đề. Hoặc A1 để trống
-------------
Tất nhiên nếu bạn muốn chọn vd. dòng1-dòng 4 rồi Insert thì lúc đó công thức của tôi sai.

Công thức nên là
Mã:
=SUM(OFFSET(A1;;;ROW()-ROW(A1)))
 
Lần chỉnh sửa cuối:
đúng ý mình rôì nhưng mình không hiểu công thức. hàm offset với hàm match bình thường thì hiểu, nhưng nay thấy đặc biệt quá hihi. giải thích giùm mình với
Công thức này không gì đặc biệt đâu bạn! hihi ^o^.
=SUM( OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) ) hay
=SUM( OFFSET($A$1,,,ROW()-ROW(A1),) ) (với ROW(A1) phải là hàng của mốc tiêu đề cột, để khi bạn chèn dưới tiêu đề nó vẫn cộng đúng)
đều vận hành giống nhau:

Hàm OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) định vị từ ô A1, lấy chiều dài: với phép tính lấy số dòng (hàm ROW()) của hàng tổng cộng bạn đặt công thức Sum() (Vd: nó đang tại dòng 15), trừ đi vị trí dòng của mốc tiêu đề (Vd: mốc tiêu đề đang tại A2, thì MATCH("*",$A:$A,) sẽ trả về số vị trí dòng là 2), như Vd ta có: 15-2=13, tức đứng từ A1, sẽ kéo thêm 13 dòng nữa, tức Offset sẽ thực hiện cho ra Vùng tham chiếu A1:A14 (A14 là ô liền kề trên của dòng Sum()), để cung cấp cho SUM(....). Cho nên nó cho phép bạn insert dòng phía trên Sum() vì lúc nào cũng được cập nhật theo dòng nó đang đứng (hàm ROW()).

Bạn cũng có thể chèn thêm phía trên dòng tiêu đề bằng các dòng trống (không cần cộng) khác mà không ảnh hưởng công thức cộng của Sum().
hihi ^o^
 
Công thức này không gì đặc biệt đâu bạn! hihi ^o^.
=SUM( OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) ) hay
=SUM( OFFSET($A$1,,,ROW()-ROW(A1),) ) (với ROW(A1) phải là hàng của mốc tiêu đề cột, để khi bạn chèn dưới tiêu đề nó vẫn cộng đúng)
đều vận hành giống nhau:

Hàm OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) định vị từ ô A1, lấy chiều dài: với phép tính lấy số dòng (hàm ROW()) của hàng tổng cộng bạn đặt công thức Sum() (Vd: nó đang tại dòng 15), trừ đi vị trí dòng của mốc tiêu đề (Vd: mốc tiêu đề đang tại A2, thì MATCH("*",$A:$A,) sẽ trả về số vị trí dòng là 2), như Vd ta có: 15-2=13, tức đứng từ A1, sẽ kéo thêm 13 dòng nữa, tức Offset sẽ thực hiện cho ra Vùng tham chiếu A1:A14 (A14 là ô liền kề trên của dòng Sum()), để cung cấp cho SUM(....). Cho nên nó cho phép bạn insert dòng phía trên Sum() vì lúc nào cũng được cập nhật theo dòng nó đang đứng (hàm ROW()).

Bạn cũng có thể chèn thêm phía trên dòng tiêu đề bằng các dòng trống (không cần cộng) khác mà không ảnh hưởng công thức cộng của Sum().
hihi ^o^
công thức của em đúng không chị iu?
PHP:
=SUM(A2:(OFFSET(A25,-1,0)))
 
Công thức này không gì đặc biệt đâu bạn! hihi ^o^.
=SUM( OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) ) hay
=SUM( OFFSET($A$1,,,ROW()-ROW(A1),) ) (với ROW(A1) phải là hàng của mốc tiêu đề cột, để khi bạn chèn dưới tiêu đề nó vẫn cộng đúng)
đều vận hành giống nhau:

Hàm OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) định vị từ ô A1, lấy chiều dài: với phép tính lấy số dòng (hàm ROW()) của hàng tổng cộng bạn đặt công thức Sum() (Vd: nó đang tại dòng 15), trừ đi vị trí dòng của mốc tiêu đề (Vd: mốc tiêu đề đang tại A2, thì MATCH("*",$A:$A,) sẽ trả về số vị trí dòng là 2), như Vd ta có: 15-2=13, tức đứng từ A1, sẽ kéo thêm 13 dòng nữa, tức Offset sẽ thực hiện cho ra Vùng tham chiếu A1:A14 (A14 là ô liền kề trên của dòng Sum()), để cung cấp cho SUM(....). Cho nên nó cho phép bạn insert dòng phía trên Sum() vì lúc nào cũng được cập nhật theo dòng nó đang đứng (hàm ROW()).

Bạn cũng có thể chèn thêm phía trên dòng tiêu đề bằng các dòng trống (không cần cộng) khác mà không ảnh hưởng công thức cộng của Sum().
hihi ^o^
giờ hiểu rồi hihi. tại lúc đầu hàm match("*",$A:$A) không hiểu nó mang ý nghĩa gì, nếu thay vào hàm row(A1) thì chắc là hiểu luôn rồi.. tks bạn và mọi người nhé
 
Em góp vui!
PHP:
=SUM(A2:(OFFSET(A25,-1,0)))
sorry bạn, mình hôm qua đã nghĩ ra công thức này nhưng mình làm sai nên mình cứ nghĩ công thức bạn đưa sai. giờ thử lại thấy đúng. qua mình thay vì làm offset ô A25 lại làm A24, ngớ.ngẩn thật. cảm ơn bạn nhé
 
Công thức này không gì đặc biệt đâu bạn! hihi ^o^.
=SUM( OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) ) hay
=SUM( OFFSET($A$1,,,ROW()-ROW(A1),) ) (với ROW(A1) phải là hàng của mốc tiêu đề cột, để khi bạn chèn dưới tiêu đề nó vẫn cộng đúng)
đều vận hành giống nhau:
Đính chính chút. A1 trong công thức của tôi không nhất thiết phải là tiêu đề. A1 có thể chứa giá trị số.
Trong công thức của bạn A1 mới phải là tiêu đề, ngược lại thì công thức bị lỗi.
 
Công thức =SUM(A2: (OFFSET(A25,-1,))) đúng, lại đẹp nhất!
Đẹp xấu tùy thuộc vào tiêu chí. Với Rubens cô nào mũm mĩm thì là đẹp. Hoặc với người này là đẹp nhưng với người khác lại xấu. Thời nay cái đẹp lại khác.

Cũng tùy từng trường hợp mà công thức nào tiện hơn.

Nếu có nhiều bảng trên nhiều sheet có cấu trúc như nhau, tức cột như nhau nhưng số dòng dữ liệu khác nhau tuy bắt đầ từ dòng 1 hay 2 thì công thức với A25 không tiện. Sau khi dán công thức vào từng sheet thì phải sửa 25 thành số khác. Cũng trường hợp này thì 2 công thức

=SUM(OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),))
=SUM(OFFSET($A$1;;;ROW()-1))

có thể dán vào những dòng khác nhau mà không cần sửa.
 
mình vừa nghiệm ra một điều là file có hàm động như offset là cứ mở lên ko làm gì tắt đi cũng ra thông báo save or don't save. khó chịu thiệt.. mà ko biết làm sao
 
Công thức này không gì đặc biệt đâu bạn! hihi ^o^.
=SUM( OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) ) hay
=SUM( OFFSET($A$1,,,ROW()-ROW(A1),) ) (với ROW(A1) phải là hàng của mốc tiêu đề cột, để khi bạn chèn dưới tiêu đề nó vẫn cộng đúng)
đều vận hành giống nhau:

Hàm OFFSET($A$1,,,ROW()-MATCH("*",$A:$A,),) định vị từ ô A1, lấy chiều dài: với phép tính lấy số dòng (hàm ROW()) của hàng tổng cộng bạn đặt công thức Sum() (Vd: nó đang tại dòng 15), trừ đi vị trí dòng của mốc tiêu đề (Vd: mốc tiêu đề đang tại A2, thì MATCH("*",$A:$A,) sẽ trả về số vị trí dòng là 2), như Vd ta có: 15-2=13, tức đứng từ A1, sẽ kéo thêm 13 dòng nữa, tức Offset sẽ thực hiện cho ra Vùng tham chiếu A1:A14 (A14 là ô liền kề trên của dòng Sum()), để cung cấp cho SUM(....). Cho nên nó cho phép bạn insert dòng phía trên Sum() vì lúc nào cũng được cập nhật theo dòng nó đang đứng (hàm ROW()).

Bạn cũng có thể chèn thêm phía trên dòng tiêu đề bằng các dòng trống (không cần cộng) khác mà không ảnh hưởng công thức cộng của Sum().
hihi ^o^
Bạn cho mình hỏi nếu dòng tổng cộng không ở phía dưới cùng mà ở trên cùng của cột dữ liệu thì mình làm như thế nào được ạ?
mong bạn giúp đỡ
Bài đã được tự động gộp:

Mọi người mình hỏi nếu dòng tổng cộng không ở phía dưới cùng mà ở trên cùng của cột dữ liệu thì mình làm như thế nào được ạ?
mong mọi người giúp đỡ!
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom