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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 242 След.
[ Закрыто] Сводная таблица , срезы
 
Валерий Иванов,тут наверное стоит сделать плоской таблицу - вот так норм все артикулы попадают, но лучше как сказали Выше...столбец артикул, столбец дата и столбец значение...
Изменено: Mershik - 06.05.2021 20:25:02
Не бойтесь совершенства. Вам его не достичь.
Распределение объемов работ в заданном периоде
 
Цитата
Михаил Р написал:
мне необходимо получить через запрос PQ.
к сожаленью, я могу только макросом и то если правильно понял...
Код
Sub mrshkei()
Dim i As Long, lr As Long, lcol As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
lcol = Cells(8, Columns.Count).End(xlToLeft).Column
Range(Cells(9, 7), Cells(lr, lcol)).ClearContents
For i = 9 To lr
    For n = 8 To lcol
        If Cells(8, n) = Cells(i, 3) Then
            d = Cells(i, 4) - Cells(i, 3)
            x = Cells(i, 6) / (d + 1)
            Range(Cells(i, n), Cells(i, n + d)) = x
            Cells(i, 7) = Application.WorksheetFunction.Sum(Range(Cells(i, n), Cells(i, n + d)))
            Exit For
        End If
    Next n
Next i
End Sub
Изменено: Mershik - 06.05.2021 20:02:58
Не бойтесь совершенства. Вам его не достичь.
Выделить месяц из даты для формулы суммирования
 
Miha, так теперь может предложите правильное название темы? Суммирование .........
Не бойтесь совершенства. Вам его не достичь.
Выделить месяц из даты для формулы суммирования
 
Miha, в С3 и протянуть вниз и вправо
Код
=СУММЕСЛИМН(свод!$C:$C;свод!$B:$B;$A4;свод!$A:$A;">="&C$1;свод!$A:$A;"<="&КОНМЕСЯЦА(C$1;0))
Изменено: Mershik - 06.05.2021 15:47:01
Не бойтесь совершенства. Вам его не достичь.
Выделить месяц из даты для формулы суммирования
 
Miha, замените файл - покажите в нем желаемый результат. и вы уверены что вам нужно просто выделить месяц? ну вот допустим  начало месяца у Вас есть 01.03.2021 можете получить последнйи день и суммировать между датами  
Код
=КОНМЕСЯЦА(C1;0)
Изменено: Mershik - 06.05.2021 15:26:24
Не бойтесь совершенства. Вам его не достичь.
Распределение объемов работ в заданном периоде
 
Михаил Р, а что сделать нужно то? в каком виде покажите в файле желаемый результат
Не бойтесь совершенства. Вам его не достичь.
SUM выдает неверную сумму
 
Цитата
Мартти Сыбер написал:
сам файл не могу показать
замените важные данные на выдуманные и покажите не весь а часть где воспроизводится ошибка.
Не бойтесь совершенства. Вам его не достичь.
Найти два значения по критериям из разных таблиц и суммировать их
 
Цитата
Виктория Кулевцова написал:
Коллеги, подскажите, пожалуйста, эффективную формулу.
вы же ее уже выбрали)
Цитата
Виктория Кулевцова написал:
при помощи функции ГПР,
Не бойтесь совершенства. Вам его не достичь.
Сортировка сгруппированных строк
 
Елена,
Код
Sub mrshkei()
Dim lr As Long, i As Long, k As Long, n As Long
Application.ScreenUpdating = False
lr = Cells(Rows.Count, 1).End(xlUp).Row
k = 0
For i = 3 To lr
    x = Rows(i).OutlineLevel
    If x = 1 Then
    n = 0
        For k = i + 1 To lr
            x = Rows(k).OutlineLevel
            If x > 1 Then
                n = k + 1
            Else
                ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Clear
                ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add2 Key:=Range(Cells(i + 1, 2), Cells(n - 1, 2)) _
                    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
                ActiveWorkbook.Worksheets("Лист1").Sort.SortFields.Add2 Key:=Range(Cells(i + 1, 3), Cells(n - 1, 3)) _
                    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
                With ActiveWorkbook.Worksheets("Лист1").Sort
                    .SetRange Range(Cells(i, 1), Cells(n - 1, 7))
                    .Header = xlYes
                    .MatchCase = False
                    .Orientation = xlTopToBottom
                    .SortMethod = xlPinYin
                    .Apply
                End With
                i = n
            End If
        Next k
    End If
Next i
Application.ScreenUpdating = True
End Sub
Изменено: Mershik - 05.05.2021 21:25:24
Не бойтесь совершенства. Вам его не достичь.
Извлечение из ячейки части текста, возможно ли решить данную задачу формулой
 
Павел Иванов,
Код
=ЕСЛИОШИБКА(СЖПРОБЕЛЫ(ПРАВСИМВ(A3;ДЛСТР(A3)-ПОИСК(ПРОСМОТР(2;1/ПОИСК({"мес";"час";"мин";"год"};A3);{"мес";"час";"мин";"год"});A3)+4));"")
Не бойтесь совершенства. Вам его не достичь.
Извлечение из ячейки части текста, возможно ли решить данную задачу формулой
 
Павел Иванов, может так
Код
=ПРАВСИМВ(A3;ДЛСТР(A3)-НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(A3;" ";СИМВОЛ(1);ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;" ";""))-1)))
Не бойтесь совершенства. Вам его не достичь.
Извлечение из ячейки части текста, возможно ли решить данную задачу формулой
 
Павел Иванов, А  водной ячейке несколько может быть?
Не бойтесь совершенства. Вам его не достичь.
Сцепить в текст несколько числовых значений с их единицами измерений
 
Цитата
PITBY написал:
rng2
удалил - это другой макрос был Вам он не нужен.
rng - это диапазон с группами
cell - ячейка где указана группа для которой будет склейка
d - вид разделителя
Цитата
И в примере функции, я так понял, в левом столбце где будут выводиться значения, необходимо ставить значения групп?
ну что бы определить для какой группы относится и что склеивать
Изменено: Mershik - 05.05.2021 12:03:52
Не бойтесь совершенства. Вам его не достичь.
Собирать дату из числовых показателей расположенных в разных столбцах.
 
star-md,
Код
=ДАТАЗНАЧ(D2&"."&E2&"."&F2 )+ВРЕМЗНАЧ(C2&":"&B2&":"&A2)
Не бойтесь совершенства. Вам его не достичь.
Сцепить в текст несколько числовых значений с их единицами измерений
 
Цитата
PITBY написал:
С функцией только не получается пока. Где-то не вникаю.
что не получается? у Вас же даже есть пример
Не бойтесь совершенства. Вам его не достичь.
Сцепить в текст несколько числовых значений с их единицами измерений
 
Цитата
PITBY написал:
Не могли бы прислать пример.
Не бойтесь совершенства. Вам его не достичь.
Сцепить в текст несколько числовых значений с их единицами измерений
 
Цитата
PITBY написал:
но функция была бы лучше.
например так, только предположил что группы всегда левее от нужных данных...
Код
Public Function comb_group(rng As Range, cell As Range, d As String)
For Each cel In rng
    If cel = cell Then
    If comb_group = "" Then
        comb_group = Format(cel.Offset(0, 1), "0.0") & " " & cel.Offset(0, 2)
    Else
        comb_group = comb_group & d & Format(cel.Offset(0, 1), "0.0") & " " & cel.Offset(0, 2)
    End If
    End If
Next cel
End Function
Не бойтесь совершенства. Вам его не достичь.
Сцепить в текст несколько числовых значений с их единицами измерений
 
PITBY, пусть будет вариант запуска кнопкой.
Цитата

Или ещё по какому признаку!?
сделал признак типа группы...т.к. цвет так себе вариант...
Код
Sub mrshkei()
    Dim arr, arr2, i As Long, n As Long, sh As Worksheet, sh2 As Worksheet, lr As Long, col As New Collection
    Set sh = Worksheets("Лист1"): Set sh2 = Worksheets("Лист2")
    lr = sh2.Cells(Rows.Count, 1).End(xlUp).Row
    arr = sh2.Range("A2:C" & lr)
    For i = LBound(arr) To UBound(arr)
        On Error Resume Next
        col.Add arr(i, 1), CStr(arr(i, 1))
    Next i
    ReDim arr2(1 To col.Count, 1 To 1): k = 1
    For i = 1 To col.Count
    For n = LBound(arr) To UBound(arr)
        If col(i) = arr(n, 1) Then
        If arr2(i, 1) = Empty Then
            arr2(i, 1) = Format(arr(n, 2), "0.0") & " " & arr(n, 3)
        Else
            arr2(i, 1) = arr2(i, 1) & "; " & Format(arr(n, 2), "0.0") & " " & arr(n, 3)
        End If
        End If
    Next n
    Next i
    sh.Columns(3).ClearContents
    sh.Range("C3").Resize(UBound(arr2), 1) = arr2
End Sub
Не бойтесь совершенства. Вам его не достичь.
Группировка данных из нескольких листов в одну ячейку (с условием)
 
Andrey, макрос
Код
Sub mrshkei()
Dim sh As Worksheet, sh2 As Worksheet, cell As Range, x As String
Set sh = Worksheets("Лист1")
For i = 1 To sh.Cells(Rows.Count, 1).End(xlUp).Row
For Each sh2 In Worksheets
    If sh.Name <> sh2.Name Then
        Set cell = sh2.Columns(1).Find(sh.Cells(i, 1), LookIn:=xlFormulas, LookAt:=xlWhole)
        If Not cell Is Nothing Then
            x = x & cell.Offset(0, 1) & ", "
        End If
    End If
Next sh2
sh.Cells(i, 2) = x: x = ""
Next i
End Sub

лучше вести на одном листе все сразу и делать сводную в нужном вам виде, а вообще как много листов с данными, если всего ниего то можно и формулой в ЛОБ
Код
=ИНДЕКС(Лист2!$B:$B;ПОИСКПОЗ(A1;Лист2!$A:$A;0))&","&ИНДЕКС(Лист3!$B:$B;ПОИСКПОЗ(A1;Лист3!$A:$A;0))
Изменено: Mershik - 04.05.2021 15:29:07
Не бойтесь совершенства. Вам его не достичь.
Группировка данных из нескольких листов в одну ячейку (с условием)
 
Andrey, только макросом)
Не бойтесь совершенства. Вам его не достичь.
Формирование списка отгрузки на дату
 
Mikhail76,
Цитата
Mikhail76 написал:
В таблице кроме данных что в примере еще несколько столбцов (вид груза, ответственный, телефон)
так их просто не выбирать и все....
Не бойтесь совершенства. Вам его не достичь.
Проставить номера по порядку по каждому контрагенту.
 
Елена, докажите) у меня иначе
Не бойтесь совершенства. Вам его не достичь.
Проставить номера по порядку по каждому контрагенту.
 
Алена З, У Вас уже все проставлено !Вы большая молодец)

а если серьезно нужно приложит файл-пример в формате ексель а так
Код
 =счетесли(диапазон_сверху до вашей ячейки_с названием контрагента; ячейка с название контрагента) (допустим у вас значенив с а1 начинаются =СЧЁТЕСЛИ($A$1:A1;A1))
Изменено: Mershik - 04.05.2021 14:23:27
Не бойтесь совершенства. Вам его не достичь.
Как из таблицы на 3 столбца перенести данные в один столбец
 
D.Frolov, еще вариант...
Код
Sub mrshkei()
Dim arr, arr2, i As Long, n As Long, rng As Range, rng2 As Range
Set rng = Application.InputBox("Выберите данные для объедения в 1 столбец (обычным выделением с первой заполненной ячейки до последней)", Type:=8)
arr = rng
ReDim arr2(1 To (UBound(arr, 2) - LBound(arr) + 1) * UBound(arr), 1 To 1): K = 1
    For n = LBound(arr) To (UBound(arr, 2) - LBound(arr) + 1)
    For i = LBound(arr) To UBound(arr)
        If arr(i, n) <> Empty Then arr2(K, 1) = arr(i, n): K = K + 1
    Next i
    Next n
Set rng2 = Application.InputBox("Выберите одну ячейку куда вывести результат (от нее и вниз)", Type:=8)
rng2.Resize(UBound(arr2), 1) = arr2
End Sub

Не бойтесь совершенства. Вам его не достичь.
Формирование списка отгрузки на дату
 
Mikhail76, измените формулу от memo,
Код
=ЕСЛИОШИБКА(ИНДЕКС(Таблица2[Пункт доставки (наименование организации)];АГРЕГАТ(15;6;СТРОКА(Таблица2[#Все])-1/(Таблица2[Дата факт. Отгрузки]=$B$2)/(Таблица2[Пункт доставки (наименование организации)]>0);СТРОКА(A1)));"")

но кажется реально проще сводную...как и предложил выше HrM

Изменено: Mershik - 04.05.2021 13:56:31
Не бойтесь совершенства. Вам его не достичь.
Формула, Заполнение с переносом, Перенос на новую строку в формуле
 
Ильяс Кильметов, может так а может и нет)
Код
=ИНДЕКС(ИНДЕКС(Лист1!$1:$1048576;ЦЕЛОЕ((СТРОКА()-5)/9)*9+9;1):ИНДЕКС(Лист1!$1:$1048576;ЦЕЛОЕ((СТРОКА()-5)/9)*9+9;33);(ОСТАТ(СТРОКА()-5;15)+2)*2)
Не бойтесь совершенства. Вам его не достичь.
Формула, Заполнение с переносом, Перенос на новую строку в формуле
 
Ильяс Кильметов,
Код
=ИНДЕКС(Лист1!$9:$9;(ОСТАТ(СТРОКА()-5;15)+2)*2)
Не бойтесь совершенства. Вам его не достичь.
Группировка по значениям в опорном столбце + анализ
 
Ваньюша Ваньюша,
в файле вариант формулами, а так же вариант 1 сводной, но он без произведения...
второй файл - макрос
Код
Sub mrshkei()
Dim arr, i As Long, arr2, n As Long, col As New Collection
lr = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("A2:C" & lr)
For i = LBound(arr) To UBound(arr)
    On Error Resume Next
    col.Add arr(i, 1), CStr(arr(i, 1))
Next i
ReDim arr2(1 To col.Count, 1 To 4)
For i = 1 To col.Count
    arr2(i, 1) = col(i)
    arr2(i, 2) = Application.WorksheetFunction.SumIf(Range("A2:A" & lr), col(i), Range("C2:C" & lr)) / Application.WorksheetFunction.CountIf(Range("A2:A" & lr), col(i))
    arr2(i, 3) = Application.WorksheetFunction.CountIf(Range("A2:A" & lr), col(i))
    arr2(i, 4) = arr2(i, 2) * arr2(i, 3)
Next i
Range("E2:E" & lr).ClearContents
Range("E2").Resize(UBound(arr2), 4) = arr2
End Sub
Изменено: Mershik - 03.05.2021 20:40:29
Не бойтесь совершенства. Вам его не достичь.
[ Закрыто] Проблемы с Index Match, При вводе определённых данных выдаёт ошибку, но при копипейсте всё работает.
 
Tural Suleymanzade, т.е. если допустим в E389 листа Action list поставлю Serial No. - 1 то данные должны формул обновится? так?  
Изменено: Mershik - 03.05.2021 20:08:56
Не бойтесь совершенства. Вам его не достичь.
[ Закрыто] Проблемы с Index Match, При вводе определённых данных выдаёт ошибку, но при копипейсте всё работает.
 
Tural Suleymanzade,
Цитата
Tural Suleymanzade написал:
Получается мне нужно каждой ячейке задать соответствующий формат?
нет - нужно что бы значения соответствовало друг другу т.е. 1  и "1" для экселя разные значения и не будут равны и значит вы их не найдете, но поменять просто формат ячеек недостаточно ..я выше писал
Цитата
Mershik написал:
видите рядом с 1 например в углу ячейки зелёненький треугольник ?
это значит что число на вид как число но по факту это текст. вот сюда загляните https://www.planetaexcel.ru/techniques/7/1091/
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 242 След.
Наверх