当在单元格A1输入一个值x ,在单元格A2输入一个值y , 若x=y ,则单元格B1显示为x*2 。若x≠y,则单元格B1显示为x,单元格B2显示为y。在单元格A1 A2 A3输入一个值,以此类推…… 要实现这种功能应该怎么办?
也可以这样说:B行 统计A行的数据。把相同的数据提出来放到一格。
A列数据如果相同,相当于A列标准偏差为0,然后将A列数据汇总在B1单元格,B列其他单元格全部留空;如果A列数据不相同,即标准偏差不为0,则B列填入A列对应的数据。
在B1输入以下公式,然后向下填充公式
=IF(STDEV(A:A)=0,IFERROR(A$1*COUNT(A:A)*IF(ROW(A1)=1,1,""),""),A1)
公式中:STDEV(A:A)=0,作为A列数据相同的条件;COUNT(A:A)用以统计A列的数据个数;IF(ROW(A1)=1,1,"")表示如果ROW(A1)=1,就返回1,否则返回空;然后通过IFERROR函数将乘以空值的错误值显示为空。
如果要显示为以乘号相连的表达式,可以修改成
=IF(STDEV(A:A)=0,IFERROR(A$1&"*"&COUNT(A:A)*IF(ROW(A1)=1,1,""),""),A1)
如果像你在下面追问时补充的那样,需要将公式做进一步的修改
=IF(STDEV(A$1,A$3,A$5)=0,IFERROR(A$1&"*"&COUNT(A$1,A$3,A$5)*IF(ROW(A1)=1,1,""),""),A1)
详见附图附表
希望对你有所帮助!
你要是不是我抓图内容那样?
B1输入
=IF(COUNTIF(A$1:A1,A1)=1,SUMIF(A1:A100,A1),"")
回车并向下填充。
这样B列数值就是其对应的A列数值的个数乘积:
A列有6个1=6、有3个4=12、有2个5=10、……。
追问对,就是这个意思,但我不要一整列,我只要A1 A3 A5怎么办,而且那个整出来的数据要2x3 4x3 5x2那种形式
追答1、怎么只要A1 A3 A5显示?像我的抓图,你的A列不是已经输入源数据了吗?还要显示出别的什么?
2、也就是不显示乘积的计算结果,而是显示式子:
=IF(COUNTIF(A$1:A1,A1)=1,A1&"*"&COUNTIF(A:A,A1),"")
恩,你的是搜集A列的所有数据,我的意思是只看A1 A3 A5,A2输入什么都不会整到B列
追答就是只统计奇数行的数值:
=IF((MOD(ROW(A1),2)=1)*(COUNTIF(A$1:A1,A1)=1),A1&"*"&SUMPRODUCT((MOD(ROW(A$1:A$100),2))*(A$1:A$100=A1)),"")
那我不止做两个格,如果A行任意几个格的数值相同,把他们记到B1该怎么办