công thức để có được tổng số hàng chứa giá trị trong excel


2

Tôi có một bảng tính với dữ liệu ở định dạng này:

User | Group       | ParentGroup | ID
joe  | US fed grp  |  fed        | 123
bill | dev         |  IT         | 234
jim  | UK fed grp  |  fed        | 345  

Tôi cần một công thức sẽ tìm kiếm các cột Nhóm và Nhóm mẹ trên toàn bộ trang tính và đưa ra tổng số hàng của các hàng có chứa 'fed'

Trong ví dụ trên, công thức sẽ trả về 2 (không phải 4, là số lần 'cho ăn' xuất hiện trong toàn bộ trang tính). 2 là số hàng được 'cho ăn' xuất hiện trên đó.

tôi đang cố gắng

=COUNTIF(1:4, "*" & "fed" & "*")

nhưng nó trở lại 4 (tôi muốn 2)

Câu trả lời:


5

Không cần cột trợ giúp:

=SUMPRODUCT(--ISNUMBER(SEARCH("fed",Group & ParentGroup)))
  • Nhóm đề cập đến B2: Bn (trong đó n bằng hoặc lớn hơn hàng cuối cùng)
  • Parentgroup đề cập đến C2: Cn
  • Nhóm và Parentgroup phải có cùng kích thước

Và bạn có thể thay thế một tham chiếu ô cho "fed" nếu bạn muốn.


+1 Câu trả lời tuyệt vời, hay và đơn giản! Tôi ước tôi đã nhìn nó kỹ hơn ngày hôm qua, có thể đã tự cứu mình một số đau buồn!
tehDorf

Công cụ tuyệt vời, cảm ơn !! Chỉ dành cho những người có thể không hiểu, tham số cuối cùng phải được viết như A27:A36&B27:B36&.....Quá tệ COUNTIF không cho phép tham gia các phạm vi như thế này, nó sẽ giải quyết vấn đề này đơn giản hơn nhiều.
Andrew

1

Trả lời một ô:

=COUNTIF(B:C, "*fed*") - COUNTIFS(B:B, "*fed*", C:C, "*fed*")

Điều này sẽ đếm số lượng tế bào có chứa fed, sau đó trừ một cho mỗi hàng có hai ô với fed. Điều này khá dễ dàng, nhưng sẽ không mở rộng quy mô (ví dụ: bạn có 6 cột và bạn muốn đếm số lượng hàng có chứa fed trong bất kỳ trong số họ)


Cập nhật: Phiên bản có thể mở rộng

Điều này thực sự làm tôi khó chịu, vì vậy đã đào thêm và đưa ra công thức mảng :

=SUM(IF(ISNUMBER(SEARCH("fed", B1:B4)) +
        ISNUMBER(SEARCH("fed", C1:C4)),
        1, 0))

Lưu ý quan trọng: Đây là một công thức mảng, vì vậy bạn cần nhấn CTRL + ALT + ĐI VÀO , thay vì chỉ gõ ĐI VÀO hoặc nhấp vào bên ngoài của tế bào. Bạn có thể biết nếu bạn đã làm đúng bởi vì công thức sẽ hiển thị {} xung quanh nó (và kết quả sẽ luôn là 0 nếu bạn không).

Bây giờ bạn có thể mở rộng này để lấy bất kỳ số lượng cột nào bằng cách thêm một cột khác + ISNUMBER(SEARCH("fed", X1:X4)) đến chức năng. Bạn có thể chỉ định tìm kiếm toàn bộ cột bằng cách sử dụng X:X, Ở đâu X là chữ cái cột, nhưng tùy thuộc vào hệ thống của bạn mà có thể bắt đầu chạy chậm. Tôi đã có một sự chậm trễ đáng chú ý khi tìm kiếm toàn bộ cột, nhưng chuyển sang X1:X100 làm cho nó cảm thấy ngay lập tức. Tôi tin rằng bạn sẽ cần làm cho phạm vi giống nhau cho tất cả các cột (ví dụ: bạn không thể có B:BC1:C10 ), nhưng tôi đã không kiểm tra nó.


0

Đây là cách tôi giải quyết nó.
Nếu trong cột B là Nhóm, thì cột C là Parentgroup và trong I2 là từ bạn đang tìm kiếm, trong trường hợp của bạn được cung cấp.
Tạo một cột khác có tên là Fed và nhập công thức này và kéo nó xuống bảng. = IF (HOẶC (CHÍNH XÁC (B2; $ I $ 2); CHÍNH XÁC (C2; $ I $ 2)); 1; 0)
Với điều này, bạn sẽ nhận được số 1 ngay cả khi có một vài "cho ăn" trong mỗi hàng.
Sau đó tổng hợp cột Fed.
Tôi đã tải lên giải pháp.


0

Tôi tin rằng Davidenko là đúng khi đề xuất rằng bạn cần một cột trợ giúp cho việc này. Tôi đề nghị rằng công thức trong, nói, tế bào S2, có thể là một cái gì đó như

=OR(ISNUMBER(SEARCH("fed", B2)), ISNUMBER(SEARCH("fed", C2)))

Cái nào sẽ đánh giá thành TRUE nếu B2 hoặc là C2 có chứa ăn fed ăn, trường hợp không nhạy cảm. Thay thế SEARCH với FIND nếu bạn muốn một bài kiểm tra phân biệt chữ hoa chữ thường. Nếu bạn muốn văn bản tìm kiếm đến từ một ô, ví dụ, bạn có thể làm điều đó với

=OR(ISNUMBER(SEARCH($I$2, B2)), ISNUMBER(SEARCH($I$2, C2)))

Nếu bạn cần kiểm tra cột AD quá, thêm chúng

Nhanh chóng & amp; phím tắt bẩn sẽ là

=ISNUMBER(SEARCH("fed", B2&C2))

nhưng điều này sẽ tính các hàng trong đó giá trị trong cột B đã kết thúc với và giá trị trong cột C bắt đầu với bản ed ed. Để khắc phục điều đó, hãy đi với một cái gì đó như

=ISNUMBER(SEARCH("fed", B2&"|"&C2))

Kế tiếp,

  • Điền vào cột trợ giúp này (mà tôi gọi là S ở trên) bằng cách kéo nó xuống và
  • làm một cái gì đó như

    =COUNTIF(S:S, TRUE)
    

Hoặc, sử dụng một trong những thủ thuật phổ biến để chuyển đổi các giá trị trong cột S đến 1 giây và 0 giây và sau đó SUM nó (như Davidenko đề nghị).


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.