答案1
假设您的前六个单元格是 A1:C2,那么这样的公式会连接 A1:C1 中的匹配名称。
CONCATENATE(IF(AND(A2<1.3,A2>0),A1&", ",""),IF(AND(B2<1.3,B2>0),B1&", ",""),IF(AND(C2<1.3,C2>0),C1,""))
本质上,它的作用是询问(对于每个单元格 A2:C2)它们是否在指定范围内。
具体来说...如果 A2 满足两个条件,则返回单元格 A1,后跟逗号空格。如果不满足两个条件,则不返回任何内容。对每个单元格对都执行此操作。然后将所有三个结果连接起来。
IF(AND(A2<1.3,A2>0),A1&", ","")
但这会产生一个问题,因为最后一个匹配项后面也跟着逗号/空格。
为了至少部分解决此问题,您可以使用left
andlen
函数排除最后两个字符。在这里,它获取结果文本的长度并返回除最后两个字符之外的所有内容。
LEFT(CONCATENATE(IF(AND(A2<1.3,A2>0),A1&", ",""),IF(AND(B2<1.3,B2>0),B1&", ",""),IF(AND(C2<1.3,C2>0),C1&", ","")),LEN(CONCATENATE(IF(AND(A2<1.3,A2>0),A1&", ",""),IF(AND(B2<1.3,B2>0),B1&", ",""),IF(AND(C2<1.3,C2>0),C1&", ","")))-2)
当然,如果您的数字都不在范围内,那么您将收到错误。这可能可以通过 if/iserror 组合来解决。