Bài tập tính Tổng không trùng với điều kiện số lớn nhất (1 người xem)

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

khuctreo

Thành viên mới
Tham gia
11/7/12
Bài viết
4
Được thích
1
Tình hình là tiểu đệ đang bí cái chổ này mong các cao thủ giúp đỡ để tháo gỡ vướng mắc này ...
- Có 1 dữ liệu như trong file, bây giờ ở cột "Tổng Số Giờ" là cột cần tính với các điều kiện sau đây
+ Điều kiện dựa trên cột "Trạm" và "Giá Xăng"
+ Cùng 1 giá xăng thì có nhiều ngày khác nhau. Chỉ lấy 1 giá trị trong ngày và là giá trị lớn nhất ... sau đó Tổng lại
- Cột "Tổng Số Giờ" đã tính tay ... các cao thủ giúp dùm em tính bằng công thức với ...
Đa tạ ...
 

File đính kèm

Tình hình là tiểu đệ đang bí cái chổ này mong các cao thủ giúp đỡ để tháo gỡ vướng mắc này ...
- Có 1 dữ liệu như trong file, bây giờ ở cột "Tổng Số Giờ" là cột cần tính với các điều kiện sau đây
+ Điều kiện dựa trên cột "Trạm" và "Giá Xăng"
+ Cùng 1 giá xăng thì có nhiều ngày khác nhau. Chỉ lấy 1 giá trị trong ngày và là giá trị lớn nhất ... sau đó Tổng lại
- Cột "Tổng Số Giờ" đã tính tay ... các cao thủ giúp dùm em tính bằng công thức với ...
Đa tạ ...
sort B2:E2 theo thứ tự cột B-C-D, lưu ý cột D là Descending
Mã:
J3=SUMPRODUCT((MATCH($B$2:$B$32&$C$2:$C$32,$B$1:$B$32&$C$1:$C$32,0)=ROW($C$2:$C$32))*($C$2:$C$32=$H3)*($E$2:$E$32=$I3)*$D$2:$D$32)
 
Tình hình là tiểu đệ đang bí cái chổ này mong các cao thủ giúp đỡ để tháo gỡ vướng mắc này ...
- Có 1 dữ liệu như trong file, bây giờ ở cột "Tổng Số Giờ" là cột cần tính với các điều kiện sau đây
+ Điều kiện dựa trên cột "Trạm" và "Giá Xăng"
+ Cùng 1 giá xăng thì có nhiều ngày khác nhau. Chỉ lấy 1 giá trị trong ngày và là giá trị lớn nhất ... sau đó Tổng lại
- Cột "Tổng Số Giờ" đã tính tay ... các cao thủ giúp dùm em tính bằng công thức với ...
Đa tạ ...

chắc phải xài vba quá
=====================
 

File đính kèm

sort B2:E2 theo thứ tự cột B-C-D, lưu ý cột D là Descending
Mã:
J3=SUMPRODUCT((MATCH($B$2:$B$32&$C$2:$C$32,$B$1:$B$32&$C$1:$C$32,0)=ROW($C$2:$C$32))*($C$2:$C$32=$H3)*($E$2:$E$32=$I3)*$D$2:$D$32)

Công thức này quá hay rồi. Có điều nhờ bác diễn giải cụ thể cho em hiểu được không ạ
 
sort B2:E2 theo thứ tự cột B-C-D, lưu ý cột D là Descending
Mã:
J3=SUMPRODUCT((MATCH($B$2:$B$32&$C$2:$C$32,$B$1:$B$32&$C$1:$C$32,0)=ROW($C$2:$C$32))*($C$2:$C$32=$H3)*($E$2:$E$32=$I3)*$D$2:$D$32)



-\\/.-\\/.-\\/.:: Đa tạ ... đa tạ ... cao thủ có khác ... công thức cao siêu ... :) ... nhưng có 1 trường hợp nó chưa đúng ... ở ô J8 á ... nó ra sai KQ ...
sort B2:E2 theo thứ tự cột B-C-D là sao mình ko hiểu lắm. ... Tại bảng tính của mình có nhìu cột lắm ... mình ẩn đi bớt ... z có ảnh hưởng đến KQ ko Pro
 
Lần chỉnh sửa cuối:
Bạn vui lòng chỉ rõ mình với ... Tại sao lấy có cột C mà lại ra KQ ... mình muốn áp dụng qua cái khác thì sao ?

à tôi làm bằng vba, vì vậy để chạy được thì bạn phải "enable macro"
để xài ở file khác thì bạn phải chép cái module qua file đó
bạn làm như sau:
mởi 2 file lên
nhấn Alt F11 mởi cửa sổ vba
lôi cái module này qua file mới của bạn

tuy trong hàm chỉ khai báo cột C, nhưng trong code tôi có lấy cột D và E (bằng cách offset cột C đi, vì vậy qua file mới bạn cũng phải để theo thứ tự như vậy)
 
-\\/.-\\/.-\\/.:: Đa tạ ... đa tạ ... cao thủ có khác ... công thức cao siêu ... :) ... nhưng có 1 trường hợp nó chưa đúng ... ở ô J8 á ... nó ra sai KQ ...
sort B2:E2 theo thứ tự cột B-C-D là sao mình ko hiểu lắm. ... Tại bảng tính của mình có nhìu cột lắm ... mình ẩn đi bớt ... z có ảnh hưởng đến KQ ko Pro

sort B2:E2 theo thứ tự cột B-C-D, lưu ý cột D là Descending

Là bạn phải sort dư liệu như trong hình này thì kết quả theo yêu cầu của bạn mới đúng đựoc.
Công thức thì từ từ nghiệm sau cũng được. Chổ nào không hiểu thì bôi đen vùng tính toán đó và nhấn F9 xem kết quả nó là gì là sẽ hiểu. Thân
 

File đính kèm

  • Untitled.png
    Untitled.png
    8.9 KB · Đọc: 60
Mình có cách làm khác không dùng VB nhưng cần chèn thêm 2 cột, chi tiết trong file kèm theo, bạn tham khảo nhé
 

File đính kèm

Mình có cách làm khác không dùng VB nhưng cần chèn thêm 2 cột, chi tiết trong file kèm theo, bạn tham khảo nhé
Bạn ơi cho mình hỏi CT ở ô H2 của bận là : =IF(ISNUMBER(MATCH(F2,$F$1:F1,0)),"",G2).Cái đoạn trong hàm MATCH mình không hiểu bạn có thể giải thích rõ được không, $F$1:F1 nghĩa là sao hả bạn ?
 
Cuối tuần, hơi rỗi nên thêm 1 macro để bạn tham khảo

PHP:
Option Explicit
Sub TinhTong()
 Dim WF As Object, Cls As Range
 Dim Dat As Date, SoNgay As Integer, J As Integer, TongGio As Double
 
 Set WF = Application.WorksheetFunction
 Dat = WF.Min(Columns("B:B"))
 SoNgay = WF.Max(Columns("B:B")) - Dat
 [p1:q1].Value = [b1:c1].Value:             [r1].Value = [e1].Value
 For Each Cls In Range([H3], [H3].End(xlDown))
    [q2].Value = Cls.Value:                 [r2].Value = Cls.Offset(, 1).Value
    For J = 0 To SoNgay
        [p2].Value = Dat + J
        TongGio = TongGio + WF.DMax(Columns("B:E"), [d1], [p1:r2])
    Next J
    Cls.Offset(, 2).Value = TongGio
    If TongGio > 0 Then TongGio = 0
 Next Cls
 [n1:r2].ClearContents
End Sub

(Theo file của bạn let'GoGo & xin cảm ơn bạn!)
 
Bạn ơi cho mình hỏi CT ở ô H2 của bận là : =IF(ISNUMBER(MATCH(F2,$F$1:F1,0)),"",G2).Cái đoạn trong hàm MATCH mình không hiểu bạn có thể giải thích rõ được không, $F$1:F1 nghĩa là sao hả bạn ?

Là xem ô F(x+1) có nằm trong mảng từ F1 (được cố định) đến Fx nào đó không đó mà ...Phải ko các pro
 
Bạn ơi cho mình hỏi CT ở ô H2 của bận là : =IF(ISNUMBER(MATCH(F2,$F$1:F1,0)),"",G2).Cái đoạn trong hàm MATCH mình không hiểu bạn có thể giải thích rõ được không, $F$1:F1 nghĩa là sao hả bạn ?

Đoạn này mục đích là kiểm tra xem một giá trị có nằm trong khoảng từ vị trí F1 đến vị trí trước nó (ví dụ tại vị trí F6 thì nó sẽ kiểm tra có giá trị nào F6 đã tồn tại trong khoảng F1 đến F5 hay không?).
 

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

Back
Top Bottom