发布网友
共3个回答
热心网友
建议用VLOOKUP或LOOKUP函数
vlookup和column函数如何结合使用
方法/步骤
vlookup和column函数如何结合使用
请点击输入图片描述
请点击输入图片描述
图下数据表,这里我们根据姓名来返回成绩值
请点击输入图片描述
请点击输入图片描述
首先利用vlookup函数进行数据返回(这里用到绝对引用)
请点击输入图片描述
请点击输入图片描述
如下返回成绩后,用平时普遍的拖动方式无法查询其它科目成绩
请点击输入图片描述
请点击输入图片描述
这里,是因为我们对查询范围和查询条件做了锁定,函数中的序列值无法自动填充
请点击输入图片描述
请点击输入图片描述
我们只需要将vlookup中的2改为column函数
请点击输入图片描述
请点击输入图片描述
随后回车填充数据即可
请点击输入图片描述
请点击输入图片描述
在C2单元格输入以下数组公式,按Ctrl+Shift+Enter组合键结束,然后向下填充公式
=INDEX(A:A,SMALL(IF(B$2:B$200="测试客户",ROW($2:$200),4^8),ROW(A1)))&""
详见附图示例
请点击输入图片描述
注:光标在公式中同时按下Ctrl+Shift+Enter组合键结束。
热心网友
OFFICE2019版本输入一下公式:
=TEXTJOIN(",",,IF(ISNUMBER(FIND(E$2:E$16,B2)),F$2:F$16,""))
按ctrl+shift+enter产生花括号。
如图所示:
热心网友
无法使用通用公式解决任意多个逗号分开的情况,如果真有这样的需求,唯一的方法是使用VBS编程自定义函数,函数把查询区域建立字典,对查询内容按SPLIT分开,查询结果再JOIN返回。
从图上给的例子,最多只有一个逗号,可能有个简化方案:
=IFERROR(VLOOKUP(B3,E:F,2,0), VLOOKUP(LEFT(B3,FIND(",",B3)-1),E:F,2,0) & "," & VLOOKUP(RIGHT(B3,LEN(B3)-FIND(",",B3)),E:F,2,0))