OpenOffice — Объединение нескольких функций — Подстрока

У меня есть комбинация функций, которые я хочу запрограммировать в OpenOffice для поиска определенной подстроки. Вот что я получил:

=SUMIF(C3:C130;(LEFT(C3:C130;6)) = "String"; D3:D130)

Чтобы объяснить словами: сложите сумму, если область C3:C130 содержит строку «String» в первых 6 буквах строки. Числа для суммы находятся в D3:D130.

Почему-то я не могу придумать решение прямо сейчас. Я думаю, что мне не хватает какой-то функции «ЕСЛИ «Строка» равна «Строке»». Не могли бы вы указать мне правильное направление, пожалуйста? Очень признателен!

edit01: Я только что еще раз просмотрел функцию "ЛЕВАЯ" и, видимо, ошибся и в ней.

Как мне попросить функцию проверить строку на наличие значения "String" как часть более длинного текста?


person theHubi    schedule 26.06.2015    source источник


Ответы (1)


Во-первых, убедитесь, что для формул включены регулярные выражения: открыть меню Tools -> Options -> OpenOffice Calc -> Calculate -> General Calculations; проверить "Enable regular expressions in formulas".

Теперь вы можете изменить формулу следующим образом:

=SUMIF(C3:C130; "^String.*"; D3:D130)

Регулярное выражение ^String.* соответствует каждой ячейке, начинающейся с String, используя ^ для сопоставление позиций. Последняя часть выражения .* соответствует каждому символу, следующему за String, если таковой имеется.

person tohuwawohu    schedule 27.06.2015
comment
Спасибо, это именно то, что я искал. Я знаю заполнители по большей части, но они, похоже, не работают. Спасибо за помощь! - person theHubi; 28.06.2015