google-sheets - 查找未排序数组之间的匹配项并检索找到的匹配项的对应值
问题描述
我有两个数据透视表(称为 1 和 2),分别包含当前和前一天的期权数据。我使用这些表中的数据组合进行了几次计算,在所有情况下,匹配键都是期权合约(执行价)价格。
我试图解决的问题发生在期权执行合约每天都不相同时。例如,可以以以前不存在的新价格引入合约(或相反——当不再向市场提供的合约被逐日删除时)。这两种情况都会导致表行数据之间出现偏移。
使用 INDEX 和 MATCH 似乎是一个可行的解决方案,其中当日执行价格是匹配的关键。如果两个表中都存在该键,则打印相应的当前和前一天值并将此输出用于比较公式。
我在这里创建了一个包含简化测试数据的文件。列 GI 包含 INDEX MATCH 语句,应该说明我需要在输出方面完成什么,并且我已经突出显示了受合同创建的行偏移量影响的行每天都不相同。
我尝试了几种解决方案;这不是我的驾驶室,需要一些帮助。谢谢
解决方案
从逻辑上讲,使用最新数据是有意义的。
如果您的公式必须依赖于单个值进行某种比较。
您在 V 列中使用的公式是
=IF(OLD_STRIKE=NEW_STRIKE,OLD_STRIKE,FALSE)
我建议,如果您需要进行比较,最近的输入很可能是最正确的。所以你可以使用
=IF(OLD_STRIKE=NEW_STRIKE,OLD_STRIKE,NEW_STRIKE)
另一种选择是对两者进行平均,我不建议这样做,因为如果一夜之间发生了剧烈变化,或者数据中存在某种异常值(如流浪 0),它可能会丢弃您的数据。但无论哪种方式都是该选项。
=IF(OLD_STRIKE = NEW_STRIKE, OLD_STRIKE, AVERAGE(OLD_STRIKE, NEW_STRIKE))
推荐阅读
- teradata - 当标识列定义为 GENERATED BY DEFAULT...NO CYCLE 时,Teradata 是否会重用值?
- javafx - 从 AnchorPane 到 AnchorPane 的距离相同
- ios - 如何在 Xamarin Forms iOS 自定义渲染器中获取要换行的文本并在下方添加另一行?
- r - Rmarkdown文件成功编织为PDF,但从R调用时出错
- javascript - Ajax JQuery html不使用功能
- javascript - Javascript如何在创建数组以从不同函数访问时不使用全局变量
- github - 如何使 FindMyPackage.cmake 模块回退到下载?
- php - 如何避免使用 PHP 抓取 Instagram 时出现 503 错误?
- android - 无法在 android(Java) 中传递有关先前活动的数据
- php - 在 000webhost 上编辑、删除、上传有时工作有时不是 php