Можно ли иметь сумму текстовых ячеек REPLACE в openoffice.org calc?

У меня есть таблица в Calc, где я вставляю значения в долларах ("$2,50") из другого источника, но иногда они находятся в CAD и отображаются как "C $3,75", поэтому я хотел бы иметь возможность сохранить эти строки, как они есть, и до сих пор быть в состоянии добавить их. Что-то вроде:

=SUM(VALUE(REPLACE(A20:A32;1;3;'')))

или же:

=SUM(VALUE(RIGHT(A20:A32;LEN(A20:A32)-2)))

ни чего явно не работает (REPLACE не берет диапазон). Я долго искал и, похоже, не могу найти способ сделать это. Моей первой мыслью было использовать SUMPRODUCT как-то, но я даже не знаю, как подойти к этому. Я нашел кое-что о массивах, но это в настоящее время выходит за рамки моего понимания.

1 ответ

Решение

Отлично, как это обычно бывает, через несколько минут после того, как вы публично спросите, вы сами найдете ответ. В моем случае проблема заключалась в том, что после ввода:

=SUM(VALUE(RIGHT(A20:A24;LEN(A20:A24)-2)))

Вы должны нажать "Ctrl+Shift+Enter" вместо просто "Enter", когда вы хотите принять формулу. (Это не будет работать в уже введенной формуле, если вы сначала не измените ее, например: добавьте пробел, затем удалите пробел, затем нажмите "Ctrl+Shift+Enter", чтобы принять изменения). Это приводит к тому, что формула оценивается как массив, который можно увидеть в предварительном просмотре формулы ячейки, где openoffice показывает ее как:

{=SUM(VALUE(RIGHT(A20:A24;LEN(A20:A24)-2)))}

Хотя, когда вы редактируете его, он удаляет {}. Вот и все, просто нажмите "Ctrl+Shift+Enter" вместо "Enter", и это сделает OpenOffice счастливым. Надеюсь, это поможет кому-то там.


ПРИМЕЧАНИЕ: кажется, это работает только с RIGHT() и не REPLACE() по какой-то причине, если вы знаете, почему (или как заставить это работать), пожалуйста, дайте мне знать.

Это работает, хотя:

=SUMPRODUCT(VALUE(REPLACE(A17:A18;1;3;'')))

Нет "Ctrl+Shift+Enter" не требуется.

Другие вопросы по тегам