У меня есть таблица в 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 ответ1

0

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

=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" не требуется.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .