Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Получить перечисление в одну строку по условию из массива - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получить перечисление в одну строку по условию из массива (Формулы/Formulas)
Получить перечисление в одну строку по условию из массива
skais Дата: Вторник, 12.12.2023, 16:20 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
Нужно получить список имен в одной ячейке, у кого даты совпадают с заявленной.
К сообщению приложен файл: book1.xlsx (9.6 Kb)
 
Ответить
СообщениеНужно получить список имен в одной ячейке, у кого даты совпадают с заявленной.

Автор - skais
Дата добавления - 12.12.2023 в 16:20
jakim Дата: Вторник, 12.12.2023, 17:49 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1195
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type date}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Column2"}, {{"Count", each _, type table [Column1=text, Column2=date]}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Column1]),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"
[/vba]
К сообщению приложен файл: book1_4.xlsx (18.0 Kb)
 
Ответить
Сообщение
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type date}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Column2"}, {{"Count", each _, type table [Column1=text, Column2=date]}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Column1]),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"
[/vba]

Автор - jakim
Дата добавления - 12.12.2023 в 17:49
AlexM Дата: Вторник, 12.12.2023, 18:02 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4379
Репутация: 1081 ±
Замечаний: 0% ±

Excel 2003
VBA функция[vba]
Код
Function MergeName(nRange As Range, sRange As Range, tRange As Range, Delimiter As String) As String
    Dim Arr(), x(), y()
    x = sRange.Value: y = tRange.Value
    If UBound(x) <> UBound(y) Then Exit Function
    For i = 1 To UBound(x)
        If x(i, 1) = nRange.Value Then
            ReDim Preserve Arr(1 To 1, 0 To n)
            Arr(1, n) = y(i, 1): n = n + 1
        End If
    Next i
    MergeName = Join(Application.Transpose(Application.Transpose(Arr)), Delimiter)
End Function
[/vba]
К сообщению приложен файл: book1_1.xlsm (15.2 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеVBA функция[vba]
Код
Function MergeName(nRange As Range, sRange As Range, tRange As Range, Delimiter As String) As String
    Dim Arr(), x(), y()
    x = sRange.Value: y = tRange.Value
    If UBound(x) <> UBound(y) Then Exit Function
    For i = 1 To UBound(x)
        If x(i, 1) = nRange.Value Then
            ReDim Preserve Arr(1 To 1, 0 To n)
            Arr(1, n) = y(i, 1): n = n + 1
        End If
    Next i
    MergeName = Join(Application.Transpose(Application.Transpose(Arr)), Delimiter)
End Function
[/vba]

Автор - AlexM
Дата добавления - 12.12.2023 в 18:02
skais Дата: Вторник, 12.12.2023, 18:14 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
Спасибо за ответы, однако мне желательно формульный вариант. Допускаю даже с доп столбцами или ячейками.


Сообщение отредактировал skais - Вторник, 12.12.2023, 18:17
 
Ответить
СообщениеСпасибо за ответы, однако мне желательно формульный вариант. Допускаю даже с доп столбцами или ячейками.

Автор - skais
Дата добавления - 12.12.2023 в 18:14
AlexM Дата: Вторник, 12.12.2023, 18:50 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4379
Репутация: 1081 ±
Замечаний: 0% ±

Excel 2003
А так подойдет? Два варианта
К сообщению приложен файл: book1_1.xlsx (10.0 Kb) · book1_2.xlsx (10.1 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 12.12.2023, 18:54
 
Ответить
СообщениеА так подойдет? Два варианта

Автор - AlexM
Дата добавления - 12.12.2023 в 18:50
skais Дата: Вторник, 12.12.2023, 20:51 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
AlexM, Да, очень подходит, спасибо!
 
Ответить
СообщениеAlexM, Да, очень подходит, спасибо!

Автор - skais
Дата добавления - 12.12.2023 в 20:51
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получить перечисление в одну строку по условию из массива (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!