【问题标题】:EXCEL 2010, vertical search, parse cellEXCEL 2010,垂直搜索,解析单元格
【发布时间】:2014-10-23 15:14:41
【问题描述】:

我在 Excel 2010 中需要垂直搜索方面的帮助。
我有一个包含两张纸的文档,每张纸中都有一个包含数据的表格...

sheet one
A    B     C     D
123  sth   sth   'need to find and copy value from second sheet(key is collumn A); formula here
321
678
845
983

sheet two
A          B        C
123, 321   sth      100 'looking for this value, copy 100 to first sheet to key 123 and also 321
678                 99  'value for key 678 in sheet one
845, 983            82  'value for keys 845 and 983 in sheet one ..

我使用 vlookup(),但是当我在一个单元格中有两个用逗号分隔的值时,它不起作用,我必须手动完成。 是否有类似 vlookup 的函数可以与 left() 和 right() 函数结合使用,还是必须使用更复杂的 VB 宏?
我无法更改这些工作表的布局 ...
谢谢。

【问题讨论】:

    标签: search excel-2010 vlookup


    【解决方案1】:

    在 SEARCH 中使用数组公式?

    {=IF(SEARCH(A1,Sheet1!A:A),Sheet2!D:D)}
    

    稍微更全面的版本:

    {=SUM(IF( NOT(ISERROR(SEARCH(A1,Sheet2!A:A))),Sheet2!D:D))}
    

    正如 Nanashi 所说,您可以将 sum 更改为平均值或任何您喜欢的值来处理多个值

    您需要使用 ctrl+shift+enter 将公式变为数组公式。

    【讨论】:

      【解决方案2】:

      相当老套的解决方案,只使用公式。

      输入Sheet1!C1:

      =IF(COUNTIF(Sheet2!$A:$A,Sheet1!$A1)=1,VLOOKUP(Sheet1!$A1,Sheet2!$A:$C,3,FALSE),SUMIF(Sheet2!$A:$A,"*"&Sheet1!$A1&"*",Sheet2!$C:$C))
      

      示例结果:

      Sheet2

      Sheet1

      免责声明:

      这种方法很容易破解。一种可能的失败是,如果Sheet2 中的 ID 之间没有空格,则公式将失败。此外,如果 ID 在Sheet2 中重复出现,它们将由于SUMIF 的使用而被添加。一种解决方法是改用AVERAGEIF

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多