在excel中IFERROR(VLOOKUP(A40,工单城市站数据透视表!AS:AT,2,0),“”)只能读取出现一次的A40,当A40在工单城市站数据透视表!AS:AT中出现两次时,想要读取两次,在excel中如何实现
时间: 2024-09-28 20:12:18 浏览: 43
在Excel中,如果你想让`VLOOKUP`函数返回A40在工单城市站数据透视表中所有匹配项的值,而不仅仅是第一次出现的,你可以使用数组公式结合`COUNTIF`函数来解决这个问题。这里提供一种方法:
假设你想查找A40在范围`工单城市站数据透视表!AS:AT`中所有出现的情况,并返回对应的所有值,可以尝试下面的公式:
```excel
=IFERROR(IF(COUNTIF('工单城市站数据透视表!AS:AT', A40) > 1,
INDEX('工单城市站数据透视表!AS:AT', MATCH(ROW(),从小到大排序后的序数数组)),
VLOOKUP(A40, '工单城市站数据透视表!AS:AT, 2, 0)),"")
```
步骤说明:
1. 将上述公式复制到一个新的单元格,记得先选中该单元格然后按Ctrl + Shift + Enter键输入,因为这是一个数组公式。
2. `COUNTIF('工单城市站数据透视表!AS:AT, A40)`计算A40在目标区域出现的次数。
3. 如果次数大于1,则使用`MATCH`函数找到当前行在排序后的所有匹配行的序数(从小到大),再用`INDEX`函数按序返回对应的值。
注意:
- 输入公式后,如果看到的是`=}`而不是对齐的`{}`,说明需要确认是否是以数组形式输入。
- 这种方法可能会导致效率降低,特别是对于大数据集,因为它会遍历整个列来查找匹配。如果性能是个问题,可能需要考虑其他数据库查询工具或者优化数据结构。
阅读全文