问题
Python草堂 群的一位群友问:excel 数据表,用 vlookup 函数怎样实现多条件查询多值,多值排到一行上。如下图所示:
左边是数据清单,希望根据两个条件:产品、日期,查询数量,列到一行的各列中。
这是一个比较奇特的要求,实际上我觉得,按照产品和日期排序,不就行了吗?
但既然有人提出来,还是研究了一下,没有什么技术,记录下来,备忘吧!
Excel 内置函数多条件查询多值并转置到行
vlookup 实现比较困难,结合 index, small, if 函数比较完美的实现了,直接上公式:
=IFERROR(INDEX($C$2:$C$20,SMALL(IF($E2&$F2=$A$2:$A$20&$B$2:$B$20,ROW($A$2:$A$20)-ROW($A$2)+1),G$1)),"")
公式录入后,要按 ctr + shift + enter,以数组公式的形式提交。
需要示例工作簿的可以到 python草堂(457079928) 群下载。
python实现
直接上图吧:
相关的示例数据和.ipynb文件也可以到python草堂下载。
End