W Excelu, jeśli mam operację logiczną formularza
{=SUM(IF((A1:A8="Google")*(B1:B8="Stanford")+(C1:C8="Columbia"),1,0))}
Wiem, że *
środki AND()
i +
oznacza OR()
więc, że szukamy dla nich w kolumnach A i B jest „Google” i „Stanford” lub odpowiednio tych w kolumnie C jest „Columbia”.
Ale czy istnieje symbol NOT()
?
microsoft-excel
domoremath
źródło
źródło
AND()
,OR()
iNOT()
funkcje, są one przydatne dla Ciebie?Odpowiedzi:
*
działa jakoAND()
i+
działa,OR()
ponieważTRUE
ma wartość1
iFALSE
ma wartość0
. A ponieważNOT()
funkcja zamienia sięTRUE
wFALSE
i odwrotnie (1
↔0
), prostym sposobem realizacji arytmetycznej jest .NOT(x)
1-x
Niestety działa to tylko dla
0
i1
. Jeśli używasz+
dlaOR()
i masz dwa (lub więcej) PRAWDZIWYCH warunków połączonych w wyrażeniu, otrzymasz wartość równą2
lub większą. Dobrą wiadomością (którą już znasz) jest to, że każda niezerowa liczba liczy się jakoTRUE
. Zła wiadomość jest taka , że1-2
jest-1
niezerowa i stąd teżTRUE
.Alternatywnym rozwiązaniem jest wyrażenie logiczne
x=0
, np.Jeśli
x
jest0
to logiczne wyrażenie jakoTRUE
. Jeślix
jest coś innego niż0
, wyrażenie jest oceniane jakoFALSE
. Tak więcx=0
działa jak .NOT(x)
Ostrzeżenie: jeśli połączyć wiele Boolean (
TRUE
lubFALSE
) wartości z*
,+
i-
są one konwertowane do liczb całkowitych (liczb); ale jeśli wykonasz test, otrzymasz logiczną wartość logiczną. W ten sposób możesz powiedzieć coś takiegonumber=number
(bez użycia
IF()
), ponieważ jest liczbą, ale nie możesz tego zrobićBoolean*Boolean
ponieważ
SUM()
nie działa na wartościach boolowskich. Ale możesz go użyćIF()
,+0
) lub*1
).źródło