我有一个有三个标准的数据表。成本中心、员工级别和工作国家。这张纸看起来有点像这样
Australia China Hong Kong India
All L10 10,000 10,001 10,003 10,004
All L11 9,000 9,001 9,002 9,003
C9620 L10 10,005 10,006 10,007 10,008
C9620 L11 9,005 9,006 9,007 9,008我有50个国家,100+成本中心,每个成本中心10个级别。
我正在将数据移动到列形式中列出的另一种格式中。薪资栏有我的公式,只适用于所有国家的成本中心“所有”。我相信问题在成本中心。
Country Cost Center Level Salary
Australia All L10 10,000
Australia C952 L10 #N/A
Austraila C845 L10 #N/A
China All L10 10,001
China C952 L10 #N/A
China C845 L10 #N/A我用数组公式来得到我的答案。-Median Salary by Cost Center'!$B$14:$B$1682 = Cost Centers -Logic Board'!$G14 = Cost Center -Logic Board'!$H14 = Employee Level -Median Salary by Cost Center'!$C$13:$AR$1698 = All Data -Logic Board'!$E14 = Country -Median Salary by Cost Center'!$C$13:$AT$13 = Country
=VLOOKUP(IF('Median Salary by Cost Center'!$B$14:$B$1682='Logic Board'!$G14,'Logic Board'!$H14,"NA"),'Median Salary by Cost Center'!$C$13:$AR$1698,MATCH('Logic Board'!$E14,'Median Salary by Cost Center'!$C$13:$AT$13,0),FALSE)
预期的结果是薪资列一直被填充。目前,它只为成本中心“所有”工作。所有其他成本中心都想出了一个#N/A
任何想法都将不胜感激。
发布于 2019-07-31 02:42:28
我同意@teylyn的观点,最有效的方法是使用Power Query来解除表的枢轴以获得所需的结果。基于公式的答案可能会减慢你的计算速度,因为你有很多数据需要转换。
还有一种方法可以使用数据透视表和数据透视图向导,通过从文本到列函数的一些帮助,将原始表转换为所需的表。
下面是如何在不同版本的:数据透视表和PivotChart向导在Excel 2007、2010、2013、2016、2019和365中的位置中找到数据透视表和数据透视图向导的说明
请参见转换表的下列步骤:

干杯:)
发布于 2019-07-30 21:40:27
最简单的方法可能是没有公式。使用Power Query,您可以只需单击几下就可以转换表。
将列标签添加到前两列,然后将表添加到Power Query编辑器。选择前两列,然后在转换带上使用Un透视>其他列命令。重新命名、重新排列和排序数据,并将其加载到工作表中。

如果不想使用Power Query,则可以使用此公式。请参考屏幕截图中的单元格地址并进行相应的调整。请注意,此公式不应与整个列引用一起使用,否则它将变得非常慢。
=INDEX($C$2:$F$5,MATCH(J2&K2,INDEX($A$2:$A$5&$B$2:$B$5,0),0),MATCH(I2,$C$1:$F$1,0))

https://stackoverflow.com/questions/57280121
复制相似问题