charactor5566
Thành viên mới
- Tham gia
- 7/1/23
- Bài viết
- 37
- Được thích
- 3
Tìm cách gộp các hết lại với nhau xong rồi pivot sẽ dễ kiểm soát hơn bạn ạEm muốn tính tổng số tiền phụ cấp của các sheet mà những người có tổng trên 10 triệu. Em cộng kiểu từng sheet với nhau lâu quá. Anh/chị xem có công thức giúp em với ạ. Em cảm ơn.
Cảm ơn bạn về ý tưởng. File mình đang làm nhiều phòng ban, nhiều xưởng lắm.Tìm cách gộp các hết lại với nhau xong rồi pivot sẽ dễ kiểm soát hơn bạn ạ
Bạn thử công thức tại D7Em muốn tính tổng số tiền phụ cấp của các sheet mà những người có tổng trên 10 triệu. Em cộng kiểu từng sheet với nhau lâu quá. Anh/chị xem có công thức giúp em với ạ. Em cảm ơn.
Bạn thử công thứcEm muốn tính tổng số tiền phụ cấp của các sheet mà những người có tổng trên 10 triệu. Em cộng kiểu từng sheet với nhau lâu quá. Anh/chị xem có công thức giúp em với ạ. Em cảm ơn.
Vậy bạn nên đưa thêm điều kiện là hàm ngắn thôi và không dùng cột phụ.Kết quả đúng rồi, cảm ơn bạn. Nhưng lại thêm cột phụ à bạn. Nếu nhiều file tên sheet ghi khác nhau thì lại phải nhập tay cột phụ. Mà dưới 10 triệu là 0 mà bạn. Bạn để >=10^6 nên dưới 10 triệu nó vẫn giữ nguyên.
Nếu bạn không muốn cột phụ thì tạo Name là dc mà, đưa tên các Sheet vào Name thì không cần cột phụ nữa.Kết quả đúng rồi, cảm ơn bạn. Nhưng lại thêm cột phụ à bạn. Nếu nhiều file tên sheet ghi khác nhau thì lại phải nhập tay cột phụ. Mà dưới 10 triệu là 0 mà bạn. Bạn để >=10^6 nên dưới 10 triệu nó vẫn giữ nguyên.
Bạn chỉnh lạiKết quả đúng rồi, cảm ơn bạn. Nhưng lại thêm cột phụ à bạn. Nếu nhiều file tên sheet ghi khác nhau thì lại phải nhập tay cột phụ. Mà dưới 10 triệu là 0 mà bạn. Bạn để >=10^6 nên dưới 10 triệu nó vẫn giữ nguyên.
=TEXT(SUMPRODUCT(SUMIF(INDIRECT("'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"&"'!B7:B30"),B7,INDIRECT("'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"&"'!D7"))),"[<10000000]\0;0,000")
Cảm ơn bạn nhiều nhéBạn chỉnh lại
D7=IF(SUMPRODUCT(SUMIF(INDIRECT("'"&Name&"'!B:B"),B7,INDIRECT("'"&Name&"'!D")))>=10^7,SUMPRODUCT(SUMIF(INDIRECT("'"&Name&"'!B:B"),B7,INDIRECT("'"&Name&"'!D"))),0)
Bạn xem chi tiết trong file
Bạn xem file này, file trc mình đính nhầmCảm ơn bạn nhiều nhé
Dạ em cảm ơn anhKhông dùng cột phụ thì đây:
Mã:=TEXT(SUMPRODUCT(SUMIF(INDIRECT("'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"&"'!B7:B30"),B7,INDIRECT("'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"&"'!D7"))),"[<10000000]\0;0,000")
Nhưng hàm vẫn dài nhỉ.Không dùng cột phụ thì đây:
Thêm 1 mảng này rồi bạn : "'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"Nhưng hàm vẫn dài nhỉ.
Tiêu chí của chủ bài là "hàm ngắn thôi" mà.Thêm 1 mảng này rồi bạn : "'T"&TEXT(ROW($A$9:$A$12),"00")&"-2022"
Em muốn tính tổng số tiền phụ cấp của các sheet mà những người có tổng trên 10 triệu. Em cộng kiểu từng sheet với nhau lâu quá. Anh/chị xem có công thức giúp em với ạ. Em cảm ơn.
=LET(X,$F$2:$F$20,Y,FILTER(X,X<>0),KQ,SUMPRODUCT(SUMIF(INDIRECT("'"&Y&"'!B7:B1000"),$B7,INDIRECT("'"&Y&"'!D7:D1000"))),IF(KQ>10^7,KQ,""))
Option Explicit
Function ngan(ByRef cell As Range) As Double
Dim f, ws As Worksheet
For Each ws In Sheets
If ws.Name <> "TONG" Then
Set f = ws.Columns("B").Find(cell)
If Not f Is Nothing Then ngan = ngan + f.Offset(, 2)
End If
Next
If ngan < 10000000 Then ngan = 0 Else ngan = ngan
End Function
Siêu ngắn siêu nhanh thật.Ngắn và nhanh vô địch luôn:
D7
=ngan(B7)
Điều kiện: Code này sẽ lùng tìm tên tại ô B7 trong cột B trong tất cả các sheet (ngoại trừ sheet TONG), nếu tìm thấy thì cộng dồn cột D. Sau đó nếu >10tr thì lấy.
Cách dùng:
Alt-F11 mở VBA editor, Insert/Module, copy code này vô. Lưu file dạng .xlsm
PHP:Option Explicit Function ngan(ByRef cell As Range) As Double Dim f, ws As Worksheet For Each ws In Sheets If ws.Name <> "TONG" Then Set f = ws.Columns("B").Find(cell) If Not f Is Nothing Then ngan = ngan + f.Offset(, 2) End If Next If ngan < 10000000 Then ngan = 0 Else ngan = ngan End Function
Có cái rất dài nằm trong cái rất ngắn.Ngắn và nhanh vô địch luôn:
D7
=ngan(B7)
Điều kiện: Code này sẽ lùng tìm tên tại ô B7 trong cột B trong tất cả các sheet (ngoại trừ sheet TONG), nếu tìm thấy thì cộng dồn cột D. Sau đó nếu >10tr thì lấy.
Cách dùng:
Alt-F11 mở VBA editor, Insert/Module, copy code này vô. Lưu file dạng .xlsm
PHP:Option Explicit Function ngan(ByRef cell As Range) As Double Dim f, ws As Worksheet For Each ws In Sheets If ws.Name <> "TONG" Then Set f = ws.Columns("B").Find(cell) If Not f Is Nothing Then ngan = ngan + f.Offset(, 2) End If Next If ngan < 10000000 Then ngan = 0 Else ngan = ngan End Function