"Существует база рботников, отказавшихся от вакансии по той или иной причине. Нужно сделать отчет, который покажет причины отколов в разрезе источников привлечения соискателей (источник привлечения – столбец utm_sourse) с возможностью выбора периода дат. Необходимо посчитать количество каждой причины в зависимости от источника. Еще должен быть столбец с общим количеством по каждой причине и столбец, показывающий долю каждой причины от общего количества отколов."
Проблема: не получается настроить возможность выбора произвольного периода дат. Если делаю через сводную, даты филруются только по конкретным значениям (н-р. 10.11.20), а нужно чтобы по месяцам и числам в выбранном месяце (н-р: октябрь, 9,10,11 число. то есть как при обычном фильтре по дате без сводной таблицы).
Подскажите, какие есть решения? Возможно, проще обойтись без сводной таблицы?
Kuzmich написал: Используйте два словаря: один для столбца H-Технология ADSL, другой - для I-Технология GPON.Для ключа используйте конкатенацию первых семи ячеек (столбцы A-G) и "|"
Необходим макрос, который удаляет дубликаты строки, в которых отличается только 2 столбца (H и I). При этом текст в этих столбцах должен скопироваться из удаляемых строк и через ", " вставиться в оригинальную строку. Пожалуйста, посмотрите прикрепленный пример
Добрый вечер. Мне нужна формула для объединения значений из ячеек через ", ", но с учетом того, что значения может и не быть (см.пример). Пытался составить сам, но получается слишком большая. Может есть вариант получше?
Есть макрос который удаляет дубликаты строки, в которых отличается только один столбец. При этом текст в этом столбце копируется из удаляемых строк и через ", " вставиться в оригинальную строку:
Код
Sub test()
Dim arr(), iarr$(), ikey
Dim lRow&, i&, j&, itxt$
With Sheets("Лист1")
lRow = .Range("a" & .Rows.Count).End(xlUp).Row
arr = .Range("a2:o" & lRow).Value
.Range("a2:o" & lRow).ClearContents
End With
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(arr)
itxt = ""
For j = 1 To UBound(arr, 2)
If j <> UBound(arr, 2) - 1 Then itxt = itxt & arr(i, j) & "|"
Next j
.Item(itxt) = .Item(itxt) & arr(i, UBound(arr, 2) - 1) & ", "
Next i
lRow = 0
For Each ikey In .keys
lRow = lRow + 1
arr(lRow, UBound(arr, 2) - 1) = Left(.Item(ikey), Len(.Item(ikey)) - 2)
iarr = Split(Left(ikey, Len(ikey) - 1), "|")
For i = 0 To UBound(iarr)
If i = UBound(iarr) Then _
arr(lRow, UBound(arr, 2)) = iarr(i) Else arr(lRow, i + 1) = iarr(i)
Next i
Next ikey
End With
Sheets("Лист1").Range("a2").Resize(lRow, UBound(arr, 2)) = arr
End Sub
Результат работы см. в файле 1. Необходимо доработать его так, чтобы в последнем столбце значения при удалении строки так же переносились через запятую (см. файл 2).
Необходимо создать новый файл xls, скопировать на него содержимое листа "Ключ. слова". Затем переимновать созданный файл в значние из столбца D. Затем в созданном файле сделать замену следующих слов: - "москва" на значение из столбца E - "москве" на значение из столбца F - "московская область" на значение из столбца C Затем файл сохранятся и алгоритм повторяется для следующей строки.
Необходимо сделать необычный поиск ВПР. Если значение в искомом столбце встречается только один раз, то ВПР должен сработать как обычно. Но если 2 или больше, то вместо того, чтобы копировать первое попавшееся значение, в эту ячейку необходимо вставить "!!!" (просто чтобы пометить её). Как такое можно реализовать?
Nordheim, спасибо, кажется сработало) Эх, как бы и мне научиться писать такие сложные макросы? Основами программирования владею, не подскажите где найти хороший материал?
Необходим макрос, который удаляет дубликаты строки, в которых отличается только один столбец. При этом текст в этом столбце должен скопироваться из удаляемых строк и через ", " вставиться в оригинальную строку. Пожалуйста, посмотрите прикрепленный пример
В таблице, среди прочих, есть 2 "интервальных" столбца. В первом указано число, обозначающее начало промежутка, во втором - конец. Проблема в том, что некоторые интервалы пересекаются, любо входят друг в друга. Это необходимо исключить. Пожалуйста, посмотрите пример, там я обрисовал, что имеется сейчас и чего необходимо добиться.
Думаю, это можно сделать только с помощью макроса?
Необходим макрос, который дублирует строку, при этом "вырезая" всё, что находится в 3 ячейке после последовательности символов " (" из оригинальной строки и вставляя всё вырезанное в 3 ячейку копии строки. Пожалуйста, посмотрите прикрепленный пример и сразу станет понятнее
Добрый день. Помогите написать макрос, который делает следующее: выделяет все, что ниже активной ячейки, копирует в ячейку, которая активна в другом файле excel. Такое возможно?
Добрый день. Хотел узнать, существует ли доработанная версия макросов, описанных здесь: http://www.planetaexcel.ru/techniques/11/226/ ? То есть, чтобы была исключена ошибка "Метод AutoFill из класса Range завершен неверно"