使用索引/匹配公式跳过空白单元格

时间:2019-08-15 01:23:31

标签: excel excel-formula

我有几个包含100 / 1,000行的数据库,其中的信息显示如下:

https://i.stack.imgur.com/CAye9.png

我需要将与每个公司相关的所有信息汇总到一行;我无法执行简单的“排序和筛选”,因为几乎每个公司的详细信息级别都不一样,因此信息最终会出现错误的行。看来最好的选择是索引/匹配公式,但是我当前的公式

=INDEX(Sheet1!B:B,MATCH(Sheet2!$A2,Sheet1!$A:$A,0) 

对于第一个索引/匹配结果为空白的任何结果返回零:

https://i.stack.imgur.com/aP9MO.png

如何编写公式以使其跳过空白单元格?我希望不必使用VBA,但是任何建议都将不胜感激。

4 个答案:

答案 0 :(得分:0)

您可以将现有公式包装在IF函数中

=IF(Sheet2!$A2<>"",INDEX(Sheet1!B:B,MATCH(Sheet2!$A2,Sheet1!$A:$A,0),"")

答案 1 :(得分:0)

我通常会为此使用“转到特殊”功能。

以下面的示例数据为例。

enter image description here

我将在第一个公式中输入'= IF(B2 <>“”,C3,“”)'。复制该单元格(Ctrl + C),然后从C2到C7中选择单元格,并使用“转到特殊字符”以仅在“主页”选项卡下的“编辑”>“查找和选择”>“特殊字符”下选择“空白单元格”。只需通过Ctrl + V将公式粘贴到所有空白单元格即可。您将在第一行的每一行中获得每个公司的所有信息。

希望这会有所帮助。

答案 2 :(得分:0)

或者,

因为匹配总是返回找到的第一个值。

所以在单元格G2中, = INDEX(Sheet1!G:G,MATCH(Sheet2!$ A2,Sheet1!$ A:$ A,0)+ COUNTA($ G $ 1:G $ 1)-1)

或者通过匹配标头以偏移单元格。

答案 3 :(得分:0)

第一步:

使用数据创建数据透视表,然后在数据透视选项中为空白单元格选择0。将所有字段复制到行区域...

第二步:

应用下图所示的条件格式以删除(空白)单元格。

enter image description here

注意:这不是一个可靠的解决方案,但对我有用。