Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Подсчёт повторов начиная с текущей даты
 
Знатоки, доброго дня всем. Есть табличка в 3 столба, «дата время», статус, номер телефона.
в статусе 2 значения, пропущен или дозвон.

как быстро и автоматизированно посчитать или понять был ли дозвон на номер телефона после пропущенного? Т.е суммеслимн работает с параметром >=«&дата время», но т.к база растёт в течение месяца и доходит примерно до 500 тысяч ячеек формула подвешивает Эксель минут на 30-40. Пробовал через dax, через calculate(countrows и earlier, но как дело доходит до «времени» файл виснет наглухо. Как в pq ссылаться на диапозитив «после» к сожалению не знаю.

если нужен файл с примером, то могу завтра выложить, но вроде все описал максимально понятно.
Изменено: Cold_sauce - 16.02.2022 09:19:00 (добавлено вложение с примером)
Счетесли с помощью vba
 
Юрий М, проверял ваш макрос из 26 сообщения, да он работает, но не так быстро как-то sanja, плюс он выводит уникальные элементы столбца и количество повторов в исходном массиве, что в принципе можно было использовать, но для этого мне пришлось бы создавать отдельный лист и впром подтягивать истину или ложь к каждой строке, и до исправления Sanjay считал правильно количество повторов. Ну и по поводу скорости, ваш макрос отрабатывал 170 тыс строк порядка 2 минут, 270тыс строк около 4-5, макрос коротыш написал sanja во всех случаях не дольше 10 секунд.

извините, что долго не отвечал, спать тоже иногда надо:)0
Счетесли с помощью vba
 
Sanja,Огромное спасибо, ваш вариант работает очень быстро 270к строк обрабатываются в течение 5 секунд! единственное что вы написали если значение ячейки > 70 тогда да, но по условию было другое, а именно если количество повторов >70

как и обещал выкладываю пример, естественно большинство данных удалил, но в конце оставил формулы для дальнейшего преобразования. в столбце CC находиться формула, для которой и нужен макрос, чтобы можно было в дальнейшем посчитать другие параметры зависящие от кол-ва повторений.
Счетесли с помощью vba
 
Юрий М, хорошо. Так и поступим.  
Счетесли с помощью vba
 
Sanja, проверил ваш вариант макроса, в итоге он выдаёт количество ячеек в массиве. А хотелосьбы увидеть рядом с каждым значением либо количество повторений в массиве, либо при условии > 70 любой из вариантов которые уже обсуждались выше
заранее огромное спасибо за помощь
Счетесли с помощью vba
 
Юрий М, Дело в том, что я не знаю как именно применить .countif и сейчас пробую варианты которые вы предложили.
Счетесли с помощью vba
 
Юрий М, ну если ничего кроме улыбки, то можно было и такие варианты ( :), :( ), по поводу кода в сообщение, к сожалению сей час поправить не получится ибо даювижок браузера телефона не позволяет этого сделать, дома буду поправлю.
Счетесли с помощью vba
 

Код
Option Explicit
Sub znach_Count()
Dim ir As LongDim ishod As Range, iLastCell As Long, Cell As Range, iText As String, ischet As Long

iLastCell = Cells(13, 5).SpecialCells(xlLastCell).RowSet
 ishod = Range(Cells(14, 5), Cells(iLastCell, 5))
ir = 14
For Each Cell In iSource
  iText = Cells(ir, 5).Value  
  ischet = Application.WorksheetFunction.CountIf(iSource, iText)
  If ischet > 50 Then ischet = 1 Else iCount = 0
   Cells(ir, 77).Value = ischet
  ir = ir + 1
NextEnd Sub

Для примера вот макрос который считает и выдаёт то, что нужно, но при диапазоне в 270 тыс. Строк excel умер, точнее считал порядка полутора часов и так и не посчитал что нужно.
как превратить это в работу с массивом к сожалению не хватает ума.
Изменено: Cold_sauce - 01.06.2017 20:46:40
Счетесли с помощью vba
 
Юрий М, очень не люблю когда выдергивают куски из текста, т.к вы именно это и сделали когда цитировали "результатом может быть все что угодно", это промежуточный этап, который занимает огромное кол-во времени, и обойти его нельзя, Поэтому и попросил помочь.

Если макрос будет выводить кол-во повторов как и стандартная функция счётесли, то ок, добавлю ещё один столбец с с условием, если сразу с условием то любое значение при выполнение условия( 1,0 ; да,нет; true, false)
Счетесли с помощью vba
 
Юрий, я не считаю ваш вопрос по поводу проверки решения конструктивным, ибо перепечатать макрос или скопировать текст и отправить себе на раб почту можно и с телефона, а дальше внести
Изменено: Cold_sauce - 01.06.2017 11:22:11
Счетесли с помощью vba
 
Результатом может быть все что угодно, это потребуется для дальнейших расчетов. Т.е можно даже количество повторов в столбце. Можно при условие больше 70 повторов да если истина нет если ложь.  
Счетесли с помощью vba
 
К сожалению отправить файл не могу из-за того что сижу с телефона и интернет на работе закрыт, подсчитывается номер операции состоящий из 9цифр, но выгружается в текстовом формате.

другой инструмент к сожалению тоже не подходит ибо это требование работодателя.  
Счетесли с помощью vba
 
Добрый день, знатока своего дела.
Столкнулся я с такой сложностью, а именно есть огромная пелена данных и для определённых действий нужно посчитать количество повторов, если(счетесли(d15;d:d)>70;"да";"нет") справляется с задачей отлично, но вот проблема в том, что исходники бывают на 270 тысяч строк и из-за этого данная формула считает несколько часов.
Подскажите как можно ускорить весь процесс расчета? Ытался написать макрос но в vba я не силён.
Если вдруг повторил какую-то тему, то прошу прощения, я искал возможные решения и не нашёл
P.s ещё проблема в том, что файлов около 100 размеры у них от 2х МБ до 16МБ(в двоичной книге) и изменять их нельзя.
Изменено: Cold_sauce - 01.06.2017 11:19:11
Страницы: 1
Наверх