Результаты поиска
krosav4ig
Дата: Пятница, 27.09.2019, 22:32 |
Сообщение № 181 | Тема: Пронумеровать условные группы последовательности чисел
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение можно еще немного проще Автор - krosav4ig Дата добавления - 27.09.2019 в 22:32
krosav4ig
Дата: Среда, 25.09.2019, 02:17 |
Сообщение № 182 | Тема: Как посчитать в массиве суммы и поставить не на каждой строк
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Код
=ЕСЛИ(СУММ(СЧЁТЕСЛИ(H3;{"*Ардели*0,5*";"*Георгиевс*0,5*"}));;СУММ(СУММЕСЛИМН(I$3:I$23;C$3:C$23;C3;E$3:E$23;E3;H$3:H$23;{"*Ардели*0,5*";"*Георгиевс*0,5*"})))
Код
=ЕСЛИ(СУММ(СЧЁТЕСЛИ(H3;{"*Ардели*0,5*";"*Георгиевс*0,5*"}));;СУММ(СУММЕСЛИМН(I$3:I$23;C$3:C$23;C3;E$3:E$23;E3;H$3:H$23;{"*Ардели*0,5*";"*Георгиевс*0,5*"})))
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Код
=ЕСЛИ(СУММ(СЧЁТЕСЛИ(H3;{"*Ардели*0,5*";"*Георгиевс*0,5*"}));;СУММ(СУММЕСЛИМН(I$3:I$23;C$3:C$23;C3;E$3:E$23;E3;H$3:H$23;{"*Ардели*0,5*";"*Георгиевс*0,5*"})))
Автор - krosav4ig Дата добавления - 25.09.2019 в 02:17
krosav4ig
Дата: Суббота, 21.09.2019, 23:31 |
Сообщение № 183 | Тема: построение прямой на графике (вариант)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Gold_Barsik , если стоит Microsoft Office Compatibility Pack, попробуйте сохранить в xlsb (в поле тип файла обычно 5 строчка снизу)
Gold_Barsik , если стоит Microsoft Office Compatibility Pack, попробуйте сохранить в xlsb (в поле тип файла обычно 5 строчка снизу)krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Gold_Barsik , если стоит Microsoft Office Compatibility Pack, попробуйте сохранить в xlsb (в поле тип файла обычно 5 строчка снизу)Автор - krosav4ig Дата добавления - 21.09.2019 в 23:31
krosav4ig
Дата: Среда, 18.09.2019, 21:30 |
Сообщение № 184 | Тема: ABC анализ - кличество по категориям формулой без доп.столбц
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
вариант без доп. столбцовКод
=ПОИСКПОЗ(СУММ($A$3:A3);МУМНОЖ(ЕСЛИ((СТРОКА(B$9:B$52)>=ТРАНСП(СТРОКА(B$9:B$52)));НАИБОЛЬШИЙ(B$9:B$52;ЕСЛИ(СТРОКА(B$9:B$52);ТРАНСП(СТРОКА(B$9:B$52)-8))););СТРОКА(B$9:B$52)^0))-СУММ($D$2:D2)
вариант без доп. столбцовКод
=ПОИСКПОЗ(СУММ($A$3:A3);МУМНОЖ(ЕСЛИ((СТРОКА(B$9:B$52)>=ТРАНСП(СТРОКА(B$9:B$52)));НАИБОЛЬШИЙ(B$9:B$52;ЕСЛИ(СТРОКА(B$9:B$52);ТРАНСП(СТРОКА(B$9:B$52)-8))););СТРОКА(B$9:B$52)^0))-СУММ($D$2:D2)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение вариант без доп. столбцовКод
=ПОИСКПОЗ(СУММ($A$3:A3);МУМНОЖ(ЕСЛИ((СТРОКА(B$9:B$52)>=ТРАНСП(СТРОКА(B$9:B$52)));НАИБОЛЬШИЙ(B$9:B$52;ЕСЛИ(СТРОКА(B$9:B$52);ТРАНСП(СТРОКА(B$9:B$52)-8))););СТРОКА(B$9:B$52)^0))-СУММ($D$2:D2)
Автор - krosav4ig Дата добавления - 18.09.2019 в 21:30
krosav4ig
Дата: Понедельник, 16.09.2019, 17:11 |
Сообщение № 185 | Тема: Выборка данных из другой книги
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Добрый деньКод
=ВПР(B2;'D:\TMP\[5045243.xls]TDSheet'!$B$9:$G$9999;6;)
у себя в формуле поменяйте путь к файлу и его имя
Добрый деньКод
=ВПР(B2;'D:\TMP\[5045243.xls]TDSheet'!$B$9:$G$9999;6;)
у себя в формуле поменяйте путь к файлу и его имя krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Добрый деньКод
=ВПР(B2;'D:\TMP\[5045243.xls]TDSheet'!$B$9:$G$9999;6;)
у себя в формуле поменяйте путь к файлу и его имя Автор - krosav4ig Дата добавления - 16.09.2019 в 17:11
krosav4ig
Дата: Воскресенье, 15.09.2019, 20:47 |
Сообщение № 186 | Тема: Сортировка до пустой строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте [vba]Код
Sub SortNak() Dim r As Range: Set r = [g9] With r.CurrentRegion With Intersect(.Offset(r.Row - .Row, r.Column - .Column), .Cells) .Sort r, xlAscending, , , , , , xlYes End With End With End Sub
[/vba]
Здравствуйте [vba]Код
Sub SortNak() Dim r As Range: Set r = [g9] With r.CurrentRegion With Intersect(.Offset(r.Row - .Row, r.Column - .Column), .Cells) .Sort r, xlAscending, , , , , , xlYes End With End With End Sub
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуйте [vba]Код
Sub SortNak() Dim r As Range: Set r = [g9] With r.CurrentRegion With Intersect(.Offset(r.Row - .Row, r.Column - .Column), .Cells) .Sort r, xlAscending, , , , , , xlYes End With End With End Sub
[/vba] Автор - krosav4ig Дата добавления - 15.09.2019 в 20:47
krosav4ig
Дата: Четверг, 12.09.2019, 18:12 |
Сообщение № 187 | Тема: Функция подсчета суммы и количества ячеек с условием
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
t330 , при нотации [vba]Код
For a = b To c Step d DoEvents Next
[/vba] оператор Next прибавляет приращение d (по умолчанию 1) к итератору a независимо от значения последнего (за исключением случая ) к примеру, выполните в Immediate [vba]Код
For i=0 To 0:?i:Next:?i
[/vba]
t330 , при нотации [vba]Код
For a = b To c Step d DoEvents Next
[/vba] оператор Next прибавляет приращение d (по умолчанию 1) к итератору a независимо от значения последнего (за исключением случая ) к примеру, выполните в Immediate [vba]Код
For i=0 To 0:?i:Next:?i
[/vba]krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение t330 , при нотации [vba]Код
For a = b To c Step d DoEvents Next
[/vba] оператор Next прибавляет приращение d (по умолчанию 1) к итератору a независимо от значения последнего (за исключением случая ) к примеру, выполните в Immediate [vba]Код
For i=0 To 0:?i:Next:?i
[/vba]Автор - krosav4ig Дата добавления - 12.09.2019 в 18:12
krosav4ig
Дата: Воскресенье, 08.09.2019, 05:32 |
Сообщение № 188 | Тема: Сортировка на основании маркировки наименования
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
вариант [vba]Код
Option Explicit Sub Sorting() Dim arr() As Variant, s, maxLevel%, i, j, v, s0$, dic As Object, arr1 As Variant Set dic = CreateObject("scripting.dictionary") With ActiveSheet.UsedRange.Columns(1) ReDim arr(.Rows.Count - 1) For Each s In .Value j = 0: s0 = "'" For Each v In Split(Split(s, "_")(0), ".") s0 = s0 & Application.Dec2Hex(Val(v), 4) j = j + 1 Next If j > maxLevel Then maxLevel = j Else ShiftLeft s0, maxLevel - j End If If Not IsArray(dic(maxLevel)) Then dic(maxLevel) = Array(i) Else arr1 = dic(maxLevel) ReDim Preserve arr1(UBound(arr1) + 1) arr1(UBound(arr1)) = i dic(maxLevel) = arr1 End If arr(i) = Array(s0, s) i = i + 1 Next For j = maxLevel - 1 To 1 Step -1 If IsArray(dic(j)) Then For Each i In dic(j) ShiftLeft arr(i)(0), maxLevel - j Next End If Next Quicksort arr, 0, UBound(arr) .Value = Application.Index(arr, 0, 2) End With End Sub Private Sub ShiftLeft(ByRef s, n) s = s & Application.Rept("0000", n) End Sub Private Sub Quicksort(vArray As Variant, arrLbound As Long, arrUbound As Long) 'Sorts a one-dimensional VBA array from smallest to largest 'using a very fast quicksort algorithm variant. Dim pivotVal As Variant Dim vSwap As Variant Dim tmpLow As Long Dim tmpHi As Long tmpLow = arrLbound tmpHi = arrUbound pivotVal = vArray((arrLbound + arrUbound) \ 2)(0) While (tmpLow <= tmpHi) 'divide While (vArray(tmpLow)(0) < pivotVal And tmpLow < arrUbound) tmpLow = tmpLow + 1 Wend While (pivotVal < vArray(tmpHi)(0) And tmpHi > arrLbound) tmpHi = tmpHi - 1 Wend If (tmpLow <= tmpHi) Then vSwap = vArray(tmpLow) vArray(tmpLow) = vArray(tmpHi) vArray(tmpHi) = vSwap tmpLow = tmpLow + 1 tmpHi = tmpHi - 1 End If Wend If (arrLbound < tmpHi) Then Quicksort vArray, arrLbound, tmpHi 'conquer If (tmpLow < arrUbound) Then Quicksort vArray, tmpLow, arrUbound 'conquer End Sub
[/vba]
вариант [vba]Код
Option Explicit Sub Sorting() Dim arr() As Variant, s, maxLevel%, i, j, v, s0$, dic As Object, arr1 As Variant Set dic = CreateObject("scripting.dictionary") With ActiveSheet.UsedRange.Columns(1) ReDim arr(.Rows.Count - 1) For Each s In .Value j = 0: s0 = "'" For Each v In Split(Split(s, "_")(0), ".") s0 = s0 & Application.Dec2Hex(Val(v), 4) j = j + 1 Next If j > maxLevel Then maxLevel = j Else ShiftLeft s0, maxLevel - j End If If Not IsArray(dic(maxLevel)) Then dic(maxLevel) = Array(i) Else arr1 = dic(maxLevel) ReDim Preserve arr1(UBound(arr1) + 1) arr1(UBound(arr1)) = i dic(maxLevel) = arr1 End If arr(i) = Array(s0, s) i = i + 1 Next For j = maxLevel - 1 To 1 Step -1 If IsArray(dic(j)) Then For Each i In dic(j) ShiftLeft arr(i)(0), maxLevel - j Next End If Next Quicksort arr, 0, UBound(arr) .Value = Application.Index(arr, 0, 2) End With End Sub Private Sub ShiftLeft(ByRef s, n) s = s & Application.Rept("0000", n) End Sub Private Sub Quicksort(vArray As Variant, arrLbound As Long, arrUbound As Long) 'Sorts a one-dimensional VBA array from smallest to largest 'using a very fast quicksort algorithm variant. Dim pivotVal As Variant Dim vSwap As Variant Dim tmpLow As Long Dim tmpHi As Long tmpLow = arrLbound tmpHi = arrUbound pivotVal = vArray((arrLbound + arrUbound) \ 2)(0) While (tmpLow <= tmpHi) 'divide While (vArray(tmpLow)(0) < pivotVal And tmpLow < arrUbound) tmpLow = tmpLow + 1 Wend While (pivotVal < vArray(tmpHi)(0) And tmpHi > arrLbound) tmpHi = tmpHi - 1 Wend If (tmpLow <= tmpHi) Then vSwap = vArray(tmpLow) vArray(tmpLow) = vArray(tmpHi) vArray(tmpHi) = vSwap tmpLow = tmpLow + 1 tmpHi = tmpHi - 1 End If Wend If (arrLbound < tmpHi) Then Quicksort vArray, arrLbound, tmpHi 'conquer If (tmpLow < arrUbound) Then Quicksort vArray, tmpLow, arrUbound 'conquer End Sub
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение вариант [vba]Код
Option Explicit Sub Sorting() Dim arr() As Variant, s, maxLevel%, i, j, v, s0$, dic As Object, arr1 As Variant Set dic = CreateObject("scripting.dictionary") With ActiveSheet.UsedRange.Columns(1) ReDim arr(.Rows.Count - 1) For Each s In .Value j = 0: s0 = "'" For Each v In Split(Split(s, "_")(0), ".") s0 = s0 & Application.Dec2Hex(Val(v), 4) j = j + 1 Next If j > maxLevel Then maxLevel = j Else ShiftLeft s0, maxLevel - j End If If Not IsArray(dic(maxLevel)) Then dic(maxLevel) = Array(i) Else arr1 = dic(maxLevel) ReDim Preserve arr1(UBound(arr1) + 1) arr1(UBound(arr1)) = i dic(maxLevel) = arr1 End If arr(i) = Array(s0, s) i = i + 1 Next For j = maxLevel - 1 To 1 Step -1 If IsArray(dic(j)) Then For Each i In dic(j) ShiftLeft arr(i)(0), maxLevel - j Next End If Next Quicksort arr, 0, UBound(arr) .Value = Application.Index(arr, 0, 2) End With End Sub Private Sub ShiftLeft(ByRef s, n) s = s & Application.Rept("0000", n) End Sub Private Sub Quicksort(vArray As Variant, arrLbound As Long, arrUbound As Long) 'Sorts a one-dimensional VBA array from smallest to largest 'using a very fast quicksort algorithm variant. Dim pivotVal As Variant Dim vSwap As Variant Dim tmpLow As Long Dim tmpHi As Long tmpLow = arrLbound tmpHi = arrUbound pivotVal = vArray((arrLbound + arrUbound) \ 2)(0) While (tmpLow <= tmpHi) 'divide While (vArray(tmpLow)(0) < pivotVal And tmpLow < arrUbound) tmpLow = tmpLow + 1 Wend While (pivotVal < vArray(tmpHi)(0) And tmpHi > arrLbound) tmpHi = tmpHi - 1 Wend If (tmpLow <= tmpHi) Then vSwap = vArray(tmpLow) vArray(tmpLow) = vArray(tmpHi) vArray(tmpHi) = vSwap tmpLow = tmpLow + 1 tmpHi = tmpHi - 1 End If Wend If (arrLbound < tmpHi) Then Quicksort vArray, arrLbound, tmpHi 'conquer If (tmpLow < arrUbound) Then Quicksort vArray, tmpLow, arrUbound 'conquer End Sub
[/vba] Автор - krosav4ig Дата добавления - 08.09.2019 в 05:32
krosav4ig
Дата: Среда, 04.09.2019, 17:21 |
Сообщение № 189 | Тема: PQ преобразовать объединенный запрос с файла на папку файлов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
[vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then List.Accumulate(ColumnsToRename,Promoted,(a,b)=>try Table.RenameColumns(a,b) otherwise a) else Promoted, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")" ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = List.Transform({Оценка_проектов_по_году,Мониторинг_КП_ежекв},each List.Range(Table.ColumnNames(_),0,3)), Join = Table.NestedJoin(Оценка_проектов_по_году,Columns{0},Мониторинг_КП_ежекв,Columns{1},"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году)&List.Combine(Columns))), Folder = Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba]
[vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then List.Accumulate(ColumnsToRename,Promoted,(a,b)=>try Table.RenameColumns(a,b) otherwise a) else Promoted, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")" ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = List.Transform({Оценка_проектов_по_году,Мониторинг_КП_ежекв},each List.Range(Table.ColumnNames(_),0,3)), Join = Table.NestedJoin(Оценка_проектов_по_году,Columns{0},Мониторинг_КП_ежекв,Columns{1},"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году)&List.Combine(Columns))), Folder = Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение [vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then List.Accumulate(ColumnsToRename,Promoted,(a,b)=>try Table.RenameColumns(a,b) otherwise a) else Promoted, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")" ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = List.Transform({Оценка_проектов_по_году,Мониторинг_КП_ежекв},each List.Range(Table.ColumnNames(_),0,3)), Join = Table.NestedJoin(Оценка_проектов_по_году,Columns{0},Мониторинг_КП_ежекв,Columns{1},"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году)&List.Combine(Columns))), Folder = Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba] Автор - krosav4ig Дата добавления - 04.09.2019 в 17:21
krosav4ig
Дата: Вторник, 03.09.2019, 02:00 |
Сообщение № 190 | Тема: PQ преобразовать объединенный запрос с файла на папку файлов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте [vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then Table.RenameColumns(Promoted,ColumnsToRename) else 1, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")", {{"№#(lf)п.п.", "№ п.п."}} ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = {"ФИО", "№ п.п.", "Наименование проекта"}, Join = Table.NestedJoin(Оценка_проектов_по_году,Columns,Мониторинг_КП_ежекв,Columns,"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году))), Folder=Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba]
Здравствуйте [vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then Table.RenameColumns(Promoted,ColumnsToRename) else 1, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")", {{"№#(lf)п.п.", "№ п.п."}} ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = {"ФИО", "№ п.п.", "Наименование проекта"}, Join = Table.NestedJoin(Оценка_проектов_по_году,Columns,Мониторинг_КП_ежекв,Columns,"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году))), Folder=Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуйте [vba]Код
let fx=(FileContents) => let fn =(t as table, SheetName as text, optional NeededColumns as nullable list, optional Filter as nullable text, optional ColumnsToRename as nullable list)=>let Sheet = t{[Item=SheetName,Kind="Sheet"]}[Data], NeededCol = if NeededColumns<>null then Table.SelectColumns(Sheet,NeededColumns) else Sheet, Filtered = if Filter<>null then Table.SelectRows(NeededCol, each Expression.Evaluate(Filter,[_=_])) else NeededCol, Promoted = Table.PromoteHeaders(Filtered, [PromoteAllScalars=true]), RenameCol = if ColumnsToRename<>null then Table.RenameColumns(Promoted,ColumnsToRename) else 1, FullName = NeededCol{[Column3="ФИО работника:"]}[Column4], AddName = Table.AddColumn(RenameCol, "ФИО", each FullName) in Table.ReorderColumns(AddName,{"ФИО"}&Table.ColumnNames(RenameCol)), Мониторинг_КП_ежекв = fn( FileContents, "Мониторинг КП_ежекв", {"Column2", "Column3", "Column4", "Column5", "Column6"}, "([Column2] <> null) and ([Column4] <> null) and ([Column3] <> ""-"")", {{"№#(lf)п.п.", "№ п.п."}} ), Оценка_проектов_по_году = fn( FileContents, "Оценка проектов (по году)", {"Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column11", "Column12", "Column18"}, "([Column3] <> null) and ([Column3] <> ""-"") and ([Column5] <> null) and ([Column3] <> 2)", {{"Column5", "Качество балл (факт)"}, {"Column7", "График балл (факт)"}} ), Columns = {"ФИО", "№ п.п.", "Наименование проекта"}, Join = Table.NestedJoin(Оценка_проектов_по_году,Columns,Мониторинг_КП_ежекв,Columns,"GetData",JoinKind.LeftOuter) in Table.ExpandTableColumn(Join, "GetData", List.Difference(Table.ColumnNames(Мониторинг_КП_ежекв),Table.ColumnNames(Оценка_проектов_по_году))), Folder=Table.SelectRows(Folder.Files("D:\x"),each (not [Attributes][NotContentIndexed]) and ([Attributes][Kind]="Excel File"))[[#"Folder Path"],[Name],[Content]], Transform = Table.TransformColumns(Folder, {{"Content",each fx(Table.Buffer(Excel.Workbook(_, null, true)))}}) in Transform
[/vba] Автор - krosav4ig Дата добавления - 03.09.2019 в 02:00
krosav4ig
Дата: Пятница, 30.08.2019, 21:11 |
Сообщение № 191 | Тема: Выделение шести цифр
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ДЛСТР(A2)-ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);ДЛСТР(A2)-СТРОКА($1:$999)+1;1))*СТРОКА($1:$999));)+2;{3;4;5});ПОВТОР(0;{3;4;5})));"")
Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ДЛСТР(A2)-ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);ДЛСТР(A2)-СТРОКА($1:$999)+1;1))*СТРОКА($1:$999));)+2;{3;4;5});ПОВТОР(0;{3;4;5})));"")
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ДЛСТР(A2)-ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);ДЛСТР(A2)-СТРОКА($1:$999)+1;1))*СТРОКА($1:$999));)+2;{3;4;5});ПОВТОР(0;{3;4;5})));"")
Автор - krosav4ig Дата добавления - 30.08.2019 в 21:11
krosav4ig
Дата: Пятница, 30.08.2019, 13:57 |
Сообщение № 192 | Тема: Выделение шести цифр
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
можно как-то так Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);СТРОКА($1:$999);1))*СТРОКА($1:$999));)-{3;4;5};{3;4;5});ПОВТОР(0;{3;4;5})));"")
можно как-то так Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);СТРОКА($1:$999);1))*СТРОКА($1:$999));)-{3;4;5};{3;4;5});ПОВТОР(0;{3;4;5})));"")
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение можно как-то так Код
=ЕСЛИОШИБКА(ПРОСМОТР("яяя";ТЕКСТ(--ПСТР(A2;ПОИСКПОЗ({3;4;5}+1;ЧАСТОТА(СТРОКА($1:$999);ЕОШ(-ПСТР(A2&-(9^6);СТРОКА($1:$999);1))*СТРОКА($1:$999));)-{3;4;5};{3;4;5});ПОВТОР(0;{3;4;5})));"")
Автор - krosav4ig Дата добавления - 30.08.2019 в 13:57
krosav4ig
Дата: Вторник, 27.08.2019, 17:31 |
Сообщение № 193 | Тема: Поставить пробелы между символами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Добрый день UDF [vba]Код
Function AddSpaces(s$, i%) AddSpaces = Join(Split(StrConv(s, 64), Chr(0)), Space(i)) End Function
[/vba]
Добрый день UDF [vba]Код
Function AddSpaces(s$, i%) AddSpaces = Join(Split(StrConv(s, 64), Chr(0)), Space(i)) End Function
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Добрый день UDF [vba]Код
Function AddSpaces(s$, i%) AddSpaces = Join(Split(StrConv(s, 64), Chr(0)), Space(i)) End Function
[/vba] Автор - krosav4ig Дата добавления - 27.08.2019 в 17:31
krosav4ig
Дата: Вторник, 27.08.2019, 17:21 |
Сообщение № 194 | Тема: Прописать условия переноса значения для группы таблиц (см.оп
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Добрый деньКод
=ПРОСМОТР(;-1/ПОИСК("Карта № ";$A$1:A9);$A$1:$A$2)
Добрый деньКод
=ПРОСМОТР(;-1/ПОИСК("Карта № ";$A$1:A9);$A$1:$A$2)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Добрый деньКод
=ПРОСМОТР(;-1/ПОИСК("Карта № ";$A$1:A9);$A$1:$A$2)
Автор - krosav4ig Дата добавления - 27.08.2019 в 17:21
krosav4ig
Дата: Понедельник, 26.08.2019, 13:35 |
Сообщение № 195 | Тема: Формулы Excel логические и поиск (расчет премии, цен, товар)
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
krosav4ig
Дата: Суббота, 24.08.2019, 03:08 |
Сообщение № 196 | Тема: Расчет суммы часов по отпуску
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
ЗдравствуйтеКод
=СУММПРОИЗВ((C5:AF5="от")*(ДЕНЬНЕД(C$3:AF$3;2)<6)*8)
ЗдравствуйтеКод
=СУММПРОИЗВ((C5:AF5="от")*(ДЕНЬНЕД(C$3:AF$3;2)<6)*8)
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение ЗдравствуйтеКод
=СУММПРОИЗВ((C5:AF5="от")*(ДЕНЬНЕД(C$3:AF$3;2)<6)*8)
Автор - krosav4ig Дата добавления - 24.08.2019 в 03:08
krosav4ig
Дата: Пятница, 23.08.2019, 22:22 |
Сообщение № 197 | Тема: Выборка значений из списка по признаку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте UDF [vba]Код
Function Похожие$() Dim r As Range, r1 As Range, s$ Set r = Application.Caller Select Case True Case IsEmpty(r(1, 0)) And Not IsEmpty(r(2, 0)) Set r1 = r.Parent.Range(r(1, -1), IIf(IsEmpty(r(3, 0)), r(2, 0), r(2, 0).End(xlDown)(1, 0))) Похожие = Join(Filter(Application.Transpose(r1), r(1, -1), 0), ";") Case Not IsEmpty(r(1, 0)) s = IIf(IsEmpty(r(2, 0)), ";", "") Похожие = r(0, -1) & ";" & Replace(r(0, 1) & s, s & r(1, -1) & ";", "") End Select End Function
[/vba]
Здравствуйте UDF [vba]Код
Function Похожие$() Dim r As Range, r1 As Range, s$ Set r = Application.Caller Select Case True Case IsEmpty(r(1, 0)) And Not IsEmpty(r(2, 0)) Set r1 = r.Parent.Range(r(1, -1), IIf(IsEmpty(r(3, 0)), r(2, 0), r(2, 0).End(xlDown)(1, 0))) Похожие = Join(Filter(Application.Transpose(r1), r(1, -1), 0), ";") Case Not IsEmpty(r(1, 0)) s = IIf(IsEmpty(r(2, 0)), ";", "") Похожие = r(0, -1) & ";" & Replace(r(0, 1) & s, s & r(1, -1) & ";", "") End Select End Function
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуйте UDF [vba]Код
Function Похожие$() Dim r As Range, r1 As Range, s$ Set r = Application.Caller Select Case True Case IsEmpty(r(1, 0)) And Not IsEmpty(r(2, 0)) Set r1 = r.Parent.Range(r(1, -1), IIf(IsEmpty(r(3, 0)), r(2, 0), r(2, 0).End(xlDown)(1, 0))) Похожие = Join(Filter(Application.Transpose(r1), r(1, -1), 0), ";") Case Not IsEmpty(r(1, 0)) s = IIf(IsEmpty(r(2, 0)), ";", "") Похожие = r(0, -1) & ";" & Replace(r(0, 1) & s, s & r(1, -1) & ";", "") End Select End Function
[/vba] Автор - krosav4ig Дата добавления - 23.08.2019 в 22:22
krosav4ig
Дата: Четверг, 22.08.2019, 17:46 |
Сообщение № 198 | Тема: Вставить формат Лиры в ячейку
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуте как-то так [vba]Код
Selection.NumberFormat = "[$" &chrw(8356) & "-410]#,##0.00_ ;[Red]-[$" &chrw(8356) & "-410]#,##0.00"
[/vba]
Здравствуте как-то так [vba]Код
Selection.NumberFormat = "[$" &chrw(8356) & "-410]#,##0.00_ ;[Red]-[$" &chrw(8356) & "-410]#,##0.00"
[/vba] krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуте как-то так [vba]Код
Selection.NumberFormat = "[$" &chrw(8356) & "-410]#,##0.00_ ;[Red]-[$" &chrw(8356) & "-410]#,##0.00"
[/vba] Автор - krosav4ig Дата добавления - 22.08.2019 в 17:46
krosav4ig
Дата: Четверг, 22.08.2019, 15:05 |
Сообщение № 199 | Тема: Построение квадрата Ганна 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
еще одна вариация, в этот раз начал с диагоналей, хоть до 300 (267 без=) уложился Код
=ВЫБОР(ОСТАТ(ЗНАК((ABS(СТОЛБЕЦ()-$A$1)-ABS(СТРОКА()-$A$1)))+2;2)+1;4*(СТОЛБЕЦ()-$A$1)^2+ВЫБОР((СТРОКА(B2)<=$A$1)+(СТОЛБЕЦ()<=$A$1)*2+1;2;0;-4;2)*(СТОЛБЕЦ()-$A$1)+1;ЕСЛИ(ABS(СТОЛБЕЦ()-$A$1)>ABS(СТРОКА()-$A$1);ЕСЛИ(СТОЛБЕЦ()<$A$1;B1;B3)-1;ЕСЛИ(СТРОКА(B2)<$A$1;A2;C2)+1))
еще одна вариация, в этот раз начал с диагоналей, хоть до 300 (267 без=) уложился Код
=ВЫБОР(ОСТАТ(ЗНАК((ABS(СТОЛБЕЦ()-$A$1)-ABS(СТРОКА()-$A$1)))+2;2)+1;4*(СТОЛБЕЦ()-$A$1)^2+ВЫБОР((СТРОКА(B2)<=$A$1)+(СТОЛБЕЦ()<=$A$1)*2+1;2;0;-4;2)*(СТОЛБЕЦ()-$A$1)+1;ЕСЛИ(ABS(СТОЛБЕЦ()-$A$1)>ABS(СТРОКА()-$A$1);ЕСЛИ(СТОЛБЕЦ()<$A$1;B1;B3)-1;ЕСЛИ(СТРОКА(B2)<$A$1;A2;C2)+1))
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение еще одна вариация, в этот раз начал с диагоналей, хоть до 300 (267 без=) уложился Код
=ВЫБОР(ОСТАТ(ЗНАК((ABS(СТОЛБЕЦ()-$A$1)-ABS(СТРОКА()-$A$1)))+2;2)+1;4*(СТОЛБЕЦ()-$A$1)^2+ВЫБОР((СТРОКА(B2)<=$A$1)+(СТОЛБЕЦ()<=$A$1)*2+1;2;0;-4;2)*(СТОЛБЕЦ()-$A$1)+1;ЕСЛИ(ABS(СТОЛБЕЦ()-$A$1)>ABS(СТРОКА()-$A$1);ЕСЛИ(СТОЛБЕЦ()<$A$1;B1;B3)-1;ЕСЛИ(СТРОКА(B2)<$A$1;A2;C2)+1))
Автор - krosav4ig Дата добавления - 22.08.2019 в 15:05
krosav4ig
Дата: Среда, 21.08.2019, 21:33 |
Сообщение № 200 | Тема: Построение квадрата Ганна 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
Светлый , мне все треугольные числа мерещатся , до сих пор не отпускает
Светлый , мне все треугольные числа мерещатся , до сих пор не отпускаетkrosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Сообщение отредактировал krosav4ig - Среда, 21.08.2019, 21:33
Ответить
Сообщение Светлый , мне все треугольные числа мерещатся , до сих пор не отпускаетАвтор - krosav4ig Дата добавления - 21.08.2019 в 21:33