【问题标题】:Using an Array Function with TEXTJOIN to concatenate multiple cells, but with multiple criteria?使用带有 TEXTJOIN 的数组函数来连接多个单元格,但有多个条件?
【发布时间】:2018-10-23 22:47:19
【问题描述】:

我发现,只要我只使用一个标准,下面的公式就可以完美地工作。

{=TEXTJOIN("; ", 1, IF(A2:A9="USA", C2:C9, ""))}

Result: "Apples; Crust; Flour; Chocolate"

但是,如何添加多个条件。例如,我尝试了以下方法:

{=TEXTJOIN("; ", 1, IF(AND(A2:A9="USA", B2:B9="Cake"), C2:C9, ""))}

Desired Result: "Flour; Chocolate"

但是,这个公式没有找到任何匹配项。有没有办法获得 2+ 个条件来使用这个 Array TEXTJOIN 函数?

【问题讨论】:

标签: arrays excel excel-formula textjoin


【解决方案1】:

我在发布此消息后不久就想通了。答案是使用嵌套的 IF,而不是在一个 IF 中使用 AND 函数。

例子:

{=TEXTJOIN("; ", 1, IF(A2:A9="USA", IF(B2:B9="Cake",C2:C9, ""),""))}

【讨论】:

  • 我没有最新版本的 Excel,所以我没有任何测试方法,但是可以在嵌套的 IF 语句中使用 MATCH 语句来代替数组公式返回所有结果,而不仅仅是第一个?将其用作公式的一部分:MATCH("USA"&"CAKE",A2:A9&B2:B9,0)
  • @jeranon,这有什么意义?即使你得到它的工作,结果将是相同的,并且你正在增加计算负载。
  • @Jeeped 我认为它的计算步骤会比嵌套的 IF 语句更少,如果计算步骤更少,它会在宏观上更友好地扩展。
  • 不,它会是相同的或更多。如果所有行都匹配,则相同,如果有任何不匹配,则更多。嵌套的 IF(...IF(... 'short-circuits' 意味着如果第一个失败,则不计算第二个。使用您的方法,总是计算两者。
  • @jeepedthanx!我感谢您的解释。
猜你喜欢
  • 2021-12-01
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 2021-03-21
  • 2021-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多