OpenOffice Calc - 用于比较的复杂公式

Posted

技术标签:

【中文标题】OpenOffice Calc - 用于比较的复杂公式【英文标题】:OpenOffice Calc - complicated formula for comparison 【发布时间】:2012-05-16 20:05:57 【问题描述】:

我基本上有 4 个列表:为方便起见,称它们为 SKU-A、Price-A、SKU-B、Price-B

skuA 是一个包含大约 1000 个值的列表,skuB 是一个包含大约 20000 个值的列表。我需要将 skuA 中的每个商品与 skuB 进行比较,如果 skuB 的价格不是 9876.54,则使用 skuB 价格,否则使用 skuA 价格,或者如果没有列出价格,则使用 9876.54。

我对公式了解很多,但是比较两个单独的列表完全让我一头雾水,因为我一生都无法获得 vlookup 或正常工作的东西;有什么建议吗?

两个 sku 列表都是无序的,因此 skuA:300 可能不是 skuB:300,它可能是 skuB:10、skuB:9850 或介于两者之间的任何位置

如果更简单,我也可以在 excel 中完成。

【问题讨论】:

9876.54 是表示标志的“幻数”?如果是这种情况,有没有办法解决这个问题?如果是这样的话,那将是一场维护噩梦。 是的,9876.54 实际上是一个不能真正调整的编码片段,当价格是这样时,我们的网站上有 javascript 可以改变一堆东西。实际上,这个数字可能会改变,但由于我们的价格百分比断点和数量的工作方式,基本上不可能“意外”获得这个数字 对。这是一个风险回报的事情。一旦你的“价格”基于它的价值意味着除了“价格”之外的其他东西,你就会引入风险,即 9876.54 将成为未来的合法价格。如果您的标志是单独存储的,那么您的价格实际上始终是价格。 可能,我们只是小心翼翼地确保没有任何东西被定价 - 在一个拥有大约 20,000 件商品的商店中,并且该标志很容易出现在其中 75% 以上的商品上,这是“简单”的方法 -我很想通过更聪明的方式来做,但是唉,我们的平台不支持 php 或任何东西,只有 javascript > 【参考方案1】:

也许这会起作用(仅限 Excel 2007 或更高版本):

使用此价格 (F2) 中的公式为

=IFERROR(IF(VLOOKUP(A2,H:I,2,FALSE)=9876.54,B2,VLOOKUP(A2,H:I,2,FALSE)),9876.54)

temp1、temp2 和 temp3 不是必需的,但本着“展示我的工作”的精神,我将它们保留在其中,以便您了解我是如何找到解决方案的。

temp1=VLOOKUP(A2,H:I,2,FALSE)

temp2=IF(C2=9876.54,B2,C2)

temp3=IFERROR(D2,9876.54)

【讨论】:

谢谢,实际上我今天早上早些时候发现整个概念不起作用,因为混合了另一个变量会禁止它,但是非常感谢您的帮助,因为我确信这一点将来会出现!

以上是关于OpenOffice Calc - 用于比较的复杂公式的主要内容,如果未能解决你的问题,请参考以下文章

用于 Libreoffice-calc 和 Openoffice-calc 的 Python“Hello World”[关闭]

用于 CSV 保存的 openoffice calc 宏

OpenOffice Calc Javascript 函数

Openoffice-calc 无法更改列的日期格式

LibreOffice Calc / OpenOffice Calc / Excel:如何显示负持续时间?

最佳列宽 OpenOffice Calc