我有这个数据表,我想要另一个结果表。当我写州名时,结果表可以显示所有公司的数据1,数据2和数据3。我尝试使用vlookup,但因为有合并的单元格,所以公式只显示第一行。我该如何解决问题?
1 回答
如果我理解正确,您希望设置一个查找范围,以便在您进入特定状态时,您可以看到所有在该状态下拥有数据的公司的数据。这是一种方法。
您需要做的第一件事是在原始表的左侧设置三列:
- 第一列包含与每行数据相关的状态名称
- 第二个是统计每个状态下数据行数的索引
- 第三个组合前两列,为表中的每一行生成一个唯一的键值。
这三列中的所有值都可以通过公式分配。下图显示了第一行单元格的公式,A9:C9
然后向下复制到第 27 行。
下一步是布置新表格,Q8:U27
在我的示例中它位于单元格中。
关于设置有几点需要注意。首先,将显示的状态输入到Q9
我已用黄色突出显示的单元格中。在表的左侧,在 P 列中,我输入了从 1 到 19 的项目编号,这将是构造查找的键值所必需的。查找公式本身在单元格中R9:U27
;在图片中,显示了第一行 ( R9:U9
) 的公式(然后将它们向下复制到第 27 行)。
值得花点时间更仔细地查看其中一个查找。这是单元格“R9”中第一个公司名称的公式。
=IFERROR(VLOOKUP($Q$9&$P9,$C$9:$N$27,4,0),"")
VLOOKUP
依次查看每个参数,将$Q$9&$P9
单元格中的州名称Q9
与项目编号(在本例中为 1)连接起来,产生查找值“California1”。查找表被定义为范围$C$9:$N$27
- 该范围的 C 列是查找值所匹配的内容。第三个参数是在查找匹配时要从中返回值的列。这里的数字 4 对应于原表的公司名称栏。最后,最后一个参数为 0(或等效的 FALSE),表示需要完全匹配。
最后,VLOOKUP
函数被包裹在里面IFERROR
。这#N/A
会捕获在未找到匹配项时将返回的内容,并将其替换为空字符串 ("")。