Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка уникальности названия в списке названий / 9 сообщений из 9, страница 1 из 1
24.05.2006, 15:13:58
    #33748792
violettte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
Каждая ячейка содержит название, список соотвественно в перечне ячеек.
Как проверить на уникальность содержание каждой ячейки - то есть,чтони одна другая не содержит такого же наименования.
По-моему это может делать какая-то функция.Если - да, то как она называется в русском варианте Excell?
Спасибо заранее за помощь.
...
Рейтинг: 0 / 0
24.05.2006, 16:06:18
    #33749032
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
Все, что больше одного, соответсвенно неуникально.

Код: plaintext
=СЧЁТЕСЛИ(A:A;A1)
...
Рейтинг: 0 / 0
24.05.2006, 17:00:16
    #33749267
violettte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
Правильно ли я понимаю, что в случае уникальности выдается результат - 1,в противном случае - 0.
Спасибо заранее за ответ.
...
Рейтинг: 0 / 0
24.05.2006, 17:05:39
    #33749280
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
AB1a 32b 23c 14d 15a 36b 27e 18a 3
...
Рейтинг: 0 / 0
24.05.2006, 17:31:01
    #33749385
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
Выделить диапазон- Данные - Фильтр- Расширенный фильтр - Только уникальные записи
...
Рейтинг: 0 / 0
26.05.2006, 13:44:09
    #33754232
violettte
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
спасибо
...
Рейтинг: 0 / 0
10.07.2006, 12:36:22
    #33841861
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
автор---How can I find the count of unique items in a filtered column?---

Define a column range in your table (excluding header) as Rge.

Define unRge as:
=IF(SUBTOTAL(3,OFFSET(Rge,ROW(Rge)-MIN(ROW(Rge)),,1)),Rge,"")

Then, the array formula to return the # of unique occurrences in a filtered
column is:

=SUM(N(IF(ISNA(MATCH("",unRge,0)),MATCH(Rge,Rge,0),IF(MATCH(unRge,unRge,0)
=MATCH("",unRge,0),0,MATCH(unRge,unRge,0)))=ROW(Rge)-MIN(ROW(Rge))+1))
...
Рейтинг: 0 / 0
10.07.2006, 13:03:11
    #33842000
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
This array formula returns the number of unique items in a worksheet
range.

=SUM(1/COUNTIF(Rng,Rng))

However, if Rng contains blank cells, this formula returns an error. In
this case, use this modified version of the formula.

=SUM(COUNTIF(Rng,Rng)/IF(NOT(COUNTIF(Rng,Rng)),1,COUNTIF(Rng,Rng))^2)
...
Рейтинг: 0 / 0
10.07.2006, 13:08:02
    #33842026
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка уникальности названия в списке названий
в расширение темы

VBA CODE EXAMPLES

авторHere are four examples of counting unique values in a list. Each of these
examples creates an array of the unique items, so they can be modified to
to those arrays for a purpose other than just counting the unique items.

Код: plaintext
1.
2.
Sub cMethodAdvFilter()
    CountUniqueByAdvFilter Selection.Address
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub CountUniqueByAdvFilter(mRange As String)
    Dim TheRange As String
    Application.ScreenUpdating = False
    
    TheRange = "'[" & ActiveWorkbook.Name & _
    "]" & ActiveSheet.Name & "'!" & mRange
    
    Workbooks.Add
    
    Range(TheRange).AdvancedFilter Action:=xlFilterCopy, CopyToRange _
	:=Range("A1"), Unique:=True
    
    MsgBox Application.WorksheetFunction.CountA(Range("A:A"))
    
    ActiveWorkbook.Close False
    
    Application.ScreenUpdating = True
End Sub



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 Sub cMethodDAO()
    Dim strDBFullName As String
    Dim dbData As Database, rstWork As Recordset, strSQL As String

    strDBFullName = ThisWorkbook.Path & "\" & ThisWorkbook.Name

    strSQL = "select distinct [your_field] from dataarea"
    
    'Appropriate driver needed for this statement

    Set dbData = OpenDatabase(strDBFullName, False, True, _
	"Excel8.0;HDR=YES;")

    Set rstWork = dbData.OpenRecordset(strSQL)

    rstWork.MoveLast 
   
    MsgBox rstWork.RecordCount

    Set rstWork = Nothing    
    Set dbData = Nothing
    End Sub
авторwhere [your_field] is the header of the column you are interested in and
the dataarea is a named area that contains all data in question (could be
the single column you are interested in).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Sub CountUniqueByPivotTable()

    On Error GoTo uOut

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    TheHeader = ActiveCell.Value

    ActiveSheet.PivotTableWizard SourceType:=xlDatabase, _
    SourceData:=ActiveSheet.Name & "!" & _
    Selection.Address, TableDestination:="", TableName:="uPivotTable"
 
    ActiveSheet.PivotTables("uPivotTable").AddFields RowFields:=TheHeader

    ActiveSheet.PivotTables("uPivotTable").PivotFields(TheHeader). _
    Orientation = xlDataField

    MsgBox Application.WorksheetFunction.CountA(Range("a:a")) -  3 

    ActiveSheet.Delete

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

    Exit Sub
uOut:
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub cMethodByCollection()
    CountUniqueByCollection Selection.Address
End Sub

Sub CountUniqueByCollection(AllCells As String)

    Dim NoDupes As New Collection

    On Error Resume Next

    For Each Cell In Range(AllCells)

        NoDupes.Add Cell.Value, CStr(Cell.Value)

	'Note: the 2nd argument (key) for the Add method must be a string

    Next Cell 
  
    On Error GoTo  0 

End Sub
авторAlthough not tested extensively, it appears that the procedure that uses
the Collection object produces the fastest result.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка уникальности названия в списке названий / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]