Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164

Формула в ячейке для подсчёта серий чисел в других ячейках

02.01.2017, 17:08. Показов 2185. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть две ячейки А1 и А2 в них статистические данные с числами увеличивающиеся по порядку в зависимости от поступления новых данных,нужно в третьей ячейке А3 создать формулу которая могла бы подсчитывать серию сколько чисел прибавилось в ячейке А1пока в другой ячейке А2 данные не поступают,а потом если данные начинают поступать в ячейку А2 в ячейке А3 счёт начнётся сначала (то есть обнулятся прошлые данные в ячейке А3 )новая серия подсчёта теперь уже из ячейки А2.и так в зависимости в какую из ячеек А1 или А2 попеременно поступают данные по порядку ,в ячейке А3 работает счётчик серий.подскажите пожалуйста как создать такую формулу в ячейке А3..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.01.2017, 17:08
Ответы с готовыми решениями:

Формула для увеличения отличия чисел с сохранением позиций других элементов?
Нужно увеличить различия двух столбиков, при этом,сохранив позицию текста. Дано: A = 52, B = 48, C = 104. Это высота элементов. ...

Из суммы квадратов чисел, находящихся в ячейках А1 и А3 вычесть куб числа, находящегося в ячейке А2
Найти сумму квадратов чисел, находящихся в ячейках А1 и А3. От полученного результата вычесть куб числа, находящегося в ячейке А2....

Отделить номер телефона от других чисел в ячейке
Добрый день! Подскажите а как можно отделить номер телефона от других чисел в ячейке. Сейчас инфа в ячейке имеет вид ...

24
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
02.01.2017, 19:58
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
поступления новых данны
Надо понимать так - старые данные заменяются новыми.
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
сколько чисел прибавилось в ячейке
Надо понимать так - к старым данным добавляются новые
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
подскажите пожалуйста как создать такую формулу в ячейке А3
Никак. Если объясните лучше и с примером (в формате Ecxel), то может быть решение возможно с помощью макроса.
.
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
02.01.2017, 20:52  [ТС]
Надеюсь пояснил правильно
Вложения
Тип файла: xlsx счётчик серий.xlsx (10.1 Кб, 6 просмотров)
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
02.01.2017, 22:57
Код в модуле листа
Visual Basic
1
2
3
4
5
6
7
8
9
Private Preaddres
Private Sub Worksheet_Change(ByVal Target As Range)
n = [A3]
If Intersect(Range("A1:A2"), Target) Is Nothing Then Exit Sub
If Target.Address(0, 0) <> Preaddres Then n = 0
Preaddres = Target.Address(0, 0)
n = n + 1
[A3] = n
End Sub
Вложения
Тип файла: xls счётчик серий.xls (31.0 Кб, 5 просмотров)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 00:15  [ТС]
AlexM большое спасибо! хочу вас отблагодарить, могу я на телефон отправить который указан у вас?.есть ещё просьба,можно этот макрос подредактировать или другой нужно,чтобы функции те же были но можно было серии отслеживать не в одной ячейке А3 ,а для ячейки А1 серии прописывались в ячейке А3, а для ячейки А2 серии отображались в ячейке А4,ну и если в одной прописывалась серия то в другой просто обнуление и просто отображался ноль или пустая ячейка пока не начнётся серия в ней.и поясните как я могу ещё по всему листу накопировать ячейки с подобными функциями но переименованные ???
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 00:31
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
могу я на телефон отправить который указан у вас
можете
код в модуле листа
Visual Basic
1
2
3
4
5
6
7
8
9
Private Preaddres
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1:A2"), Target) Is Nothing Then Exit Sub
n = Target.Offset(2, 0)
If Target.Address(0, 0) <> Preaddres Then Range("A3:A4").Formula = "": n = 0
Preaddres = Target.Address(0, 0)
n = n + 1
Target.Offset(2, 0) = n
End Sub
Вложения
Тип файла: xls счётчик серий_01.xls (28.5 Кб, 3 просмотров)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 04:35  [ТС]
к сожалению не пойму как мне макрос применить к другим ячейкам на листе
Вложения
Тип файла: xlsx пример вводной таблицы.xlsx (11.3 Кб, 2 просмотров)
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 09:30
Код в модуле листа
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Preaddres
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("B2:B101,D2:D101"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
n = Target.Offset(0, 1)
If Target.Address(0, 0) <> Preaddres Then
    Range("C" & Target.Row).Formula = ""
    Range("E" & Target.Row).Formula = ""
    n = 0
End If
Preaddres = Target.Address(0, 0)
n = n + 1
Target.Offset(0, 1) = n
Application.EnableEvents = True
End Sub
Вложения
Тип файла: xls пример вводной таблицы_01.xls (33.0 Кб, 4 просмотров)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 16:07  [ТС]
Большое спасибо AlexM ! а можно редактируя этот код в модуле листа,сделать как минимум ещё восемь(а лучше по необходимости любое количество) вот таких же столбцов с диапазоном в 100 строк,и чтобы их можно было размещать в одном листе,но по различным диапазонам ячеек.вообщем можно копируя много раз в модуле листа,сам этот код,но с внесёнными в него изменениями диапазона ячеек , увеличить тем самым количество столбцов на одном отдельном листе ???что нужно,вносить изменения в команды коде или нужен другой макрос для возможности создания большего количества столбцов на листе с подобными функциями???
Миниатюры
Формула в ячейке для подсчёта серий чисел в других ячейках  
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 16:33
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
Большое спасибо AlexM
Не надо так, для этого есть специальные инструменты.
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
а можно редактируя этот код в модуле листа,сделать...
Редактировать можно, а копировать код с дополнениями и изменениями нельзя.
Добавить в код столбец F так: дополнить диапазон с троку
Visual Basic
1
If Intersect(Range("B2:B101,D2:D101,F2:F101"), Target) Is Nothing Then Exit Sub
и добавить строчку
Visual Basic
1
Range("G" & Target.Row).Formula = ""
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 18:34  [ТС]
Подредактировал код,работает.но возникла проблема.при вводе нового значения в строку первой группы из четырёх столбцов,обнуляется также и серия в этой же строке,но в другой группе из четырёх столбцов,а нужно чтобы эти группы столбцов(по четыре) были не зависимы друг от друга и сохраняли данные своих серий.можно исправить эту проблему внесением изменений или дополнительных команд в уже существующий отредактированный макрос ?

Добавлено через 3 минуты
вот файлик мой

Добавлено через 11 минут
и ещё только что увидел новую проблему,сохраняю файл эксель с данными серий,вхожу повторно сохранённые данные серий остаются но если продолжить вводить данные в ячейку,то в ячейке соответствующей серии,эта сохранённая серия не продолжается с сохранённого значения а начинается заново.это большая проблема
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 19:32
У вас что не сообщение, то новое задание.
Сначала пара ячеек вертикально, потом то же самое с обнулением, потом на 4 столбца, теперь пишите что в группах что-то не получается. Похоже опять поменялась структура таблицы.
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
вот файлик мой
Где файлик???
Цитата Сообщение от Aleks 1978 Посмотреть сообщение
сохранённая серия не продолжается с сохранённого значения а начинается заново.это большая проблема
И это новая задача.
Внимательно обдумывайте задание, чтобы решить задачу за один, два подхода.
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 20:30
Может быть надо так?
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("B2:B101,D2:D101"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
n = IIf(Target.Offset(0, 1) = Empty, 0, Target.Offset(0, 1))
Range("C" & Target.Row) = ""
Range("E" & Target.Row) = ""
Target.Offset(0, 1) = n + 1
Application.EnableEvents = True
End Sub
Вложения
Тип файла: xls пример вводной таблицы_03.xls (37.5 Кб, 4 просмотров)
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 20:36
4 строку можно так
Visual Basic
1
n = Target.Offset(0, 1)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 21:21  [ТС]
Я прошу прощения за свои глупые вопросы и что сразу полностью не описал задачу построения таблицы.я когда тему открывал с первой примерной задачей для ячеек,думал что будет некая формула для одной ячейке и я её самостоятельно уже прокопирую в нужные столбцы в любом месте лита и книги ,не думал что так будет сложно,и что необходим макрос...надеюсь вы мне поможете так как я вам уже описал все условия которые важны в этих столбцах, самое важное это конечно чтобы данные серий могли быть продолжены после открытия сохраненного файла книги эксель.если ошибку в строках я могу обойти то с сериями нет,ради сбора и отображения их в таблице мне и нужна вся эта программа... мой отредактированный код и файл эксель в его окончательном графическом виде приложу к сообщению..прошлый файл почему-то не выложился.
Вложения
Тип файла: xls окончательный вид таблицы.xls (39.5 Кб, 3 просмотров)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
03.01.2017, 21:28  [ТС]
Благодарю вас за отзывчивость и терпение.я попробую предложенный вами новый вариант,мне нужно время чтобы прописать его,и по тестить.
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
03.01.2017, 22:15
так надо?
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("B2:B101,D2:D101,G2:G101,I2:I101,L2:L101,N2:N101,Q2:Q101,S2:S101"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
n = Target.Offset(0, 1)
Range("C" & Target.Row).Offset(0, 5 * (Target.Column \ 5)) = ""
Range("E" & Target.Row).Offset(0, 5 * (Target.Column \ 5)) = ""
Target.Offset(0, 1) = n + 1
Application.EnableEvents = True
End Sub
Вложения
Тип файла: xls окончательный вид таблицы_01.xls (38.5 Кб, 5 просмотров)
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
04.01.2017, 00:01  [ТС]
Всё работает хорошо,кроме одной детали.ячейки счётчика серий срабатывают на начало подсчёта только если данные вбивать с клавиатуры, а если данные в ячейку поступают не в ручном порядка а автоматически от формулы массива которую я хочу прописать в ячейках для ввода данных или от простой формулы переноса данных с другого листа книги,данные переносятся,прописываются в ячейках для ввода данных отлично,но вот счётчик не срабатывает на их подсчёт.сложно это разрешить?у меня массивы на других листах и листов не мало откуда нужно переносить данные и постоянно кликать искать лист с моей таблицей чтобы вбить от руки довольно трудно будет.
0
 Аватар для AlexM
2904 / 1718 / 705
Регистрация: 04.09.2015
Сообщений: 3,445
04.01.2017, 00:35
Интересно, а еще сюрпризы остались?
Почему ни в одном примере нет второго листа, нет формулы?
0
5 / 5 / 0
Регистрация: 02.01.2017
Сообщений: 164
04.01.2017, 00:52  [ТС]
это от моего незнания экселя и программирования .я извиняюсь что не указал ранее и не придал важного значения этим деталям.сюрпризов больше не будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2017, 00:52
Помогаю со студенческими работами здесь

Формула для подсчета квадратов
Есть сетка 2х2, при условии что можно закрасить 1 квадрат, у нас получится 4 уникальных варианта, при 2ух квадратах - 6, при трех - 4....

Формула для подсчёта уникальных значений
Коллеги, приветствую! Не смог найти раздел с Excel, поэтому пишу здесь. Подскажите, пожалуйста, формулу, чтоб программа...

Формула для подсчета суммы за день
Добрый вечер! Помогите пожалуйста! Мне нужно подставить формулу,которая будет автоматически считать сумму задач за каждый день. Не...

Формула для подсчета средневзвешенного значения
Можно ли как-то по -другому посчитать, а то бывает очень большой диапазон значений и можно ошибиться. Заранее спасибо.

Формула для подсчета суммы по трем критериям
Помогите создать формулу для подсчета ссуммы по трем критериям! Пробовал использовать БДСУММ, но она считает только по одному критерию.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru