*hoạt động như AND()và +hoạt động như OR()
bởi vì TRUEcó một giá trị 1và FALSEcó một giá trị 0. Và, kể từ khi NOT()chức năng biến TRUEthà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 0và 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 2hoặ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-2là -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 xlà 0, biểu thức logic này đánh giá là TRUE. Nếu xlà bất cứ điều gì khác hơn 0, biểu thức đánh giá là FALSE. Như vậy, x=0chức năng như .NOT(x)
Cảnh báo: nếu bạn kết hợp nhiều Boolean ( TRUEhoặ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?