我在 calc 中有一个电子表格,我从其他来源粘贴美元值(“$2.50”),但有时这些值是加元,显示为“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”。