Chuyển đổi tổng số nhiều bước của booleans thành một công thức duy nhất


10

Tôi có một vài lần đọc cảm biến và tôi đang kiểm tra xem các giá trị có nằm trong phạm vi chấp nhận được không.

Để làm điều này, tôi sử dụng một IFđể kiểm tra xem các giá trị là >hoặc giá trị được <tính toán (trung bình). Các kết quả được lưu trữ trong các cột tương ứng. Cuối cùng, tôi tổng hợp các kết quả để có được số lượng bao nhiêu giới hạn (tức là trên mức trung bình).

Ví dụ, Axđược so sánh với Mean. Axđể có được 1hoặc 0trong If value is outside accepted bounds. Ax:

Hình 1

Sau đó, tổng của If value is outside accepted bounds. Axđược thực hiện để có được Number of values outside bound. Ax:

Hình 2, tổng kết

Câu hỏi
Làm thế nào để tôi chuyển đổi nó thành một công thức duy nhất?

Câu trả lời:


11

Chức năng bạn đang theo đuổi là COUNTIF():

Ảnh chụp màn hình trang tính

Nhập công thức sau vào G3và ctrl-enter / copy-paste / fill-right vào G3:I3:

=COUNTIF(A3:A8,">"&D3)

COUNTIF() kiểm tra từng giá trị trong đối số thứ nhất so với tiêu chí trong giá trị thứ hai và đếm số lần nó được đáp ứng.


Sử dụng COUNTIF()là giải pháp đơn giản và tốt nhất.

Tất nhiên, bạn có thể sử dụng một công thức phức tạp hơn / khó hiểu hơn như

=SUMPRODUCT(--(A3:A8>D3))

hoặc một mảng được nhập vào như

{=SUM(--(A3:A8>D3))}

hoặc thậm chí là một phiên bản phức tạp hơn không cần thiết của những người.

Tuy nhiên, không có lợi ích gì khi sử dụng bất kỳ thứ gì trong trường hợp cụ thể này.


Nếu thực tế, vì bạn dường như quan tâm đến việc giảm số lượng cột của trình trợ giúp, một giải pháp tổng thể thậm chí tốt hơn sẽ là phân phối với các cột của trình trợ giúp trung bình:

Ảnh chụp màn hình trang tính

Nhập công thức sau vào D3và ctrl-enter / copy-paste / fill-right vào D3:F3:

=COUNTIF(A3:A8,">"&AVERAGE(A3:A8))

(Và vâng, công thức này cũng có thể trở nên khó hiểu hơn đối với người mới bắt đầu bằng cách chuyển đổi nó thành =SUMPRODUCT(--(A3:A8>AVERAGE(A3:A8)))hoặc {=SUM(--(A3:A8>AVERAGE(A3:A8)))}.)


@AFH Cảm ơn bạn đã chỉnh sửa (và upvote ;-)). Tôi tự hỏi làm thế nào điều đó xảy ra? Và quan trọng hơn, làm thế nào tôi không nhận thấy nó \ _ (ツ) _ /
robinCTS

Chúc mừng. Các bot hệ thống chọn các bài đăng được đánh giá cao để sử dụng làm kiểm toán trong hàng đợi đánh giá LQP. Bài này đã được chọn là một bài "chất lượng thấp" - một huy hiệu danh dự. :-)
fixer1234

@ fixer1234 Ồ, tất nhiên () Tôi đưa ra ba giải pháp thay thế cho vấn đề Y và sau đó tiến hành cung cấp giải pháp cho vấn đề X. Và trên hết tôi đưa ra một lời giải thích về cách thức COUNTIF()hoạt động của chức năng. Rõ ràng câu trả lời này là Chất lượng thấp! Lần sau tôi sẽ chỉ bám vào một dòng duy nhất, mã chỉ trả lời. (PS Chỉ cần kiểm tra dòng thời gian . Có vẻ như bạn đã thất bại trong cuộc kiểm toán - bạn đã chọn Looks OK;-))
robinCTS

2

TÓM TẮT Chức năng cũng có thể giải quyết vấn đề của bạn.

nhập mô tả hình ảnh ở đây

Viết công thức này trong G102 & Điền nó ngay từ G102 đến I102:

=SUMPRODUCT(--(A102:A107>D102:D107))

NB Điều chỉnh địa chỉ ô trong công thức theo nhu cầu của bạn.

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.