Функция COUNTIF - проблема (или фича?)

Автор ArVik, 24 января 2013, 14:37

0 Пользователи и 1 гость просматривают эту тему.

ArVik

Дано: таблица на 1000 строк с данными о погоде, производится подсчет количества дней, когда дул южный ветер (обозначение - буква Ю) с помощью функции COUNTIF

=COUNTIF(E2:E1001;"Ю")

Результат оказывается примерно в три раза больше ожидаемого. После выяснения и проверки прихожу к выводу, что в подсчет идут дни и с юго-западным ветром (ЮЗ), и с юго-восточным (ЮВ). То есть при проверке условия ищется не совпадение ячейки и символа, а вхождение символа в содержимое ячейки.

Пробовал решать задачу в OpenOffice, LibreOffice, Lotus Symphony - эффект одинаковый. Отключение регулярных выражений не дает эффекта (да и в них ли дело?).
В MS Excel и GoogleDocs все нормально работает, все решается.

Что скажете?

[вложение удалено Администратором]

JohnSUN

Цитата: ArVik от 24 января 2013, 14:37
Что скажете?
Ну, для начала, "Добро пожаловать на форум!"  ;D
А по сути вопроса: глянь в Сервис-Параметры...

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

ArVik

О, как!
Главное, я же там смотрел, но почему-то не дошло...
Спасибо!
Здесь здорово, буду теперь постоянным читателем. :)

bormant

#3
... а если [v] Разрешить регулярные выражения в формулах, то можно использовать
=COUNTIF(E2:E1001;"^Ю$")
Автору на яд. Поддержать форум.

coman

Тут нашёл, как посчитать значения, оканчивающиеся точкой http://joyit.ru/ubuntu/28-libreoffice-openoffice-calc-countif.html

83ross83

Всем доброго дня!
Я столкнулся с обратной проблемой. Мне с помощью COUNTIF() необходимо посчитать количество строк в диапазоне, в которых содержится определённый текст. Проверил, если снять галочку, то всё работает. Только я привык, что у меня COUNTIF() работает в режиме "Условия поиска = и <> должны распространяться на всю ячейку". Подскажите пожалуйста функцию, которая ищет есть ли определённый тест в ячейке, либо как сделать это с помощью регулярных выражений.
Как-то так.
=countif(диапазон;содержит(текст))

VlhOwn


JohnSUN

#7
Может, в этом случае лучше использовать SUMPRODUCT()? Ну,то-то вроде
=SUMPRODUCT(NOT(ISERR(FIND(текст;диапазон))))или
=SUMPRODUCT(NOT(ISERR(SEARCH(текст;диапазон))))
Можно,конечно, и обычный SUM() в формуле массива
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне