Excel计算同一单元格中的单独值

时间:2018-05-08 09:16:11

标签: excel excel-formula

我有一张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。我真的很感激任何建议!

4 个答案:

答案 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;)之前的所有内容,依此类推。

更多信息:https://support.office.com/en-us/article/split-text-into-different-columns-with-functions-49ec57f9-3d5a-44b2-82da-50dded6e4a68

答案 2 :(得分:0)

如果VBA答案没问题,您可以使用此功能:

在单元格10000010011<br>10101010101<br>01100111000<br>101101010110A1,公式=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)

亲爱的,谢谢您的建议!基本上我已经将它分解为单元格(列中的文本)的简单但更长的方式。