textjoin和filterxml合合分分,分分合合!

你好,我是刘卓。欢迎来到我的公号,excel函数解析。常用函数的小伙伴肯定对textjoin比较熟悉,都知道它是文本连接(合并)函数。而在工作表函数中,却没有文本拆分函数split,恰巧filterxml有文本拆分的功能,所以就用filterxml来代替split。

textjoin是文本连接函数,filterxml有文本拆分的功能,所以它们是天然的好搭档。今天要分享的案例就会用到这两个函数。
-01-
按人合并水果种类和数量
下图A1:G12是数据源,记录的是ABCDE5人购买不同水果的数量。现在的要求是:将每人购买的所有水果种类和数量合并起来,放在相应的单元格中,结果如A14:F14所示。比如E共买了金果2件,火龙果3件。
这个问题其实不难,在B14单元格输入下面的公式,按ctrl+shift+enter三键,右拉填充。然后点【开始】-【自动换行】,调整列宽。

=TEXTJOIN(CHAR(10),1,IF(B2:B12,$A2:$A12&B2:B12&"件",""))

IF(B2:B12,$A2:$A12&B2:B12&"件","")这部分是if函数的数组用法,先来看第2参数$A2:$A12&B2:B12&"件",它是把3部分相连,结果如下图G列所示。

if的第1参数B2:B12,可能是很多初学者不理解的地方。if的第1参数不应该是条件判断吗,怎么是数字?其实第1参数中的一切非0数字代表条件成立,相当于true;只有0代表条件不成立,相当于false。

所以,IF(B2:B12,$A2:$A12&B2:B12&"件","")的意思是,B2:B12中包含非0数字的单元格是条件成立的,返回第2参数中相应的值;而空单元格相当于0,代表条件不成立,所以返回第3参数的空""。if最后的结果如下图H列所示。

最后用textjoin将if函数返回的结果连接起来,并用char(10)作为分隔符,就得到结果了,不要忘记点【自动换行】。其中char(10)就是换行符,是不可见字符。


-02-

合并所有水果种类和数量

还是原来的数据源,只不过现在的合并方式有点不一样。之前是将同一人的所有水果种类和数量合并在一个单元格中,现在是将每人的每种水果数量单独合并起来,然后全部罗列出来,结果如H列所示。

其实,这有点像将二维表转换为一维表,还差个分列。那这个效果是怎么做到的?它和第一个案例基本是一样的,只不过由一维数组变为二维数组。

在H2单元格输入下面的公式,按ctrl+shift+enter三键,下拉填充。

=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,IF(B$2:F$12,B$1:F$1&":"&A$2:A$12&B$2:F$12&"件",""))&"</b></a>","a/b["&ROW(A1)&"]")

IF(B$2:F$12,B$1:F$1&":"&A$2:A$12&B$2:F$12&"件","")这部分是if函数二维数组的用法,第1参数B$2:F$12是二维区域,包含数字的单元格是条件成立的,返回第2参数相应的值;空单元格为0,是条件不成立的,返回第3参数的空""。

第2参数B$1:F$1&":"&A$2:A$12&B$2:F$12&"件"是好几部分的相连,返回的结果也是一个二维数组,由于这里不方便展示结果,就不截图了,大家自己查看结果。

最后展示一下if函数的结果,如下图蓝色框区域所示。对比上下2图可以看出,B2:F12中包含数字的单元格,在其对应的位置返回合并后的结果;空单元格对应的位置返回空""。
然后用textjoin将if函数的结果连接起来,并用"</b><b>"作为分隔符,再在textjoin前后两侧连接上开始和结束标签,构成完整的xml格式的字符串,如下图所示。

最后用filterxml函数依次取出每个b标签下的文本内容,也就是<b>和</b>之间的内容。相当于把textjoin合并后的字符串给拆分开。

感想总结:

其实这两个问题都不难,只是把几个函数的用法有机地结合起来。只要你会了单个函数的用法,然后把它们拼凑起来就可以了。就像学车一样,先学单项训练,S弯,坡起,倒车入库……,单项训练学好了,才有利于练组合技。
链接:

https://pan.baidu.com/s/15h40EZCoPx3IG4kqbPuKzA

提取码:kwua
(0)

相关推荐

  • Excel技巧连载13和14:textjoin函数,最快的文本合并神器

    文本合并在Excel 2016版本之前,还是个头疼的事情,操作起来,很繁琐复杂.有了textjoin函数之后,单元格文本合并,变得轻松简单了. Excel技巧13:textjoin函数的使用方法 我们 ...

  • 如何用公式实现自动填入满足相应条件的数字?

    Q:这是一名知乎网友提出的问题,如下图1所示,在列O中自动填写N班对应的日期. 图1 A:想了半天,没有想到简单的公式.使用数组公式找到N对应的日期数不难,但是如何将找到的多个日期数连在一起却难倒了我 ...

  • 如何将间隔的多行多列的数据汇总到一个单元格

    有时我们为方便查看数据,会将归属一个人或一个机构的事项汇总到一起,比如下面的例子: 大家可以看到数据之间是用"/"进行间隔,一看有点懵逼,如果是少量的我们可以用"& ...

  • 中国式律所:分分合合分分分分分?

     小引.  律所管理者的挫败感-- 参与团队和律所管理十多年来,很长一段时间,我都有一种深深的挫败感:律师大概是世界上最难管理的人群了,管不了.管不得.管不起. 他们有独立的思想和见解,很难统一起来: ...

  • 什么是双离合变速箱?双离合变速箱有什么优点和缺点?

    现在很多品牌,包括大众.福特.通用还有很多国产品牌都喜欢使用双离合变速箱,那么双离合变速箱是什么呢?有什么优点和缺点呢? 什么是双离合变速箱? 双离合变速箱的英文缩写是DCT,Dual Clutch ...

  • 0425午未合化火,还是合化土

    在八字命理中,"午未相合"是十二地支中的一种作用关系,相合,有合绊和合化之分.那么,在实际运用中,八字午未相合是合化火,还是合化土呢? 八字午未合化火还是合化土 1.合的含义 相合 ...

  • 合官忘贵,合官为贵到底怎么分的?

    天干相合,是指甲与己合,丙与辛合,丁与壬合,戊与癸合.八字当中,一般情况下,有相合是好事,说明力量聚集,说明和谐.当然,这是最最基本的,感性的理解.但是,论天干相合当中,有合去,合留的分法. 01 所 ...

  • 曾乃梁:“合”是进攻,“合”是整含,“合”是叠加

    "引进落空合即出,粘黏连随不丢顶"是<打手歌>里面的句子,它主要讲的是太极拳推手攻防的原理."引进落空合即出"是太极拳克敌制胜的法宝,是太极拳独特的 ...

  • 八字合婚配对准吗,八字合婚方法有哪些

    八字合婚配对准吗,八字合婚方法有哪些 婚姻是人生的大事,两个人能否走到一起.能在一起多久尤为重要.所以我们古人就通过推算求得男女最佳婚配. 八字合婚配对准吗?其实,这并没有统一的标准,有的人说准,有的 ...

  • 为什么甲己合土,乙庚合金,丙辛合水,丁壬合木,戊癸合火?

    十天干合化的来由 五气经天化出五运 河图中甲己合化土 乙庚合化金 丙辛合化水 丁壬合化木 戊癸合化火其相合的来由和原理是什么?唐代古籍<太始天元册>(是中国古代记录天象的一本专著,大约于公 ...

  • 已婚者还可以合婚吗?八字合婚的四大好处!

      合婚其实是中华民族的一种传统做法,以延续几千年了.通常是拿着双方八字到合婚师那里进行合婚.如果八字和,则合婚成功:如果八字不和,恐有问题,可以防微杜渐做到心中有数.有些婚姻专家仍可化解.因此通常合 ...

  • 生辰八字合婚:地支有合,婚姻容易有破碎

    每个人的婚姻初衷都是执子之手与子偕老,在婚后很多时候都是言不由己,信誓旦旦的爱情可能会随时间而淡忘,携手与共之人也许说散就散.那么这位甲寅日出生的男子,甲木日元坐寅,为临官,婚姻多有不顺. 这位男人四 ...