首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果与数组匹配,则为Vlookup

如果与数组匹配,则为Vlookup
EN

Stack Overflow用户
提问于 2019-07-30 21:14:21
回答 2查看 66关注 0票数 0

我有一个有三个标准的数据表。成本中心、员工级别和工作国家。这张纸看起来有点像这样

代码语言:javascript
复制
                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个级别。

我正在将数据移动到列形式中列出的另一种格式中。薪资栏有我的公式,只适用于所有国家的成本中心“所有”。我相信问题在成本中心。

代码语言:javascript
复制
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

任何想法都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-31 02:42:28

我同意@teylyn的观点,最有效的方法是使用Power Query来解除表的枢轴以获得所需的结果。基于公式的答案可能会减慢你的计算速度,因为你有很多数据需要转换。

还有一种方法可以使用数据透视表和数据透视图向导,通过从文本到列函数的一些帮助,将原始表转换为所需的表。

下面是如何在不同版本的数据透视表和PivotChart向导在Excel 2007、2010、2013、2016、2019和365中的位置中找到数据透视表和数据透视图向导的说明

请参见转换表的下列步骤:

干杯:)

票数 1
EN

Stack Overflow用户

发布于 2019-07-30 21:40:27

最简单的方法可能是没有公式。使用Power Query,您可以只需单击几下就可以转换表。

将列标签添加到前两列,然后将表添加到Power Query编辑器。选择前两列,然后在转换带上使用Un透视>其他列命令。重新命名、重新排列和排序数据,并将其加载到工作表中。

如果不想使用Power Query,则可以使用此公式。请参考屏幕截图中的单元格地址并进行相应的调整。请注意,此公式不应与整个列引用一起使用,否则它将变得非常慢。

代码语言:javascript
复制
=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))

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57280121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档