Excel情报局
职场联盟Excel
大家好,有位同学提出了这样一个有趣的问题:如何忽略数字后合并单元格内容?合并单元格我会,还给我加条件可不地道啊!咱们来看看具体是个啥问题。
如下图所示:
A2:E3区域有两行数据,每行数据都是由省份名称与数字构成,我们想要将每行的数据分别进行合并,但是合并的时候有个附加条件:就是把数字剔除掉,只留下省份数据,换句话说就是忽略数字后合并单元格内容。
我们用3个目前工作中常见的函数解决这个问题。
首先使用ISNUMBER函数:
=ISNUMBER(A2:E2)
SNUMBER函数是Excel中的一个逻辑函数,用于判断给定值是否为数字。如果值是数字,函数返回逻辑值TRUE;否则返回逻辑值FALSE。其参数既可以是某个单元格也可以是某一单元格区域。
我们使用ISNUMBER函数判断A2:E2区域中各个单元格中的数据是否为数字,比如A2单元格为文本值,判断不是数字,则返回逻辑值FALSE,B2单元格为数字,判断是数字,则返回逻辑值TRUE,后面以此类推。结果以数组溢出的方式返回:
{FALSE,TRUE,FALSE,TRUE,FALSE}
然后外嵌套IF函数条件判断:
=IF(ISNUMBER(A2:E2),"",A2:E2)
以ISNUMBER函数的返回结果作为IF函数的第一参数:判断条件,如果判断条件为TRUE,即是数字的时候,就返回第二参数空值,如果判断条件为FALSE,即不是数字的时候,就返回第三参数A2:E2区域中对应的单元格文本值内容。
这样数字就显示为了空值,只显示文本内容的单元格,结果以数组溢出的方式显示:
{"河北","","河南","","山西"}
最后用TEXTJOIN函数将文本与空值合并即可:
=TEXTJOIN(",",TRUE,IF(ISNUMBER(A2:E2),"",A2:E2))
TEXTJOIN函数是一个超级好用的合并类函数。
TEXTJOIN(连接字符,是否忽略空值,合并区域)
使用TEXTJOIN函数,用分隔符号逗号,忽略合并单元格后,将IF+ISNUMBER函数的返回结果合并起来。
我们发现虽然G2单元格返回了正确的合并结果:"河北,河南,山西",但是G3单元格返回的合并结果:"吉林,0,辽宁"中存在一个“0”,这个“0”并不是我们想要的。
要想去掉这个“0”,可以这样完善公式:
=TEXTJOIN(",",TRUE,IF(ISNUMBER(A2:E2),"",A2:E2&""))
在函数公式中将IF函数的第三参数A2:E2用连接符&合并一个空值变成A2:E2&""后可以解决这个弊端了。
〖往期知识点精彩超链接点击阅读〗