有条件的因子值

时间:2015-12-11 16:20:40

标签: function openoffice-calc

我在OpenOffice中有以下表格:

SO34228017 question example

我需要将第一列中的值乘以0.75,但前提是该值不是0-1。然后,我需要对第二列中自定义算法字符串末尾的值(与Magento插件一起使用)执行相同的操作。

1 个答案:

答案 0 :(得分:0)

有条件地乘以一个值是相当简单的。假设您的“运费价格”列是A列,您可以将此公式放在要显示新值的列中:

=IF(AND(A2<>0;A2<>-1);A2*0.75;A2)

标准IF(This Condition Is True ; Then Do This ; Else Do This Other Thing),其中“此条件”为“A2不等于0且A2不等于-1”。

您可以将某个单元格中的“乘以”值放在公式中,而不是硬键入0.75。如果这样做,请确保将$符号放在列字母和行号之前,这样在复制和粘贴时它们不会更改。无论数据如何,都要将公式复制并粘贴。

用于乘以字符串末尾的值(假设你的“算法”列是B列),如果你只想要这些值:

=IF(AND(A2<>0;A2<>-1);0.75*VALUE(RIGHT(B2;4));0)

相同的IF公式构造,增加了使用RIGHT函数从字符串中拉出最右边的四个字符,将它们从字符串转换为具有VALUE函数的数字,然后进行乘法。

如果您希望字符串末尾的新值,您可以使用帮助列。让我们说计算是在E列中完成的:

=IF(AND(A2<>0;A2<>-1);CONCATENATE(LEFT(B2;LEN(B2)-4);LEFT(E2;4));B2)

如果A2不是0且不是-1,则将B2中的字符串左侧减去4个字符并将其与最左边的4个字符(美元值,小数点和小数点后的两个数字)连接起来在E列中完成的乘法运算。只需重复B2中的字符串。

如果您不需要帮助列,则可以在一个公式中创建字符串:

=IF(AND(A2<>0;A2<>-1);CONCATENATE(LEFT(B2;LEN(B2)-4);LEFT(IF(AND(A2<>0;A2<>-1);0.75*VALUE(RIGHT(B2;4));"");4));B2)