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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 100 След.
Вставить картинку в тело письма Outlook, Вставить картинку в тело письма.
 
Света Демкина,
интересно, а какой у Вас офис?
у меня в 365 и то и то вставилось норм. может у вас несколько подписей?

может так (см вложение)
Изменено: evgeniygeo - 25.08.2025 16:21:22
Вставить картинку в тело письма Outlook, Вставить картинку в тело письма.
 
Света Демкина,
попробуйте так
Код
.Attachments.Add TempFilePath & "Details.jpg"
Приемы по использованию ИИ
 
Всем привет!
Может кто-то знает ресурсы похожие на местный раздел "Приемы" или что-то вроде "Для тех кто в танке" в телеге, но только по использованию ИИ?
Уверен, что кто-то должен постить что-то интересное  :) (примеры промптов, использование моделей в различных задачах и т.д.)
Изменено: evgeniygeo - 18.08.2025 12:09:45
Ускорить обновление запроса PQ в Power BI
 
Всем привет!
Есть запрос, который обновляется ~20мин. Его необходимо ускорить.
Цена -1000р

Подробно можно обсудить в телеге.

Код
let
    Source = SharePoint.Tables("https://sup.com/", [ApiVersion = 15]),
    MainList = Source{[Id="8c"]}[Items],
    #"Удаленные столбцы2" = Table.RemoveColumns(MainList,{"Versions"}),
    // --- Один раз загружаем справочник ---
    SafetyQuestions = MyTasksIncidentsQuestions,
    KeysList = List.Buffer(Table.Distinct(SafetyQuestions, {"Key"})[Key]),

    // Парсим JSON и обрабатываем
    ExpandJSON = Table.AddColumn(#"Удаленные столбцы2", "ParsedQuestions", each try Json.Document([Questions]) otherwise null),
    ConvertToTable = Table.ExpandRecordColumn(ExpandJSON, "ParsedQuestions", KeysList),
    #"Дублированный столбец" = Table.DuplicateColumn(ConvertToTable, "MIncEq", "MIncEq2"),
    #"Дублированный столбец1" = Table.DuplicateColumn(#"Дублированный столбец", "MNEq", "MNEq2"),
    // Раскрываем списки и записи
    #"Развернуть MIncEq2" = Table.ExpandListColumn(#"Дублированный столбец1", "MIncEq2"),
    #"Развернуть MNEq2" = Table.ExpandListColumn(#"Развернуть MIncEq2", "MNEq2"),
    #"Развернутый элемент MIncEq2" = Table.ExpandRecordColumn(#"Развернуть MNEq2", "MIncEq2", {"SAP_MESSAGE", "SAP"}, {"SAP_MESSAGE (Инцидент)", "SAP (Инцидент)"}),
    #"Развернутый элемент MNEq2" = Table.ExpandRecordColumn(#"Развернутый элемент MIncEq2", "MNEq2", {"SAP_MESSAGE", "SAP"}, {"SAP_MESSAGE (Несоответствие)", "SAP (Несоответствие)"}),
    #"Развернутый элемент SAP MIncEq2" = Table.ExpandRecordColumn(#"Развернутый элемент MNEq2", "SAP (Инцидент)", {"SAP", "Title", "Manufacturer", "Model", "TypeEquipment"}, {"SAP (Инцидент)", "Название оборудования (Инцидент)", "Manufacturer (Инцидент)", "Model (Инцидент)", "TypeEquipment (Инцидент)"}),
    #"Развернутый элемент SAP MNEq2" = Table.ExpandRecordColumn(#"Развернутый элемент SAP MIncEq2", "SAP (Несоответствие)", {"SAP", "Title", "Manufacturer", "Model", "TypeEquipment"}, {"SAP (Несоответствие)", "Название оборудования (Несоответствие)", "Manufacturer (Несоответствие)", "Model (Несоответствие)", "TypeEquipment (Несоответствие)"}),

    // Функция извлечения 'name'
    GetValue = (value as any) as any =>
        if Value.Is(value, Record.Type) and Record.HasFields(value, {"name"}) then value[name]
        else if Value.Is(value, List.Type) then
            Text.Combine(
                List.Transform(
                    List.Select(value, each Value.Is(_, Record.Type) and Record.HasFields(_, {"name"})),
                    each _[name]
                ),
                "#(lf)"
            )
        else if value = null then ""
        else Text.From(value, "ru-RU"),

    ExtractNames = Table.TransformColumns(#"Развернутый элемент SAP MNEq2", List.Transform(KeysList, each {_, GetValue, Text.Type})),
    #"Замененное значение" = Table.ReplaceValue(ExtractNames,null," ",Replacer.ReplaceValue,{"SAP_MESSAGE (Инцидент)", "SAP (Инцидент)", "Название оборудования (Инцидент)", "Manufacturer (Инцидент)", "Model (Инцидент)", "TypeEquipment (Инцидент)", "SAP_MESSAGE (Несоответствие)", "SAP (Несоответствие)", "Название оборудования (Несоответствие)", "Manufacturer (Несоответствие)", "Model (Несоответствие)", "TypeEquipment (Несоответствие)"}),

    // Группируем вопросы по Key1 + Title
    FilteredKeys = Table.SelectRows(SafetyQuestions, each List.Contains(KeysList, [Key])),
    GroupedByTitle = Table.Group(FilteredKeys, {"Key1", "Title"}, {
        {"ColumnsToMerge", each List.Transform(Table.Column(_, "Key"), Text.From)}
    }),

    AddMergedColumns = List.Accumulate(
        Table.ToRows(GroupedByTitle),
        #"Замененное значение",
        (table, group) =>
            let
                Title = group{1},
                Columns = group{2},
                ExistingColumns = List.Intersect({Columns, Table.ColumnNames(table)}),
                AddColumn = Table.AddColumn(table, Title,
                    each Text.Combine(
                        List.Transform(ExistingColumns, (col) => 
                            Text.From(Record.Field(_, col), "ru-RU")
                        ), 
                        "#(lf)"
                    ),
                    Text.Type
                ),
                RemoveOld = if List.Count(ExistingColumns) > 0 then Table.RemoveColumns(AddColumn, ExistingColumns) else AddColumn
            in
                RemoveOld
    ),

MergeValues = (column as list) as text =>
    let
        CleanedList = List.Transform(List.RemoveNulls(column), Text.From),
        Result = Text.Combine(CleanedList, "#(lf)")
    in
        Result,

    // Список столбцов для объединения
    columnsToMerge = {
        "SAP_MESSAGE (Несоответствие)",
        "SAP (Несоответствие)",
        "Название оборудования (Несоответствие)",
        "Manufacturer (Несоответствие)",
        "Model (Несоответствие)",
        "TypeEquipment (Несоответствие)",
        
        "SAP_MESSAGE (Инцидент)",
        "SAP (Инцидент)",
        "Название оборудования (Инцидент)",
        "Manufacturer (Инцидент)",
        "Model (Инцидент)",
        "TypeEquipment (Инцидент)"
    },

    // Группируем по Id и объединяем значения
    GroupByIncident = Table.Group(
        AddMergedColumns,
        {"Id"},
        {
            {"AllData", each Table.FirstN(_, 1), let schema = Table.Schema(AddMergedColumns) in Table.Type}
        } & List.Transform(columnsToMerge, (col) => {col, each MergeValues(Table.Column(_, col)), Text.Type})
    ),
    #"Удаленные столбцы1" = Table.RemoveColumns(GroupByIncident,{"Id"}),

// Список полей, которые НЕ нужно раскрывать из AllData
columnsToSkip = {
    "SAP_MESSAGE (Несоответствие)",
    "SAP (Несоответствие)",
    "Название оборудования (Несоответствие)",
    "Manufacturer (Несоответствие)",
    "Model (Несоответствие)",
    "TypeEquipment (Несоответствие)",
    
    "SAP_MESSAGE (Инцидент)",
    "SAP (Инцидент)",
    "Название оборудования (Инцидент)",
    "Manufacturer (Инцидент)",
    "Model (Инцидент)",
    "TypeEquipment (Инцидент)"
},

// Получаем список всех колонок из AddMergedColumns
allColumns = Table.ColumnNames(AddMergedColumns),

// Формируем список тех, что будем раскрывать из AllData
columnsToExpandFromAllData = List.Sort(List.Difference(allColumns, columnsToSkip)),

// Раскрываем только нужные поля из AllData
#"Развернутый элемент AllData" = Table.ExpandTableColumn(#"Удаленные столбцы1", "AllData", columnsToExpandFromAllData),

    #"Добавлен пользовательский объект" = Table.AddColumn(#"Развернутый элемент AllData", "LocationDepartmentRegion", each Text.From([LocationId]) & "/" & Text.From([DepartmentId]) & "/" & Text.From([RegionId])),
    #"Условный столбец добавлен" = Table.AddColumn(#"Добавлен пользовательский объект", "HashTag", each if Text.StartsWith([Title], "Несоответствие") then "#несоответствие_техобслуживание_" & Text.From([Id]) else [Id]),
    #"Измененный тип" = Table.TransformColumnTypes(#"Условный столбец добавлен",{{"DateIncidents", type date}, {"DateIncidents2", type date}}),
    #"Объединенные запросы" = Table.NestedJoin(#"Измененный тип", {"Id"}, MyTasks5Way, {"IncidentId"}, "MyTasks5Way", JoinKind.LeftOuter),
    #"Развернутый элемент MyTasks5Way" = Table.ExpandTableColumn(#"Объединенные запросы", "MyTasks5Way", {"Id", "Type5Way", "Корневые причины"}, {"Id5Why", "Type5Way", "Корневые причины"})
in
    #"Развернутый элемент MyTasks5Way"
Изменено: evgeniygeo - 11.08.2025 19:07:44
Подключение iqy файла в Power BI
 
По итогу проблема решалась настройками в списках Sharepoint
Планшет на Windows с полноценным Excel
 
Смотрел для себя планшет на винде с тачскрином. Рассматривал именно китайские ноунеймы, на которые от 100шт могут нанести ваше лого. Смотрел именно их, т.к. у них было соотношение цена качество по сравнению с именитыми брендами.
В итоге не взял т.к. не смотря на все, за эти же деньги можно купить ноут без тачскрина гораздо лучше.
Подключение iqy файла в Power BI
 
Коллеги, всем привет!
У меня есть портал на базе Sharepoint. Для анализа данных использую Power BI подключая к спискам, но проблема в ограничении 255 символов в ячейке.
Есть вариант использовать REST API, но есть нереальные сложности с одобрением, поэтому рассматриваю альтернативы.
Как идея, Sharepoint дает выгружать из списка iqy файл, который если открыть, то ты получаешь обновляемую таблицу из необходимого мне списка и без ограничений по символам (не учитывая ограничения самого excel).
Можно ли как-то получать эти же данные подключаясь напрямую к iqy файлу, а не к эксельке?
Изменено: evgeniygeo - 25.06.2025 21:59:31
заполнить пустые ячейки внутри виртуального массива
 
futurama3000,
ну как уж объяснили, именно поэтому я и говорил отразить примеры в файле)))
заполнить пустые ячейки внутри виртуального массива
 
futurama3000,
как вариант:
Код
=СУММ(--(ЕСЛИОШИБКА(ТЕКСТ(ДАТАЗНАЧ(B2:B37);"ММММ");"")=E1)*(C2:C37))


В E1 месяц текстом
заполнить пустые ячейки внутри виртуального массива
 
futurama3000,
а можете отразить в файле "как есть" и "как надо"
Как из таблицы ексель удалить все строки, кроме тех, которые есть во второй таблице ексель
 
Yuliya480,
можно макросом)
Разный текст определяется как одинаковый, "0" ="00"
 
Игорь Сова,
для разнообразия:
Код
=СУММПРОИЗВ((A2:A12=A2)*B2:B12)
[ Закрыто] Графики, Перенос автоматический данных из горизонтальной таблицы в вертикальную для создания графика.
 
El-Mix,
честно говоря, пока непонятно, что нужно сделать
ВПР и ГПР в одной формуле, Собрать данные по столбцу и по строке
 
khlopkov1977,

Код
=ИНДЕКС(Лист2!$C$3:$AA$10;ПОИСКПОЗ($B2;Лист2!$B$3:$B$10;0);ПОИСКПОЗ($D2;Лист2!$C$2:$AA$2;0))
Прогноз закупок на конец месяца с помощью формулы
 
Anastasia0609,
ну это кол-во дней в феврале 2015
Прогноз закупок на конец месяца с помощью формулы
 
Anastasia0609,
тогда может просто пропорцией?
20 дней - 25977477,98
28 дней - x

28 * 25977477,98 / 20
Изменено: evgeniygeo - 10.04.2025 11:14:57
Прогноз закупок на конец месяца с помощью формулы
 
Anastasia0609,
а нужно ли учитывать выходные, праздники или еще что-то?
При обновлении Подключения к книге открывается исходная книга
 
agregator,
советую использовать Power Query
Подтянуть все значения, Нужно подтянуть с одного файла и одного значения все значения которые относяться к этому значению
 
S.A.S.H.A-2001,
если офис старенький можно так:
Код
=ИНДЕКС([Подтянуть.xlsx]Лист1!$A$1:$B$500;НАИМЕНЬШИЙ(ЕСЛИ($A1=[Подтянуть.xlsx]Лист1!$A$1:$A$500;СТРОКА([Подтянуть.xlsx]Лист1!$A$1:$A$500));СТОЛБЕЦ(A1));2)
Подтянуть все значения, Нужно подтянуть с одного файла и одного значения все значения которые относяться к этому значению
 
S.A.S.H.A-2001,
в 2021 или 365 можно так:
Код
=ТРАНСП(ФИЛЬТР([Подтянуть.xlsx]Лист1!$B$1:$B$500;([Подтянуть.xlsx]Лист1!$A$1:$A$500=A1)*([Подтянуть.xlsx]Лист1!$B$1:$B$500<>"")))
присвоение название группы артикулам в списке, присвоить название группы артикулу в структурированной таблице
 
donya11,
в 2021 офисе и выше:
Код
=ПРОСМОТРX($C$4;$C$4:C5;$B$4:B5;"";0;-1)
Выведение статуса, Выведение статуса в отдельном листе
 
Kurtz,
Вы бы показали как вам нужно, а то не совсем понятно по каким условиям необходимо получить статусы.

Пока что вот:
Код
=ЕСЛИОШИБКА(ПРОСМОТРX(A2;--'База данных'!$A$2:$A$17;'База данных'!$I$2:$I$17);"")
Календарь проектов с возможностью указания этапов проекта в ячейках
 
Alksks,
не совсем понял, т.е. вы хотите чтобы все было на одной строке как на скрине?

А если будут пересечения, то как быть?
Копирование данных в соседний столбец перед обновлением
 
БМВ,
а вроде тоже самое по итогу надо)))
правда ТС больше в лс стучится  :D
Копирование данных в соседний столбец перед обновлением
 
БМВ,
тема: "Копирование данных в соседний столбец перед обновлением"
Excel не сохраняет надежные расположения
 
EShikh,
предположу, что не стоит галка:
вместе СУММЕСЛИМН + ПРОМЕЖ.ИТОГИ, чтоб промеж.итоги работали в режиме суммеслимн
 
shel,
Код
=СУММ(ЕСЛИ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(A$4:A3000;СТРОКА(A$4:A3000)-МИН(СТРОКА(A$4:A3000));;1))>0;ЕСЛИ(A$4:A3000=D1;E$4:E3000)))


или через доп столбец:
Код
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;E4)

и по нему уже:
Код
=СУММЕСЛИМН(G$4:G6;A$4:A6;D1)
Изменено: evgeniygeo - 24.03.2025 07:54:43
Календарь проектов с возможностью указания этапов проекта в ячейках
 
Alksks,
я бы Вам посоветовал посмотреть в сторону макросов. Мне кажется, что это будет лучшим вариантом.
Во вложении сделал небольшой кусок с двумя кнопками, в дальнейшем можно добавить функционал.
Изменено: evgeniygeo - 24.03.2025 07:45:38
Копирование данных в соседний столбец перед обновлением
 
Oleg25897,
можно макросом, повесить на кнопку обновление таблицы, а перед этим копирование в соседний столбец

без примера, пальцем в небо:
Код
Sub refr()
Columns("C:C").ClearContents
Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Copy Range("C1")
ThisWorkbook.RefreshAll
End Sub
Изменено: evgeniygeo - 24.03.2025 07:13:49
О дополнении формулы расчёта времени
 
Zokup,
приложите файл-пример, у меня вроде ок
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 100 След.
Наверх