具有查找的动态数组的行式文本连接 [英] Row-wise textjoin of dynamic array with lookup

查看:21
本文介绍了具有查找的动态数组的行式文本连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此问题与用户mark fitzpatrickthis answer密切相关。

我的工作表图像

我在M3#和AB3#(相同的列表)中有一个国家代码头的变量列表,并且在A4#中有一个将&作为行引用的变量列表。M4#和AB4#中的公式分别针对两个问题,计算A4#中的特定提及的次数。每个提及都至少出现在&Quot;P";&q;O";中。对于列L和AA中的每一行,我有一个公式来分别为&P&q;&o&q;连接每行的每个国家/地区的提及计数(如果没有提及,则&q;-&q;),但这不是一个动态公式-每次范围更新时,我都必须将其复制到提及范围内。

我希望列L和AA改为包含动态公式。如何更新AM和An列中的Mark公式以包含L和AA列中的国家/地区代码?

在AM4#和AN4#中,我在溢出范围M4#和AB4#上使用Mark's更新的公式,其结果与我的单个公式相同,只是没有国家代码:

=LET( m, M4#,
   rSeq, SEQUENCE( ROWS(m) ),
   L, MMULT( LEN(m)--(m<>""), SIGN( SEQUENCE( COLUMNS(m) ) ) ) - 1,
   i, MMULT(--( TRANSPOSE( rSeq ) < rSeq ), L ) + rSeq,
   IFERROR( MID( TEXTJOIN( ",", TRUE, m ), i, L ), "" ) )

(编辑以删除不必要的简介)

推荐答案

将标题连接到区域:

=LET( m, M4#&IF(M4#<>""," "&$M$3:$T$3,""),
   rSeq, SEQUENCE( ROWS(m) ),
   L, MMULT( LEN(m)--(m<>""), SIGN( SEQUENCE( COLUMNS(m) ) ) ) - 1,
   i, MMULT(--( TRANSPOSE( rSeq ) < rSeq ), L ) + rSeq,
   IFERROR( MID( TEXTJOIN( ",", TRUE, m ), i, L ), "" ) )

其中$M$3:$T$3是您的书目。


编辑:

要添加空间,我们需要做一些更改。我将所需的拆分器移到它自己的变量中,这样我就可以找到它的长度:

=LET( m, M4#&IF(M4#<>""," "&$M$3:$T$3,""),
   spl,", ",
   rSeq, SEQUENCE( ROWS(m) ),
   L, MMULT( LEN(m)+(m<>"")*LEN(spl), SIGN( SEQUENCE( COLUMNS(m) ) ) ) - LEN(spl),
   i, MMULT(--( TRANSPOSE( rSeq ) < rSeq ), L ) + ((rSeq-1)*LEN(spl)) + 1,
   IFERROR( MID( TEXTJOIN( spl, TRUE, m ), i, L ), "" ) )

这篇关于具有查找的动态数组的行式文本连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆