Tính tổng theo mã tham chiếu trong vùng (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

baggiotung

Thành viên mới
Tham gia
16/10/09
Bài viết
32
Được thích
7
Các bạn giúp mình công thức cho cột tổng công với, dùng sumproduct phải 13if. Dùng VBA cũng đc. Cám ơn
 

File đính kèm

Các bạn giúp mình công thức cho cột tổng công với, dùng sumproduct phải 13if. Dùng VBA cũng đc. Cám ơn
Hihi. Em mạo muội viết thử hàm này, Hen^ xui. ,có sumproduct mà ko có được 13 if. :(.
N6=SUMPRODUCT((D6:M6)*(INDIRECT(ADDRESS(MATCH(B6,$S$5:$S$18,0)+4,20)&":"&ADDRESS(MATCH(B6,$S$5:$S$18,0)+4,29))))
 
Các bạn giúp mình công thức cho cột tổng công với, dùng sumproduct phải 13if. Dùng VBA cũng đc. Cám ơn
Bạn sửa lại tiêu đề nhé, kẻo bị xóa bài .Có thể Sửa là" Tính tổng theo mã tham chiếu trong vùng"
N6=SUMPRODUCT(D6:M6;OFFSET($R$4;MATCH(B6;$S$4:$S$18;0)-1;2;;10))
 
Lần chỉnh sửa cuối:
Bạn sửa lại tiêu đề nhé, kẻo bị xóa bài .Có thể Sửa là" Tính tổng theo mã tham chiếu trong vùng"
N6=SUMPRODUCT(D6:M6;OFFSET($R$4;MATCH(B6;$S$4:$S$18;0)-1;2;;10))
Cái này mới phát huy quái chiêu của SUMPRODUCT nè
Mã:
N6=SUMPRODUCT(D6:M6*($S$5:$S$18=B6)*$T$5:$AC$18)
:)
 

File đính kèm

Làm 1 UDF để cùng tham khảo:
PHP:
Function TraTC(Mã As String, Rng As Range) As Double
Dim BTra As Range, Cls As Range, TraSL As Range
Dim W As Integer

Set BTra = Range("DMuc")           ' Vùng Bang Dinh Múc Duoc Gán Tên '
For Each Cls In BTra(1).Resize(BTra.Rows.Count)
    If Cls.Value = Mã Then
        Set TraSL = Cls.Offset(, 1).Resize(, 10):            Exit For
    End If
Next Cls
For W = 1 To Rng.Columns.Count
    TraTC = TraTC + Rng(W).Value * TraSL(W).Value
Next W
End Function
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

@Lê Hồng Minh83; @Nguyễn Hồng Quang; @khi ta 20; @Loc Uyen; @saobekhonglac

Nâng cấp bài toán cho vui: Nếu các cột sắp xếp không theo thứ tự thì mình phải xử lý bằng công thức ra sao!?
Xem sheet: 'vidu bai toan(bai2)'

Chúc anh em ngày vui.
Thân
Quan điểm của em là chọn phương pháp đơn giản hơn để làm, không phức tạp hóa vấn đề
Nên vấn đề này chỉ để nghiên cứu và giải trí thì được, áp dụng thực tế là em không chơi ah :) (áp dụng thực tế chỉ cần sort lại dữ liệu là được thôi mà)
 
@Lê Hồng Minh83; @Nguyễn Hồng Quang; @khi ta 20; @Loc Uyen; @saobekhonglac

Nâng cấp bài toán cho vui: Nếu các cột sắp xếp không theo thứ tự thì mình phải xử lý bằng công thức ra sao!?
Xem sheet: 'vidu bai toan(bai2)'

Chúc anh em ngày vui.
Thân
Gửi anh ,nghĩ tới nghĩ lui, em tìm ra công thức cơ bản sẽ là. Em đang làm tiếp phần bôi màu đỏ còn lại là xong, cảm ơn anh đã bổ túc thêm kiến thức cho anh em
N6=SUMPRODUCT(SUMIF($T$4:$AC$4;$D$4:$M$4;T5:AC5)*D6:M6)
 
Quan điểm của em là chọn phương pháp đơn giản hơn để làm, không phức tạp hóa vấn đề
Nên vấn đề này chỉ để nghiên cứu và giải trí thì được, áp dụng thực tế là em không chơi ah :) (áp dụng thực tế chỉ cần sort lại dữ liệu là được thôi mà)
Đúng vậy em! nếu đưa về dạng chuẩn thì rất tốt không có vấn đề gì bàn thêm.
Nếu như sort dòng thì dễ, chứ sort cột thì coi bộ phải qua nhiều công đoạn nữa mới tạo thành chuẩn thống nhất của hai bảng.
Trong thực tế, nhiều khi vô tình người nhập dữ liệu vào bảng hay tùy thích chèn thêm cột, thêm dòng, cho nên thứ tự bị xáo trộn.

Vì vậy, anh đưa trường hợp này cũng để cho anh em cái nhìn thoáng hơn và có phương án xử lý nhanh gọn hơn là sort cột.

Kệ! cứ coi như bài nâng cao công thức cho vui.

Chúc anh em ngày vui.
/-*+//-*+//-*+/
----------------------------------------------------------------------------------------------------------------------------
Gửi anh ,nghĩ tới nghĩ lui, em tìm ra công thức cơ bản sẽ là. Em đang làm tiếp phần bôi màu đỏ còn lại là xong, cảm ơn anh đã bổ túc thêm kiến thức cho anh em
N6=SUMPRODUCT(SUMIF($T$4:$AC$4;$D$4:$M$4;T5:AC5)*D6:M6)
Giỏi! gần xong rồi đó.
:clap::clap2::clap:
Đằng sau, trợ lực bằng Offset()

Chúc em ngày vui.
Thân
 
Đúng vậy em! nếu đưa về dạng chuẩn thì rất tốt không có vấn đề gì bàn thêm.
Nếu như sort dòng thì dễ, chứ sort cột thì coi bộ phải qua nhiều công đoạn nữa mới tạo thành chuẩn thống nhất của hai bảng.
Trong thực tế, nhiều khi vô tình người nhập dữ liệu vào bảng hay tùy thích chèn thêm cột, thêm dòng, cho nên thứ tự bị xáo trộn.

Vì vậy, anh đưa trường hợp này cũng để cho anh em cái nhìn thoáng hơn và có phương án xử lý nhanh gọn hơn là sort cột.

Kệ! cứ coi như bài nâng cao công thức cho vui.

Chúc anh em ngày vui.
/-*+//-*+//-*+/
----------------------------------------------------------------------------------------------------------------------------

Giỏi! gần xong rồi đó.
:clap::clap2::clap:
Đằng sau, trợ lực bằng Offset()

Chúc em ngày vui.
Thân
Cảm ơn anh. Làm xong công thức em cũng thấy vui 1 phần vì đã giải được bài toán hay, 1 phần là học thêm được cách dùng sumif
 
Chưa xong mà em! giải quyết tiếp T5: AC5 đi em!

Cố chút nữa là tới đích rồi.

Khà khà khà
/-*+//-*+//-*+/
Vâng ghép Offset vô là ổn.
Thú thật với anh hai là
Lúc đầu em mò mãi ko ra đâu, tắt đi mở lại file mấy lần (cũng hơi nản).
Đến 1 hồi, tự dưng nhớ đến 1 bài anh dùng sumif trong tìm bút toán sai. mò mò tiếp lắp thử cái đoạn SUMIF($T$4:$AC$4;$D$4:$M$4;T5:AC5)thấy kết quả = 55, lúc đó cũng không chắc lắm . Sau rồi ghép tiếp với sumproduct thấy ra kết quả 63.93, lúc đó mới biết mình làm đúng. Hì, đúng là em vẫn còn hên xui nhiều anh à
 
Web KT

Bài viết mới nhất

Back
Top Bottom