如何在数据表查找某个值(如某1的电费),然后返回其对应的A列值"-"VLOOKUP和HLOOKUP不行它要求值都同在一列或同一行.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 13:30:23
如何在数据表查找某个值(如某1的电费),然后返回其对应的A列值"-"VLOOKUP和HLOOKUP不行它要求值都同在一列或同一行.
如何在数据表查找某个值(如某1的电费),然后返回其对应的A列值"-"
VLOOKUP和HLOOKUP不行它要求值都同在一列或同一行.
如何在数据表查找某个值(如某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)))),"")
当遇上有人名重复时,人名对应的同一行中会显示两个或以上的电费数量.