Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 可以识别';混合';二进制编码数据序列?_Excel_Excel Formula - Fatal编程技术网

Excel 可以识别';混合';二进制编码数据序列?

Excel 可以识别';混合';二进制编码数据序列?,excel,excel-formula,Excel,Excel Formula,任何帮助都将不胜感激 如果我在Excel中有以下数据行(以下5个示例),其中数据编码为1或2,有人知道一个Excel公式,可以识别/突出显示包含1和2的混合行吗 我只对混合了1和2的序列感兴趣。 比如, 1,2,2,2,2,1,2,2,2(这个序列有一个混合物) 1,1,1,1,1,1,1,1,1,1。(此序列没有混合物) 1,2,2,1,1,2,2,1。(此序列有一个混合物) 2,2,2,2,2,2,2,2,2,2。(此序列没有混合物) 一,一,二,二,一,一,二,一,一。(此序列有一个混合物

任何帮助都将不胜感激

如果我在Excel中有以下数据行(以下5个示例),其中数据编码为1或2,有人知道一个Excel公式,可以识别/突出显示包含1和2的混合行吗

我只对混合了1和2的序列感兴趣。

比如,

1,2,2,2,2,1,2,2,2(这个序列有一个混合物)

1,1,1,1,1,1,1,1,1,1。(此序列没有混合物)

1,2,2,1,1,2,2,1。(此序列有一个混合物)

2,2,2,2,2,2,2,2,2,2。(此序列没有混合物)

一,一,二,二,一,一,二,一,一。(此序列有一个混合物)

目前,我使用以下公式突出显示/识别只有1或2的非混合序列

=IF(iError(FIND(“2222222”,TEXTJOIN(“,TRUE,A1:A9))),FALSE,TRUE)

=IF(iError(FIND(“111111111”,TEXTJOIN(“,TRUE,A1:A9))),FALSE,TRUE)


但现在我正在寻找一个公式,可以显示混合序列。

如果您确实想识别包含1和2的混合行,您可以使用如下计数器:

=AND(COUNTIF(A1:J1,1),COUNTIF(A1:J1,2))

如果您想更简洁,可以使用

=VAR(A1:I1)>0

(所有答案都解决了前面提到的问题。你可以说我的原始答案在处理空白单元格和超出范围的值(如0或3)的意义上是可靠的)

J1
公式中复制下来:

=SUMPRODUCT(A1:I1-I1)<>0
=SUMPRODUCT(A1:I1-I1)0

编辑:

公式逻辑解释

取公式的这一部分进行检查:

在K1中,输入:

=SUMPRODUCT(A1:I1-I1)变成>>

=SUMPRODUCT({1,2,2,2,1,2,2,2}-2)变成>>

=SUMPRODUCT({-1,0,0,0,0,-1,0,0})变成>>

=-2

在K2中,输入:

=SUMPRODUCT(A2:I2-I2)变成>>

=SUMPRODUCT({1,1,1,1,1,1,1,1}-1)变为>>

=SUMPRODUCT({0,0,0,0,0,0,0})变成>>

=0

然后

由于该范围只有2个数字(1或2)

如果范围减去任何一个数字

总和必须等于“0”的范围(所有数字相同)

否则,“不是0”

按照这个逻辑,在使用COUNTIF函数时,可以有另一个类似于Tom Sharpe建议公式的解决方案

=COUNTIF(A1:J1,I1)<>COUNT(A1:J1)
=COUNTIF(A1:J1,I1)计数(A1:J1)
或者:

J1
中的公式:

=MOD(SUM(A1:I1),9)>0
或:

作为条件格式公式,我选择了
A1:I7
,例如,使用:

=STDEV($A1:$I1)>0

如果您有O365,您可以使用:

=COUNT(UNIQUE(A1:I1,TRUE))=2

如果混合,将返回
TRUE
,否则返回
FALSE

对于O365之前的版本,将再返回一个选项-作为数组公式输入:

=OR(A1:H1<>I1)
=或(A1:H1I1)
编辑后的数组公式通过按ctrl键确认


哇,我喜欢这个解决方案的简单性。它很整洁,不是吗?我的脑海里一直在想,可能会有其他使用差异的方法,但我选择了更明显的方法。@bosco_yip-这是一个超级答案,但我觉得需要对该方法进行一些简单的解释。@Robin Mackenzie,这是一个简单的公式。取公式的这一部分检查=SUMPRODUCT(A1:I1-I1)。由于范围只有2个数字(1或2),如果范围减去任何一个数字,那么范围(所有数字都相同)的总和必须等于“0”,否则“不是0”@bosco_yip-这对您来说很简单;我也理解它是如何工作的——但对于那些阅读了你的答案并认为“很酷,但它是如何工作的……”的人来说,它的效用并不一定很清楚。为什么不编辑您的答案并提供更多的解释呢?因为它不需要CSE,所以是Excel O365的赢家。这是一个很棒的代码高尔夫游戏,如果你在玩代码高尔夫,也许=VAR(A1:I1)>0就可以了。是的!汤姆,你赢了这是解决问题的好办法汤姆,干杯!!:)哇@JvdV,这些答案太棒了,我真的很感谢你为帮助我所付出的巨大努力!
=STDEV($A1:$I1)>0
=COUNT(UNIQUE(A1:I1,TRUE))=2
=OR(A1:H1<>I1)