在表2中有两个相同的名称是”铅笔“,但要分别提取表1的"2B"和“3B",用vlookp这个函数好像不能实现,提取出来只能显示表1的"2B"
$2:$10,这个数中的10为什么不能随“表1”插入行时增加呢?”表1!A$2:A$10“中的10都得行的
追答表1!A$2:A$10是引用,会随着插入、删除行变化,但行号函数ROW内不是引用区域,只是返回行号,不会随之改变。
所以这种类型不支持插入、删除行的用法,可以将区域放大点,比如放大到1000:=INDEX(表1!B:B,SMALL(IF(表1!A$2:A$1000=A1,ROW(A$2:A$1000)),COUNTIF(A$1:A1,A1))),
要增加表1的记录时,可以直接在后面追加,表2可以按顺序、也可以不按顺序提取。
谢谢你,还有个问题,就是如果“表2”名称列输入一个“表1”里面没有的名称,用了公式后会显示乱码,能否让它显示为空白而不是乱码
追答看你截图中的版本,可以改成:
=IFERROR(INDEX(表1!B:B,SMALL(IF(表1!A$2:A$1000=A1,ROW($2:$1000)),COUNTIF(A$1:A1,A1))),"")
数组公式,即同时按住Ctrl+Shift+Enter结束公式编辑,会自动生成一对“{}”,向下填充。