我有一张excel表,我需要从一个单元格中计算不同的值
1和0以及分隔它们的<br>
的数量会有所不同。我需要分别计算零和零。 10000010011<br>10101010101<br>01100111000<br>101101010110
在这个例子中,我需要四个值来表示1和0的数量。这里将是:zeros1:7 ones1:4,zeros2:5 ones2:6,zeros3:6 ones3:5,zeros4:5 ones4:7。我真的很感激任何建议!
答案 0 :(得分:1)
假设每个二进制文件总是11位数:
将数据文本解析为列/固定宽度,并在有角度的括号周围划分,然后跳过<br>
列并应用以下公式:
=LEN(A1)-LEN(SUBSTITUTE(A1,1,""))
复制以适合并使用,0,
代替,1,
重复,或者只是从11
中减去上述结果。
答案 1 :(得分:0)
您可以将LEFT和RIGHT功能与SEARCH结合使用,以通过&#34;&lt; br&gt;&#34;来分割单元格。你可以把它们放在一行(进入多个单元格),这样下一个就可以输出前一个单元格作为输入。
因此A1将是您的输入,然后将=RIGHT(A1,LEN(A1)-FIND("<br>",A1,1) - 3)
放入A2(这将首先删除所有内容&#34;&lt; br&gt;&#34;)。然后使用相同的公式,但是A2
代替A1
到处(这将删除第二个&#34;&lt; br&gt;&#34;)之前的所有内容,依此类推。
答案 2 :(得分:0)
如果VBA答案没问题,您可以使用此功能:
在单元格10000010011<br>10101010101<br>01100111000<br>101101010110
中A1
,公式=Count1And0(A1)
将返回4:7, 6:5, 5:6, 7:5
Public Function Count1And0(Target As Range) As String
Dim vSplit As Variant
Dim vNum As Variant
Dim sFinal As String
Dim lCount As Long
vSplit = Split(Target, "<br>")
For Each vNum In vSplit
lCount = Len(vNum) - Len(Replace(vNum, "0", ""))
sFinal = sFinal & Len(vNum) - lCount & ":" & lCount & ", "
Next vNum
Count1And0 = Left(sFinal, Len(sFinal) - 2)
End Function
答案 3 :(得分:0)
亲爱的,谢谢您的建议!基本上我已经将它分解为单元格(列中的文本)的简单但更长的方式。