Giúp đỡ về cách đếm dữ liệu (Đếm số khẩu trong 1 hộ gia đình)

Liên hệ QC

lamkivy

Thành viên mới
Tham gia
23/2/09
Bài viết
1
Được thích
0
em có một danh sách các hộ gia đình và e muốn đếm số khẩu trong 1 hộ gia đình
em có gửi file kèm theo.
thank các Pro.
 

File đính kèm

  • Mãu file khẩu.xlsx
    11.2 KB · Đọc: 29
E2=IF(D3="Chủ hộ",1,E3+1)
Fill xuống rồi mới có kết quả đúng nhé :v
 
em có một danh sách các hộ gia đình và e muốn đếm số khẩu trong 1 hộ gia đình
em có gửi file kèm theo.
thank các Pro.
Nếu bạn biết về VBA, có thể dùng
PHP:
Sub Dem_ho_Giadinh()
    Dim i%, LR%, k%
    LR = Sheet1.Range("B60000").End(3).Row
    k = LR
    For i = LR To 2 Step -1
        If Range("A" & i) <> Empty Then
            Range("F" & i) = "=COUNTA(B" & i + 1 & ":B" & k & ")+1"
            k = i - 1
        End If
    Next
End Sub
 
Nếu bạn biết về VBA, có thể dùng
PHP:
Sub Dem_ho_Giadinh()
    Dim i%, LR%, k%
    LR = Sheet1.Range("B60000").End(3).Row
    k = LR
    For i = LR To 2 Step -1
        If Range("A" & i) <> Empty Then
            Range("F" & i) = "=COUNTA(B" & i + 1 & ":B" & k & ")+1"
            k = i - 1
        End If
    Next
End Sub
Hình như code này chưa đúng bạn, hộ 3 kết quả ra 1 thôi nhỉ?
 
Hình như code này chưa đúng bạn, hộ 3 kết quả ra 1 thôi nhỉ?
Vậy thì thế này đi:
PHP:
Sub Dem_ho_Giadinh2()
    Dim i%, LR%, k%
    LR = Sheet1.Range("B60000").End(3).Row
    k = LR
    For i = LR To 2 Step -1
        If Range("A" & i) <> Empty Then
           ' Range("F" & i) = "=COUNT(B" & i + 1 & ":B" & k & ")+1"
             Range("F" & i) = "=COUNTBLANK(A" & i + 1 & ":A" & k & ")+1"
            k = i - 1
        End If
    Next
End Sub
 

File đính kèm

  • Mãu file khẩu -New.xls
    37.5 KB · Đọc: 17
Công thức đơn giản thôi - cho E2
Mã:
=IF(A2;IFERROR(MATCH(A2+1;A3:A$15);COUNT(B2:B$15));"")

Nhưng tôi có lời khuyên: Tất cả những công thức dùng tham chiếu tới vùng dữ liệu "vừa khít" với vùng hiện hành thì nên quên đi. Vì chả nhẽ mỗi khi thêm dữ liệu lại phải sửa công thức?

Vì thế hãy chọn một số max. Tức chắc chắn rằng dữ liệu có thể tới tận dòng max nhưng không bao giờ vượt quá dòng max. Tôi giả thiết max = 1000 nhưng bạn tùy theo việc của mình để tự định max.

Lúc này công thức sẽ là
Mã:
=IF(A2;IFERROR(MATCH(A2+1;A3:A$1000);COUNT(B2:B$1000));"")

Khi nhập thêm dữ liệu thì không phải sửa công thức.
 
Lần chỉnh sửa cuối:
em có một danh sách các hộ gia đình và e muốn đếm số khẩu trong 1 hộ gia đình
em có gửi file kèm theo.
thank các Pro.
Gõ vào E2 công thức:
Mã:
=IF(D2="Chủ hộ",COUNTA(D2:D$100)-SUM(E3:E$100),"")
Kéo fill xuống
 
Nhớ cách này bạn đã từng làm vài lần, nhưng nghĩ mãi chẳng nhớ được!
Tôi cũng không nhớ luôn! Cứ mỗi lần có bài liên quan đến vụ tính tổng từng phân đoạn, lại lò mò thí nghiệm... chừng nào "ra" thì thôi
Ẹc.. Ẹc...
(nhớ giải thuật chứ không nhớ được chi tiết)
 
Nhớ cách này bạn đã từng làm vài lần, nhưng nghĩ mãi chẳng nhớ được!
Cách này thì nhiều người biết. Tôi cũng từng dùng công thức với triết lý y như thế ***

Nhưng có nhược điểm là cứ mỗi công thức lại phải tính tổng các dữ liệu dưới nó SUM(E3:E$100) - của tôi là SUMA($G3:$G100) - rồi trừ đi. Như thế không cần thiết. Nhất là khi số hộ lên tới hàng ngàn. Khi nhập thêm dữ liệu thì hàng ngàn công thức ở tất cả các bài đều phải tính lại. Vì thế những việc không cần thiết nên hạn chế.

Tất nhiên nếu dữ liệu ít thì công thức nào cũng được.

***:
Ở hình formula.jpg là tính tổng tiền bán của mỗi ngày: khi ở ô Ak có ngày thì trong cột B từ dòng (k+1) trở đi sẽ là tiền bán của từng mặt hàng (bên cột A các ô cùng dòng là trống), và bên cột C sẽ là tên hàng bán.

Ở hình translator.jpg là dịch công thức trong phiên bản Ba Lan sang công thức phiên bản Anh.

Viết cho những bạn sau này đọc chủ đề này.

formula.JPG


translator.JPGformula.JPG
 
Web KT
Back
Top Bottom