gpt4 book ai didi

excel - Excel 2010 中的二维查找

转载 作者:行者123 更新时间:2023-12-02 16:15:32 25 4
gpt4 key购买 nike

我有一个与此类似的数据

表格包含多个行标签标题(堆叠行标签):

                     |20%     |30%  |
|25/01/11 |buy |1 |1.1 |
| |sell |0.8 |0.9 |
|27/01/11 |buy |1.02 |1.03 |
| |sell |1.1 |1.2 |
|01/02/11 |buy |1.05 |1.07 |

我正在尝试使用查找公式根据交易日期和类型检索数据:说出 2011 年 1 月 27 日卖出出价 30% 的乘数是多少任何帮助我将不胜感激!

更新

必须有一个解决方案来解决此问题,而无需添加用于查找的唯一列...Excel 2000 有一种方法,通过使用自然语言公式来实现此目的,正如您可以从本文的方法 2 的示例 2 中看到的那样 - support.microsoft.com/kb/275170

更新2

有可能吗?日期不仅会有间隙,而且还会跳过一两天......就像示例中一样

更新3

enter image description here

到目前为止发布的解决方案存在问题:

如果查找日期是 26/01/2011,公式将返回 N/A(在完美的解决方案中,它应该返回最接近的匹配项(向下舍入到上一个日期) - 即,如果查找日期在列中不可用那么应该返回之前最接近的日期)

堆叠行标题意味着我将行排列成这样的组(日期和类型是行标题) enter image description here

最佳答案

如果F1包含所需日期,F2为%,F3“买入”或“卖出”

=INDEX($C:$D,MATCH(F1,$A:$A,0)+IF(F3="sell",1,0),MATCH(F2,$C$1:$D$1,0))

考虑所有三个因素

编辑

根据您的编辑,要获得您想要的内容,您只需将精确匹配参数从 0 更改为 1。来自 Excel 帮助文件

Match_Type: 1 or omitted MATCH finds the largest value that is less than or equal to lookup_value. The values in the lookup_array argument must be placed in ascending order

所以公式变成

=INDEX($C:$D,MATCH(F1,$A:$A,1)+IF(F3="sell",1,0),MATCH(F2,$C$1:$D$1,0))

此外,如果您想对 % 值执行相同的操作,请对其他 MATCH 执行相同的操作

=INDEX($C:$D,MATCH(F1,$A:$A,1)+IF(F3="sell",1,0),MATCH(F2,$C$1:$D$1,1))

关于excel - Excel 2010 中的二维查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com