首页 > 解决方案 > 以近似匹配为条件的 GoogleSheet 值搜索

问题描述

希望您无论身在何处都能应对禁闭。

我在执行 GoogleSheet 操作时遇到了一些困难,并且在网络上找不到任何合适的解决方案。

我的目标是比较两个单独表中的列中的值(十进制数)(我将调用表 1 列 A 和表 2 列 C)并在第二个表的另一列(表 2 E 列)中获取相应的单元格值)。此外,搜索还以两个表(表 1 B 列和表 2 D 列)中值的对应日期(月份)为条件。我在这里提出了一个简单的 INDEX(MATCH()) 公式,该公式应用于表 1 表的所有行:

=index(table2!A:E;match(A1&month(B1);table2!C:C&month(table2!D:D);0);5)

扭曲的是,A 和 C 中的值有时并不完全相同,它们的小数点可能略有不同,但我仍然希望匹配工作。我尝试STDEV(X;Y)<0,1在 INDEX(MATCH()) 内部使用或使用这种公式的方法,IF(AND(X<=Y+0,1;X>=Y-0,1)但没有成功。

请让我知道您是否对使用两个条件进行有效搜索有任何建议,其中一个条件近似匹配?(如果这也可以做到的话,我对 QUERY 函数有基本的了解。)

希望我已经足够清楚了。非常感谢 !

标签: google-sheetsgoogle-sheets-formula

解决方案


代替 Roundup 和 Rounddown,使用 Round 和 Abs 对我有用。

不能始终如一地工作。

 = index($F$2:$H;match(ROUNDDOWN(-$B2;1)&month($A2);ROUNDDOWN($G$2:$G;1)&month($F$2:$F);0);3)

这对我有用。 =index($F$2:$H;match(ROUND(abs($B2);1)&month($A2);ROUND($G$2:$G;1)&month($F$2:$F);0);3)

看看这是否适用于您的所有数据。如果值可能在您的左表中为负/正,您可能需要包含 if 条件。

如果没有条件,这也可能有效 -

index($F$4:$H;match(ROUNDup(abs($B4);$B$1)&month($A4);ROUNDup(abs($G$4:$G);$B$1)&month($F$4:$F);0);3)

推荐阅读