Kết hợp chỉ mục và SUM với nhiều tiêu chí


0

Tôi đang cố gắng để có được tổng số hàng dựa trên tra cứu khớp chỉ mục từ bảng bên dưới Bảng hàng tháng

Tôi đang xem xét việc thay đổi phạm vi tổng trong hàng dựa trên ngày tôi chọn. ví dụ: Nếu tôi chọn ngày 16 tháng 10 trong một ô thả xuống, tôi sẽ nhận được tổng cộng 10 tháng trong năm 2016 cho mã 6 chữ số đã cho. An ủi

Tôi đang thử công thức dưới đây, cung cấp cho tôi tổng số 10 ô đầu tiên trong hàng bất kể ngày tôi chọn.

= IFERROR (SUM (INDEX (INDIRECT ("" & $ C $ 3 & "! C: C"), MATCH ($ A10, INDIRECT ("" & $ C $ 3 & "! B: B"), 0)): INDEX (INDIRECT ("" & $ C $ 3 & "! C: Z"), MATCH ($ A10, INDIRECT ("" & $ C $ 3 & "! B: B"), 0), MONTH ($ C $ 2) )), "")

Đánh giá cao đề xuất của bạn xin vui lòng


1
Ảnh chụp màn hình của bạn quá mờ để đọc.
Bandersnatch

Lời xin lỗi của tôi. hy vọng các ảnh chụp màn hình mới có thể đọc được
Adi

Những sự giúp đỡ đó. Bây giờ "ô thả xuống" ở đâu và sẽ giúp biết các cột cho ảnh chụp màn hình đầu tiên - ví dụ ô nào là 403300? Ngoài ra, "Mammoth" có phải là tên của bảng với bảng tra cứu không, và đó có phải là tên trong ô C3 không? Nếu đó là chính xác, thì ngày 17 tháng 10 là trong C2? Và C2 là thả xuống?
Bandersnatch

"Bảng hàng tháng" là dữ liệu trong bảng có tên Mammoth. Tôi đang sử dụng chức năng gián tiếp để làm cho nó năng động.
Adi

403300 nằm trong A10 trong bảng Consol và B10 trong bảng hàng tháng. dữ liệu hàng tháng từ ma mút Sheet đang ổn định. Câu hỏi là chỉ thêm các hàng như vậy cho mỗi mã trong A: A phụ thuộc vào ngày được chọn trong trình đơn thả xuống C2. Bạn đã đúng tên tờ trong C3 cũng là một thả xuống.
Adi

Câu trả lời:


1

Bạn muốn tính tổng một phần của một hàng của một mảng, trong đó ngày nhỏ hơn hoặc bằng một giá trị được chỉ định.

Đầu tiên, hãy tìm hiểu làm thế nào để có được một hàng của mảng. Hàm INDEX ()

INDEX(array, row_num, [col_num])

sẽ trả về toàn bộ một hàng nếu col_num được đặt thành 0. Vì vậy, chức năng này

=INDEX(C9:O17,MATCH(403300,B9:B17,0),0))

trả về hàng dữ liệu của bạn trong đó Tài khoản (?) là 403300. Bạn có thể kiểm tra điều này bằng cách tô sáng công thức trong thanh công thức và nhập F9. Điều đó sẽ hiển thị giá trị của công thức - một mảng dữ liệu trong hàng 403300.

Bây giờ bạn chỉ cần thêm phần của hàng đó trong đó tháng nhỏ hơn hoặc bằng tháng được chỉ định. SUMIF()sẽ làm điều này

SUMIF(range,criteria,[sum-range])

SUMIF () kiểm tra phạm vi được chỉ định (ngày của bạn) phù hợp với tiêu chí (<= tháng được chỉ định của bạn) và tính tổng các ô tương ứng trong sum_range (hàng được chọn với công thức INDEX () ở trên). Đặt tất cả những thứ này lại với nhau và sử dụng bảng dữ liệu giả định bên dưới, công thức này

=SUMIF(C7:O7,"<="&$E$4,INDEX(C9:O17,MATCH($D$4,B9:B17,0),0))

trong G4 đưa ra tổng số tài khoản trong D4 cho đến ngày trong E4.

nhập mô tả hình ảnh ở đây

Tôi đã đặt mọi thứ trên một bảng tính và không có danh sách thả xuống, nhưng bạn có thể dễ dàng thêm các tính năng này. Nếu bạn thực sự cần chỉ định bảng tính với danh sách thả xuống, bạn phải sử dụng rất nhiều INDIRECT (), điều này sẽ hơi lộn xộn. Tôi đã đưa ra cái này, trong đó tên trang tính là trong C4:

=SUMIF(INDIRECT(C4&"!"&"C7:O7"),"<="&E4,INDEX(INDIRECT(C4&"!"&"C9:O17"),MATCH(D4,INDIRECT(C4&"!"&"B9:B17"),0),0))

Tôi hy vọng điều này có thể giúp ích, chúc bạn may mắn.


Cảm ơn rất nhiều. Điều đó đã làm việc hoàn hảo. Rất đánh giá cao sự kiên nhẫn của bạn trong việc đưa ra lời giải thích này cùng nhau.
Adi

Vui mừng được giúp đỡ. Nếu bạn thấy câu trả lời này hữu ích, vui lòng nhấp vào dấu kiểm ở trên cùng bên trái để chấp nhận nó và xóa nó khỏi hàng đợi chưa được trả lời. Cám ơn.
Bandersnatch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.