2010-07-20 21 views
10

Đang cố gắng giải mã một số công thức Excel và tôi thấy một số nội dung như SUMPRODUCT (- Trái (...) ...)Có gì trong Excel?

Làm gì? Đương nhiên có vẻ như giảm dần cho tôi nhưng không thể tìm thấy bất kỳ tài liệu nào về nó.

Cảm ơn.

Trả lời

14

Dấu gạch ngang kép được gọi là toán tử đơn nguyên kép.

Hãy thử liên kết này: Why use -- in SUMPRODUCT formulae

Cụ thể:

SUMPRODUCT() bỏ qua mục không phải số. Phép so sánh trả về giá trị boolean (TRUE/FALSE), không phải là số. XL tự động coerces giá trị boolean cho các giá trị số (1/0, tương ứng) trong các phép toán số học (ví dụ: TRUE + 0 = 1). Cách hiệu quả nhất để ép buộc giá trị trước tiên là áp dụng toán tử trừ đi đơn nhất, nhấn TRUE/FALSE thành -1/0, sau đó áp dụng lại lần nữa để phủ nhận giá trị, ví dụ: +1/0.

Một unary nhà điều hành duy nhất (-) coerces đúng/sai giá trị vào -1/0. Bằng cách sử dụng opera opera đôi, chúng tôi ép lại các giá trị thành 1/0.

4

Toán tử đơn nguyên (-) là một phương thức viết tắt để chuyển đổi câu lệnh đúng/sai thành -1/0.

Một nhà điều hành duy nhất sẽ chuyển đổi - (true) vào -1, do đó, một nhà điều hành unary đôi được sử dụng để chuyển đổi nó sang 1:

-(-(true)) = -(-(1)) = 1 
-(-(false)) = -(-(0)) = 0 
0

Tôi đã sử dụng SUMPRODUCT trong một thời gian và có luôn đã sử dụng ký hiệu * thay vì --. Tôi chắc rằng tôi đã hỏi cùng một câu hỏi mà bạn đã hỏi, nhưng tôi không thể nhớ lý do họ đưa cho tôi, nhưng tôi đã nói rằng thực sự không cần -- vì sumproduct tự quản lý khá tốt mà không có nó.

Dù sao, =sumproduct(()*()*()*()) luôn làm việc cho tôi và ít gây nhầm lẫn hơn.

+0

- có thể ép buộc một mảng tại một thời điểm. – Noumenon

0

Giá trị Boolean TRUE và FALSE trong excel được coi là 1 và 0, nhưng chúng tôi cần chuyển đổi chúng. Để chuyển đổi chúng thành số 1 hoặc 0, hãy thực hiện một số phép toán. Toán tử Unary phủ nhận toán tử boolean (toán học), do đó, chuyển đổi số boolean thành số. Các tác phẩm tương tự trong TRUE * FALSE = 0

Các vấn đề liên quan