【问题标题】:Excel 365 Worksheet Array-Formula to Return Values NOT Found?Excel 365 工作表数组公式返回未找到的值?
【发布时间】:2021-04-18 23:29:59
【问题描述】:

什么数组公式将返回出现在另一个列表中的值?

示例: 名为ShortList 的单元格包含(每个单元格一个单词):

How recent  neuroscience    research    points  the way towards defeating   adversarial examples    and achieving   a   more    resilient   consistent  and flexible    form    of  artificial  intelligence

而名为LongList 的单元格包含:

a   about   above   across  and how however i   instead more    neither never   nevertheless    next    no  of  second  several shall   she the towards

这是公式的预期输出:

recent  neuroscience    research    points  way defeating   adversarial examples    achieving   resilient   consistent  flexible    form    artificial  intelligence

我认为它可能涉及、match、xmatch、lookup 或 xlookup。

【问题讨论】:

    标签: excel worksheet-function


    【解决方案1】:

    我想我明白了。这将返回我的问题中的预期结果。

    =FILTER(ShortList, ISNA(MATCH(ShortList, LongList, 0)))
    

    希望看到其他答案。

    【讨论】:

      【解决方案2】:

      当您的 FILTER() 公式运行良好但对于大型数据集时,LET() 可能会给您带来两倍于 Microsoft Documentation 的性能

      =LET(x,A1:A3,y,ISNUMBER(MATCH(x,B1:B10,0)),FILTER(x,y=FALSE))
      

      使用名称管理器试试-

      =LET(x,ShortList,y,ISNUMBER(MATCH(x,LongList,0)),FILTER(x,y=FALSE))
      

      【讨论】:

      • 要避免重复A1:A3,您可以使用=LET(x,A1:A3,y,ISNUMBER(MATCH(x,B1:B10,0)),FILTER(x,y=TRUE))
      • 这没有给我预期的结果。它是否正确? =LET(x,ShortList,y,ISNUMBER(MATCH(ShortList,LongList,0)),FILTER(x,y=TRUE))
      • 这给了我正确的结果,试试=LET(x,ShortList,y,ISNUMBER(MATCH(x,LongList,0)),FILTER(x,y=TRUE))
      • Harun24HR 和@chrisneilsen 的两个公式都给了我同样的意外结果。我将添加我的实际样本数据并输出到我的问题中。
      • 没问题。我刚刚向您展示了其他解决方法。你的已经足够好了。
      猜你喜欢
      • 2018-04-05
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多