2011-08-17 53 views
18

Tôi đang tìm cách tạo tổng số đang chạy (tổng số hàng hiện tại trở lên) bằng cách sử dụng các tham chiếu có cấu trúc bảng Excel.Làm cách nào để tạo tổng số đang chạy bằng cách sử dụng các tham chiếu có cấu trúc bảng Excel?

tôi biết làm thế nào để làm điều đó bằng cách sử dụng dòng/cột cách dựa cũ:
=SUM($A$2:$A2)

Và tôi biết làm thế nào để tổng số toàn bộ cột sử dụng tài liệu tham khảo cấu trúc:
=SUM([WTaskUnits])

Và tôi biết làm thế nào để có được ô hiện tại bằng cách sử dụng [#ThisRow], nhưng tôi không chắc chắn làm thế nào để có được hàng đầu tiên của bảng để sử dụng nó trong một SUM.

Trả lời

31

Thực ra, tôi đã tìm ra một cách để thực hiện nó bằng cách sử dụng INDEX, nhưng cảm thấy như cần có một cách tham khảo có cấu trúc hơn. Tuy nhiên, đối với những người khác tìm cách để làm điều này ở đây là những gì tôi đã đưa ra:
=SUM(INDEX([WTaskUnits],1):[[#This Row],[WTaskUnits]])

tôi sử dụng INDEX để có được những tế bào đầu tiên của cột (tương đương với $ A $ 2 trong hàng/cột ví dụ của tôi) và sử dụng [ #This Row] bình thường để lấy ô trong hàng hiện tại (tương đương A2 trong ví dụ hàng/cột của tôi).

+0

IMHO, đó là một trong những cách tốt nhất để giải quyết vấn đề của bạn. Đừng quên bạn có thể chấp nhận câu trả lời của riêng bạn :) – JMax

+0

+1 cho một giải pháp tuyệt vời. – dav

+9

Bạn cũng có thể sử dụng điều này: = SUM (INDEX ([WTaskUnits], 1): [@ WTaskUnits]) –

1

Không chắc chắn ý của bạn là có cấu trúc nhiều hơn, cách bạn đang làm là tốt. Bạn cũng có thể chỉ cần bắt đầu phạm vi của mình trong ô bên dưới tiêu đề bảng:

OFFSET([[#Headers],[WTaskUnits]],1,0,1,1): 

Nhưng tôi sẽ không gọi cấu trúc đó đơn giản hơn. Không có tham chiếu bảng cho một phạm vi một phần của các hàng trong một cột, vì vậy đề xuất của tôi sẽ gắn bó với những gì bạn có.

+0

Cảm ơn, nó tốt đẹp để có được xác nhận. Một chút ngạc nhiên khi họ không thêm hỗ trợ hàng nhiều hơn một chút với các tham chiếu có cấu trúc. Tôi đoán họ cảm thấy sử dụng các công thức hiện có như INDEX và OFFSET xung quanh nó là đủ. – studgeek

2
=SUM(OFFSET([WTaskUnits],0,0,ROW()-ROW([[#Headers],[Running Total]]))) 

Bảng có hai cột [WTaskUnits] và [Running Total]. Công thức trên tổng hợp phạm vi ô theo yêu cầu.

Đối số đầu tiên của hàm OFFSET xác định điểm bắt đầu của tổng. Cụm từ thứ tư,

ROW()-ROW([[#Headers],[Running Total]] 

là thành ngữ hữu ích cho số hàng hiện tại trong bảng.

2

Tôi nhận ra đây là một chủ đề cũ, nhưng cuối cùng tôi đã có một giải pháp mà tôi muốn cung cấp.

=IF(ISNUMBER(OFFSET([@Balance],-1,0)),OFFSET([@Balance],-1,0)+[@Amount],[@Amount]) 

Trong trường hợp của các dòng dữ liệu đầu tiên, bù đắp điểm vào tiêu đề, mà không phải là một con số, do đó kết quả là chỉ có Amount cột.

Các hàng còn lại cung cấp cho bạn Balance trước đó từ OFFSET cộng với hàng hiện tại Amount.

1

Lưu ý, nếu bạn sử dụng = SUBTOTAL (109, ...) thay vì = SUM (...) thì công thức của bạn sẽ tôn trọng bộ lọc trên bảng.

0

Tôi tạo ra tổng số chạy của tôi sử dụng Pivot của Excel: giá trị

  • Sum -> Sum của ...
  • Hiển thị giá trị như -> Chạy tổng

My 2 cent, 5 năm cuối (và có thể bị mất điểm).

+0

Dường như bạn đang sử dụng Bảng tổng hợp, trong đó OP tìm kiếm giải pháp cho Bảng Excel thông thường (nghĩa là không phải Bảng tổng hợp). – dav

-1

Đối với một bảng cố định của dữ liệu 1. goto ô cuối cùng trong cột bạn muốn tổng phụ trong 2. tổng số phụ các cột có dữ liệu trong đó và tài liệu tham khảo tuyệt đối hàng đầu tiên 3.copy công thức lên đến hàng đầu tiên

1

sử dụng công thức sau:

=SUM(INDEX([Values],1) : [@Values]) 

Chúng tôi sử dụng INDEX trở về ô đầu tiên trong cột giá trị, và chỉ cần sử dụng tham khảo cấu trúc để hàng hiện tại để trở lại phòng giam thứ hai trong phạm vi chúng tôi muốn tính tổng.

Source

Các vấn đề liên quan