Вывод значений через запятую из таблицы
azZazZello
Дата: Среда, 15.07.2015, 07:18 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Добрый день! Есть задачка, вроде простая, но синтаксис никак не могу сопоставить правильно. Суть такая: есть огромная таблица, в которой указаны МОЛы, которых ведут БУХгалтера (для примера сократил её, но искомое значение может повторятся много раз). Требуется получить результат через запятую в другой таблице. Не могу понять как правильно из массива получить данные через запятую. ВПР выдает только 1 значение
Добрый день! Есть задачка, вроде простая, но синтаксис никак не могу сопоставить правильно. Суть такая: есть огромная таблица, в которой указаны МОЛы, которых ведут БУХгалтера (для примера сократил её, но искомое значение может повторятся много раз). Требуется получить результат через запятую в другой таблице. Не могу понять как правильно из массива получить данные через запятую. ВПР выдает только 1 значение azZazZello
Ответить
Сообщение Добрый день! Есть задачка, вроде простая, но синтаксис никак не могу сопоставить правильно. Суть такая: есть огромная таблица, в которой указаны МОЛы, которых ведут БУХгалтера (для примера сократил её, но искомое значение может повторятся много раз). Требуется получить результат через запятую в другой таблице. Не могу понять как правильно из массива получить данные через запятую. ВПР выдает только 1 значение Автор - azZazZello Дата добавления - 15.07.2015 в 07:18
Nic70y
Дата: Среда, 15.07.2015, 07:35 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация:
2366
±
Замечаний:
0% ±
Excel 2010
может так сойдет? массивная :Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$11;НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(A1)));"")
может так сойдет? массивная :Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$11;НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(A1)));"")
Nic70y
ЮMoney 41001841029809
Ответить
Сообщение может так сойдет? массивная :Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$11;НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(A1)));"")
Автор - Nic70y Дата добавления - 15.07.2015 в 07:35
azZazZello
Дата: Среда, 15.07.2015, 07:42 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Да это просто праздник какой-то!!! Такой вариант тоже имеет право на жизнь!!! Если что, через СЦЕПИТЬ потом допинаю... Спасибо большое!
Да это просто праздник какой-то!!! Такой вариант тоже имеет право на жизнь!!! Если что, через СЦЕПИТЬ потом допинаю... Спасибо большое! azZazZello
Ответить
Сообщение Да это просто праздник какой-то!!! Такой вариант тоже имеет право на жизнь!!! Если что, через СЦЕПИТЬ потом допинаю... Спасибо большое! Автор - azZazZello Дата добавления - 15.07.2015 в 07:42
azZazZello
Дата: Среда, 15.07.2015, 08:45 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Чего то логику выражения понять не могу. Можете по пунктам разложить? Непонятная часть выражения: Код
НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(D1))
Чего то логику выражения понять не могу. Можете по пунктам разложить? Непонятная часть выражения: Код
НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(D1))
azZazZello
Ответить
Сообщение Чего то логику выражения понять не могу. Можете по пунктам разложить? Непонятная часть выражения: Код
НАИМЕНЬШИЙ(ЕСЛИ($F2=$A$2:$A$11;СТРОКА($1:$10));СТОЛБЕЦ(D1))
Автор - azZazZello Дата добавления - 15.07.2015 в 08:45
Nic70y
Дата: Среда, 15.07.2015, 09:14 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация:
2366
±
Замечаний:
0% ±
Excel 2010
ЕСЛИ($F2=$A$2:$A$11 соот. строки массива на примере G2 это массив {ЛОЖЬ:ЛОЖЬ:3:4:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} НАИМЕНЬШИЙ( ... СТОЛБЕЦ(A1)) это наименьший 1 из массива = 3; H2 => СТОЛБЕЦ(B1) это наименьший 2 из массива = 4
ЕСЛИ($F2=$A$2:$A$11 соот. строки массива на примере G2 это массив {ЛОЖЬ:ЛОЖЬ:3:4:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} НАИМЕНЬШИЙ( ... СТОЛБЕЦ(A1)) это наименьший 1 из массива = 3; H2 => СТОЛБЕЦ(B1) это наименьший 2 из массива = 4Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Среда, 15.07.2015, 09:15
Ответить
Сообщение ЕСЛИ($F2=$A$2:$A$11 соот. строки массива на примере G2 это массив {ЛОЖЬ:ЛОЖЬ:3:4:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ} НАИМЕНЬШИЙ( ... СТОЛБЕЦ(A1)) это наименьший 1 из массива = 3; H2 => СТОЛБЕЦ(B1) это наименьший 2 из массива = 4Автор - Nic70y Дата добавления - 15.07.2015 в 09:14
ShAM
Дата: Среда, 15.07.2015, 09:52 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
Ответить
azZazZello
Дата: Среда, 15.07.2015, 10:05 |
Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Всё, разобрался. Всем спасибо! Пошёл дальше читать матчасть
Всё, разобрался. Всем спасибо! Пошёл дальше читать матчасть azZazZello
Ответить
Сообщение Всё, разобрался. Всем спасибо! Пошёл дальше читать матчасть Автор - azZazZello Дата добавления - 15.07.2015 в 10:05
_Boroda_
Дата: Среда, 15.07.2015, 10:06 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16711
Репутация:
6502
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Еще вариант немассивной формулой Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/($F2=$A$2:$A$11)/ЕНД(ПОИСКПОЗ($B$2:$B$11;$F2:F2;));$B$2:$B$11);"")
Объяснялку смотрите здесь
Еще вариант немассивной формулой Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/($F2=$A$2:$A$11)/ЕНД(ПОИСКПОЗ($B$2:$B$11;$F2:F2;));$B$2:$B$11);"")
Объяснялку смотрите здесь _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еще вариант немассивной формулой Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/($F2=$A$2:$A$11)/ЕНД(ПОИСКПОЗ($B$2:$B$11;$F2:F2;));$B$2:$B$11);"")
Объяснялку смотрите здесь Автор - _Boroda_ Дата добавления - 15.07.2015 в 10:06
Rioran
Дата: Среда, 15.07.2015, 10:07 |
Сообщение № 9
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация:
290
±
Замечаний:
0% ±
Excel 2013
azZazZello , здравствуйте. Ради спортивного интереса предлагаю решение пользовательской функцией. Во вложении пример использования. Макросы должны быть разрешены. Первые два аргумента должны быть столбцами, 3-й аргумент - проверочное имя. Аргументы функции: Код
=СЦЕПИТЬЕСЛИ( ["Кого будем сцеплять"] ; ["Диапазон для проверки критерия"] ; ["Критерий"] )
Код функции: [vba]Код
Function СЦЕПИТЬЕСЛИ$(Data As Range, Condition As Range, Target$) Dim i As Long, j As Long, ArrX() As String, rNum As Long rNum = Data.Rows.Count If rNum <> Condition.Rows.Count Then СЦЕПИТЬЕСЛИ = "- Укажите равные диапазоны -" Exit Function End If ReDim ArrX(rNum) For i = 1 To rNum If Condition.Cells(i, 1).Value = Target Then ArrX(j) = Data.Cells(i, 1).Value j = j + 1 End If Next i ReDim Preserve ArrX(j - 1) СЦЕПИТЬЕСЛИ = Join(ArrX, ", ") End Function
[/vba]
azZazZello , здравствуйте. Ради спортивного интереса предлагаю решение пользовательской функцией. Во вложении пример использования. Макросы должны быть разрешены. Первые два аргумента должны быть столбцами, 3-й аргумент - проверочное имя. Аргументы функции: Код
=СЦЕПИТЬЕСЛИ( ["Кого будем сцеплять"] ; ["Диапазон для проверки критерия"] ; ["Критерий"] )
Код функции: [vba]Код
Function СЦЕПИТЬЕСЛИ$(Data As Range, Condition As Range, Target$) Dim i As Long, j As Long, ArrX() As String, rNum As Long rNum = Data.Rows.Count If rNum <> Condition.Rows.Count Then СЦЕПИТЬЕСЛИ = "- Укажите равные диапазоны -" Exit Function End If ReDim ArrX(rNum) For i = 1 To rNum If Condition.Cells(i, 1).Value = Target Then ArrX(j) = Data.Cells(i, 1).Value j = j + 1 End If Next i ReDim Preserve ArrX(j - 1) СЦЕПИТЬЕСЛИ = Join(ArrX, ", ") End Function
[/vba]Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Среда, 15.07.2015, 10:10
Ответить
Сообщение azZazZello , здравствуйте. Ради спортивного интереса предлагаю решение пользовательской функцией. Во вложении пример использования. Макросы должны быть разрешены. Первые два аргумента должны быть столбцами, 3-й аргумент - проверочное имя. Аргументы функции: Код
=СЦЕПИТЬЕСЛИ( ["Кого будем сцеплять"] ; ["Диапазон для проверки критерия"] ; ["Критерий"] )
Код функции: [vba]Код
Function СЦЕПИТЬЕСЛИ$(Data As Range, Condition As Range, Target$) Dim i As Long, j As Long, ArrX() As String, rNum As Long rNum = Data.Rows.Count If rNum <> Condition.Rows.Count Then СЦЕПИТЬЕСЛИ = "- Укажите равные диапазоны -" Exit Function End If ReDim ArrX(rNum) For i = 1 To rNum If Condition.Cells(i, 1).Value = Target Then ArrX(j) = Data.Cells(i, 1).Value j = j + 1 End If Next i ReDim Preserve ArrX(j - 1) СЦЕПИТЬЕСЛИ = Join(ArrX, ", ") End Function
[/vba]Автор - Rioran Дата добавления - 15.07.2015 в 10:07
sv2014
Дата: Среда, 15.07.2015, 11:15 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
azZazZello , добрый день, могу предложить вам макрос,который решает ваш вопрос при любом количестве ваших данных в столбце F [vba]Код
Sub incert() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]
azZazZello , добрый день, могу предложить вам макрос,который решает ваш вопрос при любом количестве ваших данных в столбце F [vba]Код
Sub incert() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]sv2014
Ответить
Сообщение azZazZello , добрый день, могу предложить вам макрос,который решает ваш вопрос при любом количестве ваших данных в столбце F [vba]Код
Sub incert() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]Автор - sv2014 Дата добавления - 15.07.2015 в 11:15
sv2014
Дата: Среда, 15.07.2015, 11:43 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
azZazZello , или такой же вариант с пробелом при необходимости. На вашем файле- примере проверил. [vba]Код
Sub incert1() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Chr(32) & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]
azZazZello , или такой же вариант с пробелом при необходимости. На вашем файле- примере проверил. [vba]Код
Sub incert1() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Chr(32) & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]sv2014
Ответить
Сообщение azZazZello , или такой же вариант с пробелом при необходимости. На вашем файле- примере проверил. [vba]Код
Sub incert1() Dim i&, j&, n&, s$ n = Range("F" & Cells.Rows.Count).End(xlUp).Row For j = 2 To n s = "" For i = 2 To 11 If Range("A" & i) = Range("F" & j) Then s = s & "," & Chr(32) & Range("B" & i) End If Next i Range("G" & j) = Right(s, Len(s) - 1) Next j End Sub
[/vba]Автор - sv2014 Дата добавления - 15.07.2015 в 11:43
Alekc7711
Дата: Суббота, 22.02.2020, 02:05 |
Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Excel 2019
Ответить
Alekc7711
Дата: Суббота, 22.02.2020, 02:30 |
Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Excel 2019
Излишнее цитирование удалено. Нарушение Правил форума Что нужно прописать, чтобы перебор не останавливался, а пропускал ячейку ?
Излишнее цитирование удалено. Нарушение Правил форума Что нужно прописать, чтобы перебор не останавливался, а пропускал ячейку ?Alekc7711
Сообщение отредактировал Pelena - Суббота, 22.02.2020, 08:05
Ответить
Сообщение Излишнее цитирование удалено. Нарушение Правил форума Что нужно прописать, чтобы перебор не останавливался, а пропускал ячейку ?Автор - Alekc7711 Дата добавления - 22.02.2020 в 02:30
Pelena
Дата: Суббота, 22.02.2020, 08:04 |
Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация:
4549
±
Замечаний:
±
Excel 365 & Mac Excel
Попробуйте в этой строке поставить проверку [vba]Код
If Len(s)>1 Then Range("G" & j) = Right(s, Len(s) - 1)
[/vba]
Попробуйте в этой строке поставить проверку [vba]Код
If Len(s)>1 Then Range("G" & j) = Right(s, Len(s) - 1)
[/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Попробуйте в этой строке поставить проверку [vba]Код
If Len(s)>1 Then Range("G" & j) = Right(s, Len(s) - 1)
[/vba] Автор - Pelena Дата добавления - 22.02.2020 в 08:04
solniechnaya
Дата: Воскресенье, 05.03.2023, 09:57 |
Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
Друзья, Не получается решить аналогичную задачу- где в виде итоговой таблицы нужна сводная. В кликабельной ячейке сводной таблицы нужны не значения (например суммы), а номера строк перечисленных через запятую. Пример во вложении С Уважением... Solniechnaya@gmail.com
Друзья, Не получается решить аналогичную задачу- где в виде итоговой таблицы нужна сводная. В кликабельной ячейке сводной таблицы нужны не значения (например суммы), а номера строк перечисленных через запятую. Пример во вложении С Уважением... Solniechnaya@gmail.com solniechnaya
Ответить
Сообщение Друзья, Не получается решить аналогичную задачу- где в виде итоговой таблицы нужна сводная. В кликабельной ячейке сводной таблицы нужны не значения (например суммы), а номера строк перечисленных через запятую. Пример во вложении С Уважением... Solniechnaya@gmail.com Автор - solniechnaya Дата добавления - 05.03.2023 в 09:57
jakim
Дата: Воскресенье, 05.03.2023, 10:23 |
Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1215
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
Power Query
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][buh]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}) in #"Extracted Values"
[/vba]
Power Query
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][buh]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}) in #"Extracted Values"
[/vba]jakim
Ответить
Сообщение Power Query
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][buh]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}) in #"Extracted Values"
[/vba]Автор - jakim Дата добавления - 05.03.2023 в 10:23
jakim
Дата: Воскресенье, 05.03.2023, 10:46 |
Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1215
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
Исправляю ошибку, т.к. мой ответ был сделан по первому посту.
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"ном-стр", Int64.Type}, {"mol", type text}, {"buh", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"mol", "buh"}, {{"Count", each Table.RowCount(_), type number}}), #"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[buh]), "buh", "Count") in #"Pivoted Column"
[/vba]
Исправляю ошибку, т.к. мой ответ был сделан по первому посту.
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"ном-стр", Int64.Type}, {"mol", type text}, {"buh", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"mol", "buh"}, {{"Count", each Table.RowCount(_), type number}}), #"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[buh]), "buh", "Count") in #"Pivoted Column"
[/vba]jakim
Ответить
Сообщение Исправляю ошибку, т.к. мой ответ был сделан по первому посту.
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"ном-стр", Int64.Type}, {"mol", type text}, {"buh", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"mol", "buh"}, {{"Count", each Table.RowCount(_), type number}}), #"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[buh]), "buh", "Count") in #"Pivoted Column"
[/vba]Автор - jakim Дата добавления - 05.03.2023 в 10:46
jakim
Дата: Воскресенье, 05.03.2023, 12:13 |
Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1215
Репутация:
316
±
Замечаний:
0% ±
Excel 2010
Последний вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol", "buh"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][номстр]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}), #"Pivoted Column" = Table.Pivot(#"Extracted Values", List.Distinct(#"Extracted Values"[buh]), "buh", "Custom") in #"Pivoted Column"
[/vba]
Последний вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol", "buh"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][номстр]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}), #"Pivoted Column" = Table.Pivot(#"Extracted Values", List.Distinct(#"Extracted Values"[buh]), "buh", "Custom") in #"Pivoted Column"
[/vba]jakim
Ответить
Сообщение Последний вариант
[vba]Код
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Grouped Rows" = Table.Group(Source, {"mol", "buh"}, {{"Count", each _, type table}}), #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][номстр]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}), #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text}), #"Pivoted Column" = Table.Pivot(#"Extracted Values", List.Distinct(#"Extracted Values"[buh]), "buh", "Custom") in #"Pivoted Column"
[/vba]Автор - jakim Дата добавления - 05.03.2023 в 12:13
прохожий2019
Дата: Воскресенье, 05.03.2023, 12:52 |
Сообщение № 19
Группа: Проверенные
Ранг: Старожил
Сообщений: 1297
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
[vba]Код
let from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], gr = Table.Group(from, {"mol", "buh"}, {"tmp", (t)=>Text.Combine(List.Transform(t[номстр],Text.From),", ")}), to = Table.Pivot(gr, List.Distinct(gr[buh]), "buh", "tmp") in to
[/vba] хотя задачка, конечно, для DAX: Код
=CONCATENATEX('Table1';'Table1'[номстр];", ")
[vba]Код
let from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], gr = Table.Group(from, {"mol", "buh"}, {"tmp", (t)=>Text.Combine(List.Transform(t[номстр],Text.From),", ")}), to = Table.Pivot(gr, List.Distinct(gr[buh]), "buh", "tmp") in to
[/vba] хотя задачка, конечно, для DAX: Код
=CONCATENATEX('Table1';'Table1'[номстр];", ")
прохожий2019
Сообщение отредактировал прохожий2019 - Воскресенье, 05.03.2023, 13:06
Ответить
Сообщение [vba]Код
let from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], gr = Table.Group(from, {"mol", "buh"}, {"tmp", (t)=>Text.Combine(List.Transform(t[номстр],Text.From),", ")}), to = Table.Pivot(gr, List.Distinct(gr[buh]), "buh", "tmp") in to
[/vba] хотя задачка, конечно, для DAX: Код
=CONCATENATEX('Table1';'Table1'[номстр];", ")
Автор - прохожий2019 Дата добавления - 05.03.2023 в 12:52
solniechnaya
Дата: Воскресенье, 05.03.2023, 21:30 |
Сообщение № 20
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация:
0
±
Замечаний:
0% ±
прохожий2019, jakim, Благодарю за предложенные варианты решения, А всё же можно сделать с использованием кликабельной сводной таблицы? Если мы дабл-кликнем в примере на жёлтую ячейку с числом "2" в сводной таблице, то откроется лист с детальной информацией. также ожидается при дабл-клике в итоговой таблице на ячейку с "6, 9" С надеждой,
прохожий2019, jakim, Благодарю за предложенные варианты решения, А всё же можно сделать с использованием кликабельной сводной таблицы? Если мы дабл-кликнем в примере на жёлтую ячейку с числом "2" в сводной таблице, то откроется лист с детальной информацией. также ожидается при дабл-клике в итоговой таблице на ячейку с "6, 9" С надеждой, solniechnaya
Ответить
Сообщение прохожий2019, jakim, Благодарю за предложенные варианты решения, А всё же можно сделать с использованием кликабельной сводной таблицы? Если мы дабл-кликнем в примере на жёлтую ячейку с числом "2" в сводной таблице, то откроется лист с детальной информацией. также ожидается при дабл-клике в итоговой таблице на ячейку с "6, 9" С надеждой, Автор - solniechnaya Дата добавления - 05.03.2023 в 21:30