我有几个包含100 / 1,000行的数据库,其中的信息显示如下:
我需要将与每个公司相关的所有信息汇总到一行;我无法执行简单的“排序和筛选”,因为几乎每个公司的详细信息级别都不一样,因此信息最终会出现错误的行。看来最好的选择是索引/匹配公式,但是我当前的公式
=INDEX(Sheet1!B:B,MATCH(Sheet2!$A2,Sheet1!$A:$A,0)
对于第一个索引/匹配结果为空白的任何结果返回零:
如何编写公式以使其跳过空白单元格?我希望不必使用VBA,但是任何建议都将不胜感激。
答案 0 :(得分:0)
您可以将现有公式包装在IF
函数中
=IF(Sheet2!$A2<>"",INDEX(Sheet1!B:B,MATCH(Sheet2!$A2,Sheet1!$A:$A,0),"")
答案 1 :(得分:0)
我通常会为此使用“转到特殊”功能。
以下面的示例数据为例。
我将在第一个公式中输入'= 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)