Считайте уникальные значения в Excel

Люди пытались в течение долгого времени создать среду редактирования, которая идет вне плоского файла, и все перестали работать в некоторой степени. Самым близким, который я видел, был прототип для Намеренного Программирования Charles Simonyi, но тогда это было понижено до визуального инструмента создания DSL.

, Неважно, как код сохранен или представлен в памяти в конце, это должно быть презентабельным и модифицируемым как текст ( без форматирования, изменяющегося на Вас ), так как это - самый легкий способ, которым мы знаем для выражения большинства абстрактных понятий, которые необходимы для решения проблем путем программирования.

С плоскими файлами Вы получаете это бесплатно, и любой простой текстовый редактор (с поддержкой кодирования правильного символа) будет работать.

11
задан dayan 4 November 2009 в 22:39
поделиться

4 ответа


=SUM(IF(FREQUENCY(IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""), IF(LEN(A2:A10)>0,MATCH(A2:A10,A2:A10,0),""))>0,1)) 

http://office.microsoft.com/en-us/excel/HP030561181033.aspx

Вы также можете написать макрос VBA (хотя не уверен, что это то, что вам нужно .)

Что-то вроде (учитывая электронную таблицу с заполненными A1-A11 и пустыми B1-B11):

Sub CountUnique()

Dim count As Integer
Dim i, c, j As Integer

c = 0
count = 0
For i = 1 To 11
    Sheet1.Cells(i, 2).Value = Sheet1.Cells(i, 1).Value
    c = c + 1
    For j = 1 To c
        If CDbl(Sheet1.Cells(i, 1).Value) = CDbl(Sheet1.Cells(j, 2).Value) Then
            c = c - 1
            Exit For
        End If
    Next j
Next i

' c now equals the unique item count put in the 12'th row
Sheet1.Cells(12, 1).Value = c

End Sub
8
ответ дан 3 December 2019 в 00:48
поделиться

Попробуйте:

= СУММ (ЕСЛИ (ЧАСТОТА (C2: C2080, C2: C2080)> 0,1))

РЕДАКТИРОВАТЬ: выше будет обрабатывает пустые записи в столбце

8
ответ дан 3 December 2019 в 00:48
поделиться

Формула у меня работает. Есть несколько вещей, из-за которых это может не работать. Во-первых, все целевые ячейки должны иметь значение. Другой пример, когда это может не сработать, - если у вас есть одна ячейка со значением 31 и другая ячейка с текстовым значением «31». Он распознает их как разные значения.

Вы можете попробовать следующее:

=SUM(IF(FREQUENCY(IF(LEN(B2:B11)>0,MATCH(B2:B11,B2:B11,0),""), IF(LEN(B2:B11)>0,MATCH(B2:B11,B2:B11,0),""))>0,1))

Это формула массива . Вместо того, чтобы нажимать Enter, чтобы подтвердить это, вы должны нажать ctrl + shift + enter.

Отсюда:

http://www.cpearson.com/excel/Duplicates.aspx

1
ответ дан 3 December 2019 в 00:48
поделиться

Вы также можете просто использовать фильтр для временного отображения уникальных значений и подсчета отфильтрованных значений.

2
ответ дан 3 December 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: