
收到粉丝提问:如下图,B列有一组由1-30组成的数据,如何在后续的C序列到AF序列中,表示出来?
(意思就是在B序列中输入数字,直接可以在后续的C到AF序列中显示出同样的数字;其中B序列未出现的,C到AF也不显示)

方法一:IF+FIND
从图中不难看出,数字之间由空格隔开,这种情况下,想要快速找到对应的值并填充到相应的位置,可以使用下面的公式:
=IF(ISNUMBER(FIND(" " & B$1 & " ", " " & $A2 & " ")), B$1, "")

该公式用到了IF、ISNUMBER、FIND这三个函数,相关释义如下:
1、FIND(" " & B$1 & " ", " " & $A$2 & " "):通过FIND 函数查找B1是否存在于A2中,该函数会返回 B$1 在 A$2 中的位置,如果找不到则会报错。
2、ISNUMBER(FIND(...)):使用ISNUMBER 函数来检查 FIND 函数的结果是否是数字。
如果 FIND 找到目标字符串,返回的位置是一个数字,ISNUMBER 会返回 TRUE。
如果找不到目标字符串,则 FIND 会报错,ISNUMBER 返回 FALSE。
3、IF(ISNUMBER(FIND(...)), B$1, ""):借助IF 函数,根据 ISNUMBER 的结果来决定返回的值。
如果 ISNUMBER 返回 TRUE,则 IF 函数返回 B$1 的值;如果 ISNUMBER 返回 FALSE,则返回空字符串 ""。
方法二:IF+TEXTSPLIT
若您使用的Excel版本支持TEXTSPLIT函数,还可以使用下面这个改进的函数公式:
=IF(ISNUMBER(MATCH(B$1,VALUE(TEXTSPLIT($A$2," ")),0)),B$1,"")

该公式用到了IF、ISNUMBER、MATCH、VALUE和TEXTSPLIT这五个函数,相关释义如下:
1、TEXTSPLIT($A$2," "):通过TEXTSPLIT 函数将 A$2 单元格中的文本按空格分隔成一个数组。
2、VALUE(TEXTSPLIT($A$2," ")):TEXTSPLIT 返回的结果是一个文本数组。借助VALUE函数将这些文本数组中的内容可以转换为数字。
3、MATCH(B$1,VALUE(...),0):使用MATCH 函数在数组中查找 B$1 的值。0 表示精确匹配。
如果 B$1 在 TEXTSPLIT($A$2," ") 返回的数组中存在,MATCH 会返回该值的位置,否则会返回错误。
4、ISNUMBER(MATCH(...)):用ISNUMBER 函数检查 MATCH 函数的结果是否是数字。
如果 MATCH 找到了匹配项,结果是一个数字,ISNUMBER 会返回 TRUE。
如果没有找到匹配项,MATCH 会返回错误,ISNUMBER 返回 FALSE。
5、IF(ISNUMBER(MATCH(...)), B$1, ""):IF 函数根据 ISNUMBER 的结果决定返回的值。
如果 ISNUMBER 返回 TRUE(表示 B$1 的值存在于分隔后的数组中),则 IF 函数返回 B$1 的值;否则,返回空字符串 ""。
以上分享的两个方法,要根据自己的实际情况做选择和调整哦。若还有疑问,或者想分享更好的方法,欢迎在下方评论区留言哦~
想了解更多精彩内容,快来关注