excel查询符合相同条件的第一个非空值 5

想要查询生成得到F列的结果,求大神指教,给出公式并解释下,最好有简单点的公式,谢谢!... 想要查询生成得到F列的结果,求大神指教,给出公式并解释下,最好有简单点的公式,谢谢! 展开
 我来答
laorenjia1987
2018-02-03 · TA获得超过2766个赞
知道大有可为答主
回答量:1734
采纳率:73%
帮助的人:437万
展开全部
可以在F1里输入以下公式后下拉
=INDEX($C$1:$C$9,SUMPRODUCT(MATCH(1,($B$1:$B$9<>"")*($A$1:$A$9=E1),0)))
注意,由于牵涉到数组公式,所以如果源数据很多,可能会比较卡
--------------
以下简单说明:match找到第一个符合条件的位置(match后面的那个1不是第一个意思哦,1代表符合我要的条件,0代表不符合我要的条件),然后index返回这个位置对应对的c列的结果
sumproduct是辅助数组公式用的,可以忽略,照着写就是了
追问
还想请教一个问题,如果李四对应的B列也有信息,能返回第二个非空值吗?
还有如果数据有上万条还能流畅使用吗?
追答

“如果李四对应的B列也有信息,能返回第二个非空值吗?”

这句话不太明白

如果上万条,会比较卡的,建议加辅助列处理一下

  1. 假设D列是辅助列

  2. 在D1输入公式:=A1&";"&--(B1<>"")   并下拉

  3. 在F1输入公式:=INDEX($C:$C,MATCH(E1&";1",$D:$D,0))   并下拉

  4. 这样运算速度会快很多,十万的数据分分钟也能算好

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式