powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите! Срочно! Excel, повторяющиеся ячейки
11 сообщений из 36, страница 2 из 2
Помогите! Срочно! Excel, повторяющиеся ячейки
    #34577415
andMegaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SЕсть столбец в котором некоторые значения ячеек повторяются. С помощью какой функции Excel можно посчитать кол-во вариантов значений определенного столбца или диапазона?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub CommandButton1_Click() 'кол-во позиций
Dim kol As Integer

stroka = InputBox("Что Вы хотите подсчитать?")
kol = InputBox("Где Вы хотите подсчитать?")
v_Counter =  0 
For Each x In Worksheets( 1 ).UsedRange.Columns(kol).Cells
    If x = stroka Then v_Counter = v_Counter +  1 
  Next

If v_Counter =  0  Then MsgBox "Выражение " & " " & stroka & Chr( 13 ) & "НЕНАЙДЕНО     ", , "Сумма"
MultiPage1.Value =  0 

If v_Counter <>  0  Then MsgBox "Сумма позиций " & " " & stroka & Chr( 13 ) & "равно    " & v_Counter, , "Сумма"
MultiPage1.Value =  0 

End Sub
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39004271
HiHiMAX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,
спасибо за формулы, очень помогли
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39004304
HiHiMAX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HiHiMAX,
Нужна помощь.
есть БД строк довольно много ~60000. Есть поле "ID" - значения числовые, не уникальные, повторяющиеся сгруппированы вместе, могут быть пустые ячейки, например: "12,12,12,17,17,19,33,33,33,33,33,,,51".
Есть поле "name" - текст, повторяющиеся значения, например: "y,y,y,x,x,y,y,y,y,y,y"
Любой группе "ID" соответствует одно из значений x,y,z ....
нужно подсчитать сколько всего групп ID с name=x
Сейчас я считаю так:
=СУММПРОИЗВ(1/(СЧЁТЕСЛИ(R[38]C[-1]:R[60171]C[-1];""&R[38]C[-1]:R[60171]C[-1]));--(R[38]C[5]:R[60171]C[5]="x"))
это занимает довольно много времени, к тому же подобных выборок будет много - ексель может повиснуть.
Можно ли как-то упростить вычисления, пользуясь тем, что все группы ID сгруппированы между собой. Проверить наличие признака X только в первой ячеейке из группы.
у меня ексель 2003.
Надеюсь понятно описал суть вопроса.
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39005190
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HiHiMAXЕсть поле "ID" - значения числовые, не уникальные, повторяющиеся сгруппированы вместе, могут быть пустые ячейкиА пустым "ID" соответствуют какие-нибудь "name"? Если да, то считать ли пустой ID еще одной группой?
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39005205
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HiHiMAX,
пробуйте функцию, которая возвращает массив соответствия name - число групп ID.
Пустое ID считается группой.
Функцию можно ввести на отдельный лист, и обращаться к ее результату с помощью ВПР и т.п. Она будет пересчитываться только при изменении столбцов БД, которые являются аргументами функции.
Код: vbnet
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.
Function HiHiMAX(Id As Range, Nm As Range) As Variant()
Dim vId(), vNm(), i As Long, w(), di As Object, curId
vId = Id.Columns(1).Value
vNm = Nm.Columns(1).Value
Set di = CreateObject("scripting.dictionary")
di.comparemode = vbTextCompare '&#237;&#229; &#240;&#224;&#231;&#235;&#232;&#247;&#224;&#242;&#252; &#240;&#229;&#227;&#232;&#241;&#242;&#240; &#225;&#243;&#234;&#226; &#226; name
curId = Rnd
For i = 1 To UBound(vId)
  If vId(i, 1) <> curId Then
    curId = vId(i, 1)
    di(vNm(i, 1)) = di(vNm(i, 1)) + 1
  End If
Next
Erase vId
ReDim vNm(1 To Application.Caller.Rows.Count, 1 To 2)
i = 1
For Each curId In di.keys
  vNm(i, 1) = curId
  vNm(i, 2) = di(curId)
  i = i + 1
Next
For i = i To UBound(vNm)
  vNm(i, 1) = vbNullString
  vNm(i, 2) = vbNullString
Next
HiHiMAX = vNm
End Function
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39005327
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HiHiMAX, Вам здесь ответили, несколько вариантов предложили (и макросами и без формул массива)
Вы даже не отписались...
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39006411
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сводная таблица... в строки ставишь значения, рядом ставишь кол-во, и фильтром ><= 1 все делается....
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39017226
Bobgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T1gRa_NTСводная таблица... в строки ставишь значения, рядом ставишь кол-во, и фильтром ><= 1 все делается....
Именно сводная таблица - самый простой способ, исключающих мытарства. Хотя на вкус и цвет..
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39238247
UPSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемы знатоки Excel! Возникла похожая на топик необходимость, но немного отличается, и приведенные выше формулы не подходят, хотя я пробовал их править, но ничего так и не получилось :(
Задача на первый взгляд простая... Есть случайный набор из трёх чисел -1, 0 и 1. Нужно найти значение максимально длинной последовательности числа (-1) с возможными Нулями между -1. если попадается (1) по считать последовательность завершенной.

1
0
-1
0
1
-1
-1
-1

0
-1
0
-1
-1
-1

1
-1
-1
1
0
0
1
0
0
0
1
1
-1
1
1
-1
1
1
-1
1
#ДЕЛ/0!
#ДЕЛ/0!
#ДЕЛ/0!


Ответ в этом примере будет 7 .

Еще в самом конце последовательности может быть ошибка "#ДЕЛ/0!" т.к. колонка рассчитываемая, и данные для расчёта добавляются по мере появления. Т.е. #ДЕЛ/0! также означает конец последовательности, если она в самом конце.
Вот такие дела. Очень надеюсь на вашу помощь! Заранее спасибо!
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39239129
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В соседнем столбце формулы вставьте типа такого:
=МАКС(C3:C36)
** qewrt
1 =ЕСЛИ(B3=1; 0; ЕСЛИ(B3=-1; C2+1; C2))
0 =ЕСЛИ(B4=1; 0; ЕСЛИ(B4=-1; C3+1; C3))
-1 =ЕСЛИ(B5=1; 0; ЕСЛИ(B5=-1; C4+1; C4))
0 =ЕСЛИ(B6=1; 0; ЕСЛИ(B6=-1; C5+1; C5))
1 =ЕСЛИ(B7=1; 0; ЕСЛИ(B7=-1; C6+1; C6))
-1 =ЕСЛИ(B8=1; 0; ЕСЛИ(B8=-1; C7+1; C7))
-1 =ЕСЛИ(B9=1; 0; ЕСЛИ(B9=-1; C8+1; C8))
-1 =ЕСЛИ(B10=1; 0; ЕСЛИ(B10=-1; C9+1; C9))
0 =ЕСЛИ(B11=1; 0; ЕСЛИ(B11=-1; C10+1; C10))
-1 =ЕСЛИ(B12=1; 0; ЕСЛИ(B12=-1; C11+1; C11))
0 =ЕСЛИ(B13=1; 0; ЕСЛИ(B13=-1; C12+1; C12))
-1 =ЕСЛИ(B14=1; 0; ЕСЛИ(B14=-1; C13+1; C13))
-1 =ЕСЛИ(B15=1; 0; ЕСЛИ(B15=-1; C14+1; C14))
-1 =ЕСЛИ(B16=1; 0; ЕСЛИ(B16=-1; C15+1; C15))
1 =ЕСЛИ(B17=1; 0; ЕСЛИ(B17=-1; C16+1; C16))
-1 =ЕСЛИ(B18=1; 0; ЕСЛИ(B18=-1; C17+1; C17))
-1 =ЕСЛИ(B19=1; 0; ЕСЛИ(B19=-1; C18+1; C18))
1 =ЕСЛИ(B20=1; 0; ЕСЛИ(B20=-1; C19+1; C19))
0 =ЕСЛИ(B21=1; 0; ЕСЛИ(B21=-1; C20+1; C20))
0 =ЕСЛИ(B22=1; 0; ЕСЛИ(B22=-1; C21+1; C21))
1 =ЕСЛИ(B23=1; 0; ЕСЛИ(B23=-1; C22+1; C22))
0 =ЕСЛИ(B24=1; 0; ЕСЛИ(B24=-1; C23+1; C23))
0 =ЕСЛИ(B25=1; 0; ЕСЛИ(B25=-1; C24+1; C24))
0 =ЕСЛИ(B26=1; 0; ЕСЛИ(B26=-1; C25+1; C25))
1 =ЕСЛИ(B27=1; 0; ЕСЛИ(B27=-1; C26+1; C26))
1 =ЕСЛИ(B28=1; 0; ЕСЛИ(B28=-1; C27+1; C27))
-1 =ЕСЛИ(B29=1; 0; ЕСЛИ(B29=-1; C28+1; C28))
1 =ЕСЛИ(B30=1; 0; ЕСЛИ(B30=-1; C29+1; C29))
1 =ЕСЛИ(B31=1; 0; ЕСЛИ(B31=-1; C30+1; C30))
-1 =ЕСЛИ(B32=1; 0; ЕСЛИ(B32=-1; C31+1; C31))
1 =ЕСЛИ(B33=1; 0; ЕСЛИ(B33=-1; C32+1; C32))
1 =ЕСЛИ(B34=1; 0; ЕСЛИ(B34=-1; C33+1; C33))
-1 =ЕСЛИ(B35=1; 0; ЕСЛИ(B35=-1; C34+1; C34))
1 =ЕСЛИ(B36=1; 0; ЕСЛИ(B36=-1; C35+1; C35))
#ДЕЛ/0! =ЕСЛИ(B37=1; 0; ЕСЛИ(B37=-1; C36+1; C36))
#ДЕЛ/0! =ЕСЛИ(B38=1; 0; ЕСЛИ(B38=-1; C37+1; C37))
#ДЕЛ/0! =ЕСЛИ(B39=1; 0; ЕСЛИ(B39=-1; C38+1; C38))
а обработку #ДЕЛ/0 сами уж добавьте по аналогии.
...
Рейтинг: 0 / 0
Помогите! Срочно! Excel, повторяющиеся ячейки
    #39239232
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вспомнилось, ну люблю я заголовки столбцов писать))
Сейчас, когда данные начинаются с "1", всё нормуль. Чтоб не было ошибок в других случаях, стереть заголовок у доп.столбца.
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите! Срочно! Excel, повторяющиеся ячейки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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