Excel подсчитывает отдельные значения в одной ячейке - PullRequest
0 голосов
/ 08 мая 2018

У меня есть лист Excel, в котором мне нужно посчитать различные значения из одной ячейки.
Единицы и нули различаются, а также количество <br>, которое разделило их. Мне нужно посчитать единицы и нули отдельно. 10000010011<br>10101010101<br>01100111000<br>101101010110 В этом примере мне нужно четыре значения, указывающие количество единиц и нулей. Вот это: нули 1: 7 с 1: 4, нули 2: 5 с 2: 6, нули 3: 6 с 3: 5, нули 4: 5 с 4: 7. Я действительно буду признателен за любые предложения!

Ответы [ 4 ]

0 голосов
/ 15 мая 2018

Уважаемые спасибо за ваши предложения! По сути, я обманул простой, но более длительный способ разбиения ячейки (текст в столбцах).

0 голосов
/ 08 мая 2018

Предполагая, что каждый двоичный файл всегда состоит из 11 цифр:

Разбор ваших данных Текст в столбцы / Фиксированная ширина с разрывами вокруг угловых скобок, затем пропустите столбцы <br> и примените формулы, такие как:

=LEN(A1)-LEN(SUBSTITUTE(A1,1,""))

скопировали для соответствия и повторите с ,0, вместо ,1, или просто вычтите вышеприведенные результаты из 11.

0 голосов
/ 08 мая 2018

Если ответ 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
0 голосов
/ 08 мая 2018

Вы можете использовать функции ВЛЕВО и ВПРАВО в сочетании с ПОИСКОМ, чтобы разделить ячейку на «
».Вы можете поместить их в ряд (в несколько ячеек), чтобы следующая принимала выходные данные предыдущей.

Таким образом, A1 будет вашим вводом, а затем поместит =RIGHT(A1,LEN(A1)-FIND("<br>",A1,1) - 3) в A2 (этоудалит все перед первым "
").Затем поместите ту же формулу, но с A2 вместо A1 везде (это удалит все до второго "
") и т. Д.

Дополнительная информация: https://support.office.com/en-us/article/split-text-into-different-columns-with-functions-49ec57f9-3d5a-44b2-82da-50dded6e4a68

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...