*
hoạt động như AND()
và +
hoạt động như OR()
bởi vì TRUE
có một giá trị 1
và FALSE
có một giá trị 0
. Và, kể từ khi NOT()
chức năng biến TRUE
thành FALSE
và ngược lại ( 1
↔ 0
), một cách đơn giản để thực hiện cấp số cộng là .NOT(x)
1-x
Thật không may, điều đó chỉ làm việc cho 0
và 1
. Nếu bạn đang sử dụng +
cho OR()
, và bạn có hai (hoặc nhiều) điều kiện TRUE kết hợp trong một biểu thức, bạn sẽ nhận được một giá trị của 2
hoặc cao hơn. Tin tốt (mà bạn đã biết) là bất kỳ số nào khác không được tính là TRUE
. Tin xấu 1-2
là -1
, nó khác không và do đó cũng có TRUE
.
Một giải pháp thay thế là biểu thức logic x=0
, ví dụ:
(((A1:A8="Google")*(B1:B8="Stanford")+(C1:C8="Columbia"))=0)
Nếu x
là 0
, biểu thức logic này đánh giá là TRUE
. Nếu x
là bất cứ điều gì khác hơn 0
, biểu thức đánh giá là FALSE
. Như vậy, x=0
chức năng như .NOT(x)
Cảnh báo: nếu bạn kết hợp nhiều Boolean ( TRUE
hoặc FALSE
) giá trị với *
, +
và -
, họ được chuyển đổi thành số nguyên (số); nhưng nếu bạn làm một bài kiểm tra, bạn sẽ kết thúc bằng Boolean. Vì vậy, bạn có thể nói một cái gì đó nhưnumber=number
=SUM((A1:A8="Google")*(B1:B8="Stanford"))
(không sử dụng IF()
), vì là một số, nhưng bạn không thể làmBoolean*Boolean
=SUM(((A1:A8="Google")*(B1:B8="Stanford"))=0)
bởi vì SUM()
không hoạt động trên các giá trị Boolean. Nhưng bạn có thể sử dụng nó
- trong một
IF()
,
- bằng cách thêm 0 (
+0
) hoặc
- bằng cách nhân với 1 (
*1
).
AND()
,OR()
và cácNOT()
hàm này có hữu ích với bạn không?