excel - 使用 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)。
解决方案
有效的公式是,
=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)),"")
归功于: 斯科特·克兰纳
推荐阅读
- python - 从 Python3 中的用户输入获取文件路径
- azure-active-directory - 使用设备身份验证对 Azure 注册应用程序进行身份验证
- c# - C# .Net 与 Informix DB 的集成。可以不额外安装 CSDK 完成吗?
- tensorflow - TensorFlow 训练曲线的巨大峰值
- java - 使用 2pc、hibernate、Java EE、Jboss EAP 访问多个数据库
- php - 找不到服务“doctrine_mongodb”/ Symfony / Mongodb
- postgresql - Kafka 与 Debezium 连接
- reactjs - 无法使用 create-react-app 创建新的反应项目
- shell - 如何直接从脚本向 ftp 终端提供输入
- clickhouse - 了解 clickhouse 分区