上图附带行列号,写明源数据,注明条件,需要达到的效果,文字作为辅助说明,图示才是最好的提问内容。
大概猜测你的意思写的,不知道你要的是不是这种,
公式:
=TEXTJOIN(" ",TRUE,IF(COUNTIF($E:$E,ROW(1:42)),"",ROW(1:42)))
数组公式,同时按下Ctrl+Shift+Enter结束输入。
追问是的是的,但是我出来的是这样的不是横向出来的,请问是什么原因
循环引用了,如果你要在E1输入这个公式,要么在选项里面开启迭代计算,或者在E列里面剔除E1单元格,就是把公式中的$E:$E替换成E$2:$E$100,区域大小自行修改一下就好,只要不包含公式输入单元格即可。
追问我看这个ROW的函数是(1:42)代表1-42行是吗,但实际我有146行,除了42个学号之外,一定是有空格的,我剔除了E1我显示的还是显示0,我在首行插入了新的一列,在CI的单元格中输入公式
ROW(1:42)是指1、2、3……41、42,这42个数字,你学号不是1:42号嘛,至于你E列有多少行在$E$2:$E$200这里修改就好了。COUNTIF($E:$E,ROW(1:42))这个的意思是在E列里面依次查找1到42这42个数据,并返回他的个数,没有的就返回0,那在这个外面套一个if函数,把有的学号不显示,把结果为0(即没有该学号)的数据给他显示出来。然后用TEXTJOIN函数串联起来。
刚才你的公式还成功了,怎么现在又找不到函数了,你用的是Excel还是WPS表格,Excel需要2016以上版本,不然没有TEXTJOIN这个函数。
目前是2016版本的,我明白你的意思,Excel是这样的,但是WPS就是正常了,不管了,谢谢你
说啦,版本不够,没有TEXTJOIN这个函数,如果你只是用于验证不需要时时刻刻显示这个结果,那么只用这一段公式,IF(COUNTIF($E:$E,ROW(1:42)),"",ROW(1:42)),然后鼠标点到公式编辑栏里面,按下F9,回车,就会出现结果,然后你下次需要的时候再次输入这个公式在按F9就好了。
再次感谢
我现在输入公式后是这样的
你的EXCEL版本太低,不支持TEXTJOIN函数。
可以用多个单元格显示的公式,在一行中显示。