首页 > 解决方案 > 使用 TEXTJOIN 进行连接,然后使用 IF、INDEX、MATCH 来获取数据 - 仅在“textjoined”单元格数量较少时才有效

问题描述

我的数据分布在与同一行上的部件号相关的行 (SKU#s) 上。我已将 SKU# 单元格 TEXTJOINED 到每一行的一个单元格中。然后,在另一张纸上,我有一个公式,它使用 IF、INDEX 和 MATCH 查看旁边的 SKU#,然后在 textjoined 单元格中搜索该 SKU# 并返回 part#。只要没有太多的 SKU#s 文本连接在一起,它就可以很好地工作。12 个 SKU#s 工作正常,30 个则不行。我连续拥有多达 80 个 SKU#。

我只知道有 12 个 SKU#s 的一行数据有效,但有 30 个或更多 SKU#s 的行没有。不幸的是,我没有说 15 或 20 的行,所以我无法准确确定限制是多少。

我应该注意,所有文本连接的单元格中都有数据 - 它们都没有引发错误。

从第 5 行开始的 TEXTJOIN 公式。

=TEXTJOIN(",",TRUE,H5:CI5)

从第 5 行开始的 IF、INDEX 和 MATCH 公式。

=IF(LEN(A5)=8,INDEX('DEST MISMATCH'!$CO$3:$CO$5000,MATCH("*"&A5&"*",'DEST MISMATCH'!$CM$3:$CM$5000,0)),"")

我需要做的是让公式处理多达 80 个文本连接值 (SKU#s)。

标签: excelif-statementindexingmatchtextjoin

解决方案


有效的公式是,

=IF(LEN(A5)=8,INDEX('DEST MISMATCH'!$CO:$CO,AGGREGATE(15,7,ROW('DEST MISMATCH'!$H$3:$CI$5000)/('DEST MISMATCH'!$H$3:$CI$5000=A5),1)),"") 

归功于: 斯科特·克兰纳


推荐阅读