【问题标题】:Find value in 2D array and return value in adjacent cell在二维数组中查找值并在相邻单元格中返回值
【发布时间】:2012-11-12 16:23:05
【问题描述】:
**Sheet 1**

ColumnA    B    C      D        E      F       G      H
------------------------------------------------------------
EURUSD  1.2765  1  ACCOUNT624   2  account125  1  account834 
EURCAD  1.01    2  Account49    3  account45   2  account67  
EURGBP  0.78    2  Account777   1  account45   2  account678 



**Sheet 2**
ColumnA    B         C             D 
---------------------------------------
EURUSD 1.2765     Account 624      ?
EURUSD 1.2765     Account 125
EURUSD 1.2765     Account 834
EURCAD 1.01       Account49
EURCAD 1.01       Account45

在上面的表格 1 中,每行显示货币交易以及进入每个帐户的数量。在表格 2 中,每行仅显示 1 个帐户。我想用表 1 中的数量填充表 2 中的 D 列。

把它分成几个步骤,我想:

  1. 在 Sheet2!B1 在 sheet1 中查找价格
  2. 在 sheet1 的同一行中,找到与 Sheet2!C1 包含相同帐户的单元格
  3. 在匹配帐户的单元格左侧的单元格中返回值

我以前使用过索引/匹配,但无法让它用于二维数组。任何人都可以帮助一个公式?提前致谢!

【问题讨论】:

    标签: excel excel-formula excel-2010


    【解决方案1】:

    这并不漂亮,但使用您的要求 - 根据 B 列中的价格找到匹配项(我会说您更安全的选择是使用货币转换“EURUSD”,例如,因为如果 2 种货币有相同的转换率??),将此公式粘贴到第二张表的单元格 D1 中:

    =OFFSET(Sheet1!$B$1,MATCH(B1,Sheet1!$B$1:$B$3,0)-1,MATCH(C1,OFFSET(Sheet1!$B$1,MATCH(B1,Sheet1!$B$1:$B$3,0)-1,0,1,10),0))
    

    然后您可以根据需要将其向下拖动/更改范围。

    (PS - 我还假设您在 sheet2 上犯了一个错误,并且在两张表中输入的帐号将完全相同)

    【讨论】:

    • @John Bustos 谢谢。它几乎可以工作,只是需要一些调整。首先,这是将单元格中的值返回到右侧而不是左侧。也很抱歉我不是很清楚,我可以有几十个帐户,所以我希望它可以阅读到 EZ 栏。请问可以修改吗?
    • =OFFSET(Sheet1!$B$1,MATCH(B1,Sheet1!$B$1:$B$3,0)-1,MATCH(C1,OFFSET(Sheet1!$B$1,MATCH(B1,Sheet1!$B$1:$B$3,0)-1,0,1,150),0)-2) - 应该这样做
    猜你喜欢
    • 2015-01-24
    • 2014-07-27
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多