Cộng theo nhóm cùng thuộc tính ?

  • Thread starter NguTDung
  • Ngày gửi
N

NguTDung

Guest
11/4/06
62
0
0
HaNoi
Tôi cần cộng theo các Nhóm dãy số có cùng thuộc tính. Để đơn giản chỉ ví dụ phân thành 2 nhóm thuộc tính là:
Nhóm có thuộc tính "1": các giá trị <=5
Nhóm có thuộc tính "2": các giá trị >5


Cộng tự động liên tục từ đầu (ô A1) đến khi thay đổi thuộc tính thì lại Cộng sang một tổng khác kể từ đó, các bạn xem giúp có thể làm thế nào:
cong1.jpg
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Mình mới chỉ làm được NTN:

Chúc vui vẽ!
 
Sửa lần cuối:
N

NguTDung

Guest
11/4/06
62
0
0
HaNoi
QDuc nói:
=IF(N(F1)=0,F2,IF(AND(F1>6, F2>6),G1+F2,IF(AND(F1<=6,F2<=6),G1+F2, 0)))
Giải thích CT: Trường cần cộng là cột F kể từ F2 (Tên trường tại F1: SL)
Bạn nhập CT trên vô G2 & dùng AutoFill kéo xuống;
ở đây chuẩn mình chọn là 6 (chứ không phải 5 như bạn cần), sửa đi nha!
Kết quả chưa như mong muốn của bạn hoàn toàn đâu: Tham khảo nha!
BS: Mình có gởi tin nhắn, chúc vui vẽ!
Cám ơn bạn, nhưng hình như số 0 (mầu đỏ) ở cuối thì không ra được kết quả đúng vì bạn sẽ bỏ sót giá trị đầu tiên không cộng vào tổng.
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Đúng ra là vầy; Xin lỗi bạn nhé!

=If( Or( And( F1> 6,f2> 6),and( F1<= 6,f2 <=6)),g1 + F2,If( Or( And(f1> 6,f2<= 6),and( F1<=6, F2>6)), F2,If( Type(1 * Text( F1,0))=16, F2, "")))
 
D

Doan Dinh Hieu

Guest
12/6/06
4
0
0
58
68/4 Xuan Hong
Tai cell B15 =SUM(IF(A1:A14<=5,1,0)*A1:A14)

Tai cell C15 =SUM(IF(A1:A14>5,1,0)*IF(A1:A14<10,1,0)*A1:A14)

Chu y : Sau khi lap Cong thuc xong nho an to hop phim Ctr+Shift+Enter
(Cong thuc mang)
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Nếu muốn giống nguyên si như bạn nêu, thì đây:

Sẽ nhập công thức này vô ô G2 & AutoFill xuống cuối:
=IF(LEN(F3)=0,H2, IF(OR(AND(F2>6,F3>6),AND(F2<=6,F3<=6 ),H2+F3=H3),"", H2))
Còn cột H tại H2 trở đi ta nhập CT tương tự đã nêu ở #4 phía trên!
=IF(OR( AND(F1>6,F2>6),AND(F1<=6,F2<=6)),H1+F2,IF(OR( AND(F1>6,F2<=6),AND(F1<=6,F2>6)),F2,IF(TYPE(1*TEXT(F1,0))=16,F2,"")))
 
Sửa lần cuối:
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Bằng VBA đây, mại zô!

Dim iJ As Integer
Sub TongNhom()
Dim StrC As String
Dim TongNhon, TongBe, Duoi As Boolean
iJ = 1: Sheets("S2").Select
Do
iJ = 1 + iJ: StrC = "F" & CStr(iJ)
Range(StrC).Select
If ActiveCell.Value = "" Then Exit Do
If ActiveCell.Value <= 6 And Duoi = True Then 'Cong Tiep
TongBe = TongBe + ActiveCell.Value
ElseIf ActiveCell.Value > 6 And Duoi = 0 Then
TongNhon = TongNhon + ActiveCell.Value
ElseIf ActiveCell.Value > 6 And Duoi = -1 Then 'Chuyen Doi
Duoi = 0: TongNhon = ActiveCell.Value
Chep TongBe
ElseIf ActiveCell.Value <= 6 And Duoi = 0 Then
Duoi = -1: TongBe = ActiveCell.Value
Chep TongNhon
End If
Loop
If Duoi Then Chep TongBe Else Chep TongNhon
End Sub
Sub Chep(Tong As Variant)

Dim StrS As String
StrS = "J" & CStr(iJ - 1): Range(StrS).Select
ActiveCell.Value = Tong: Tong = 0
End Sub
 
Sửa lần cuối:
N

NguTDung

Guest
11/4/06
62
0
0
HaNoi
QDuc nói:
Sẽ nhập công thức này vô ô G2 & AutoFill xuống cuối:
=IF(LEN(F3)=0,H2, IF(OR(AND(F2>6,F3>6),AND(F2<=6,F3<=6 ),H2+F3=H3),"", H2))
Còn cột H tại H2 trở đi ta nhập CT tương tự đã nêu ở #4 phía trên!
=IF(OR( AND(F1>6,F2>6),AND(F1<=6,F2<=6)),H1+F2,IF(OR( AND(F1>6,F2<=6),AND(F1<=6,F2>6)),F2,IF(TYPE(1*TEXT(F1,0))=16,F2,"")))
Cám ơn các bạn, nhờ các bạn tôi đã làm được rồi.
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
11
18
44
Nha Trang
Cách 1: Cột phụ
Em cho rằng việc tạo ra một cột phụ sẽ giúp ích rất nhiều đấy ạh:
- Không phải lo lắng nhiều về sự rắc rối của công thức
- Cũng không cần phải lo chương trình chạy chậm, vì công thức cũng kô mấy phức tạp

Cách 2: Conditional formating
Việc dùng conditional formatting trong cách 2 này chỉ có ý nghĩa về việc cho hiện ra số mà mình cần và số mình không cần thì ẩn đi.
Công thức cho ô: =IF(OR(AND(A3<6,A2<6),AND(A3>=6,A2>=6)),B2+A3)
Công thức conditional formatting (chọn formula is) =AND(OR(AND(A2<6,A3<6),AND(A2>=6,A3>=6)),A3<>"")
 
H

HyperVN

<b>Phu hót rác</b>
17/3/03
1,833
16
0
49
Hải Phòng
www.webketoan.vn
Kết hợp cả hai bạn QDUC và Bình OverAC mới đúng:

Tại Ô B1 gán công thức =A1

Tại ô B2: =IF( OR( AND( A1> 6,A2> 6),AND( A1<= 6,A2 <=6)),B1 + A2,IF( OR( AND(A1> 6,A2<= 6),AND( A1<=6, A2>6)), A2,IF( TYPE(1 * TEXT( A1,0))=16, A2, "")))

Vào Conditional Formatting chọn Formula Is: =AND(OR(AND(A2<6,A3<6),AND(A2>6,A3>6)),A3<>"")

Định dạng màu chữ font cùng màu nền ->OK rồi chép xuống các dòng dưới.
 
N

NguTDung

Guest
11/4/06
62
0
0
HaNoi
Dùng thêm 1 cột phụ nữa thì không cần Format Con. của bạn Bình.
Thực tế bài toán của tôi không phải như vậy mà điều kiện tạo bao nhiêu nhóm cũng rất linh động có thế thay đổi, nên tôi còn tạo thêm 2 cột phụ nữa cơ. Thanks a lot.
 

Xem nhiều