EXCEL2007中,D3:Z是数据区,我想在A1单元格输入几个值,每个值用英文逗号分隔,在B1单元格设置公式,如果

A1单元格输入的值都在D3:Z3单元格中,则显示1,否则0。请问各位大侠,公式怎么设置?
比如:D3:Z3值分别是1、2、3、……、23,则我在A1单元格输入1,7,20,22,则B1单元格显示1,如果输入:21,26,30,则显示0。需要检索的数据较多。

第1个回答  2011-07-10
=--AND(COUNTIF(D3:Z3,MID(SUBSTITUTE(A1,",",REPT(" ",99)),ROW($1:$5)*99-98,99)))
数组公式,输入时按ctrl+shift+enter完成.
公式假设A1中最多有5个数字,且总长度不超过99.如果不是请根据需要修改.追问

输入的数据不会超过99个长度,但如果少于5个,返回的值是0,如果输入的1-5个之间怎么办?谢谢!

追答

你确定a1输入的数字在d3:z3都能找到?

追问

对,肯定能找到

追答

请写出你在A1,D3:Z3中分别输入了什么?

追问

A1:231,495,12,98或23或72,908,43或2113,2322,122,433,232等
D3:Z3:每个单元格中是一个数值,但整个区域数值无规律
A1中输入的需要检索的,肯定在D3:Z3单元格,实际上,返回1,只是为了辨别输入的数值有效性

追答

这样的数据没有问题.你可能没有按照数组公式的输入方法输入公式.

第2个回答  2011-07-10
在B1输入:
=IF(COUNT(0/COUNTIF(D3:Z3,--MID(SUBSTITUTE(A1,"、",REPT(" ",100)),ROW($1:$100)*100-99,100)))=LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1,1,)
按CTRL+SHIFT+ENTER结束本回答被提问者采纳
第3个回答  2011-07-10
=IF(OR(A1=D3:Z3),1,0)追问

这那行啊,A1单元格中不是只有一个数据,而是用逗号分隔开的几个数据,如1,2,7,20

追答

=N(COUNT(FIND(MID(A1,1,1),D3:Z3)*FIND(MID(A1&0,2,1),D3:Z3)*FIND(MID(A1&"00",3,1),D3:Z3))>0)
数组公式

相似回答