Difference between revisions of "RU/kb/00000544"
Line 21: | Line 21: | ||
* В {{MSE}} функции, подобные '''SUM''' и '''AVERAGE''', игнорируют логические значения; в {{IopC|1}} они — числа и поэтому учитываются. Это вряд ли вызовет трудности, потому что обычно не предполагается складывать логические значения. | * В {{MSE}} функции, подобные '''SUM''' и '''AVERAGE''', игнорируют логические значения; в {{IopC|1}} они — числа и поэтому учитываются. Это вряд ли вызовет трудности, потому что обычно не предполагается складывать логические значения. | ||
− | * В {{IopC|1}} '''SUMPRODUCT(A1:A6=“красный”; B1:B6=“большой”)''', подсчитывает число больших красных элементов. В {{MSE}} логические результаты, возвращаемые ''A1:A6=“красный”'' и ''B1:B6=“большой”'' игнорируются функцией '''SUMPRODUCT'''; логические значения преобразуются, если ожидается число, таким образом <br />'''SUMPRODUCT(1*(A1:A6=“красный”); 1*(B1:B6=“большой”))''', <br />'''SUMPRODUCT(0+(A1:A6=“красный”); 0+(B1:B6=“большой”))''', <br />'''SUMPRODUCT(-(A1:A6=“красный”); -(B1:B6=“большой”))''' или <br />'''SUMPRODUCT((A1:A6=“красный”)*(B1:B6=“большой”))''' все работают в обеих электронных таблицах. | + | * В {{IopC|1}} '''SUMPRODUCT(A1:A6=“красный”; B1:B6=“большой”)''', подсчитывает число больших красных элементов. В {{MSE}} логические результаты, возвращаемые ''A1:A6=“красный”'' и ''B1:B6=“большой”'' игнорируются функцией '''SUMPRODUCT'''; логические значения преобразуются, если ожидается число, таким образом <br />'''SUMPRODUCT(1*(A1:A6=“красный”); 1*(B1:B6=“большой”))''', <br />'''SUMPRODUCT(0+(A1:A6=“красный”); 0+(B1:B6=“большой”))''', <br />'''SUMPRODUCT(-(A1:A6=“красный”); -(B1:B6=“большой”))''' или <br />'''SUMPRODUCT((A1:A6=“красный”)*(B1:B6=“большой”))''' <br />все работают в обеих электронных таблицах. |
<section end=toc /> | <section end=toc /> | ||
Latest revision as of 14:08, 5 October 2011
В InfraOffice.pro Calc, логические значения представлены числами: 0 — FALSE, и 1 — TRUE. Введя в ячейку 1, и, затем (выполнив Формат → Ячейки...), выбрав формат «Логический», можно отобразить число в виде ИСТИНА (TRUE).
Любая функция Calc, возвращающая логический результат, фактически возвращает число 0 или 1. Любая формула ячейки Calc, возвращающая логический результат, говорит ячейке показывать ЛОЖЬ (FALSE) или ИСТИНА (TRUE) — если ячейка имеет формат по умолчанию (общий). Например =TRUE() возвращает значение 1, которое отображается как ИСТИНА; если изменить формат на числовой, она отобразится как 1.
Любая функция Calc, выполняющая проверку на логический результат, фактически проверяет, что значение оценивается как число 0. 0 воспринимается как FALSE, а что-либо ещё воспринимается как TRUE.
Например, когда ячейка A1 содержит «яблоко», NOT(A1) возвращается TRUE, потому что «яблоко» оценивается как 0 = FALSE.
Другой пример: NOT(57) возвращает FALSE, потому что 57 оценивается как TRUE.
MS Excel, в противоположность, имеет отдельный тип для логических значений — они не числа, но иногда преобразуются к числам. Поэтому, если необходима совместимость:
- В MS Excel функции, подобные SUM и AVERAGE, игнорируют логические значения; в Calc они — числа и поэтому учитываются. Это вряд ли вызовет трудности, потому что обычно не предполагается складывать логические значения.
- В Calc SUMPRODUCT(A1:A6=“красный”; B1:B6=“большой”), подсчитывает число больших красных элементов. В MS Excel логические результаты, возвращаемые A1:A6=“красный” и B1:B6=“большой” игнорируются функцией SUMPRODUCT; логические значения преобразуются, если ожидается число, таким образом
SUMPRODUCT(1*(A1:A6=“красный”); 1*(B1:B6=“большой”)),
SUMPRODUCT(0+(A1:A6=“красный”); 0+(B1:B6=“большой”)),
SUMPRODUCT(-(A1:A6=“красный”); -(B1:B6=“большой”)) или
SUMPRODUCT((A1:A6=“красный”)*(B1:B6=“большой”))
все работают в обеих электронных таблицах.