发布网友 发布时间:2022-04-22 01:58
共1个回答
热心网友 时间:2023-05-26 03:15
可以在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列的结果
sumproct是辅助数组公式用的,可以忽略,照着写就是了追问还想请教一个问题,如果李四对应的B列也有信息,能返回第二个非空值吗?
还有如果数据有上万条还能流畅使用吗?
追答
“如果李四对应的B列也有信息,能返回第二个非空值吗?”
这句话不太明白
如果上万条,会比较卡的,建议加辅助列处理一下
假设D列是辅助列
在D1输入公式:=A1&";"&--(B1<>"") 并下拉
在F1输入公式:=INDEX($C:$C,MATCH(E1&";1",$D:$D,0)) 并下拉
这样运算速度会快很多,十万的数据分分钟也能算好