作业帮 > 综合 > 作业

如何在数据表查找某个值(如某1的电费),然后返回其对应的A列值"-"

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 06:22:17
如何在数据表查找某个值(如某1的电费),然后返回其对应的A列值"-"

VLOOKUP和HLOOKUP不行它要求值都同在一列或同一行.
情况一,不会出现人名重复的情况时,J3公式下拉:

=IF(I4="","",INDEX(A:A,SUMPRODUCT((C$4:G$999=I4)*ROW($4:$999))))

或者用这公式也行:
=IF(I4="","",OFFSET(A$1,SUMPRODUCT((C$4:G$999=I4)*ROW($4:$999))-1,))



情况二,对应于可能存在重复人名的情况,J3公式右拉至足够的列再下拉:(数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  结束.)
=IF((COUNT(0/(($C$4:$G$999=$I4)*ROW($4:$999)))>=COLUMN(A1))*($I4<>""),INDEX($A:$A,SMALL(IF(($C$4:$G$999=$I4)*ROW($4:$999),ROW($4:$999)),COLUMN(A1))),"")

如果用的是EXCEL 2007及以上版本,情况二公式精简为:
=IFERROR(IF($I4="","",INDEX($A:$A,SMALL(IF(($C$4:$G$999=$I4)*ROW($4:$999),ROW($4:$999)),COLUMN(A1)))),"")

当遇上有人名重复时,人名对应的同一行中会显示两个或以上的电费数量.