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

Вход

Регистрация

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

 

= Мир MS Excel/Создать из нескольких столбцов один список, заголовки помест - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Создать из нескольких столбцов один список, заголовки помест
saari Дата: Среда, 11.04.2018, 13:14 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Дана таблица из нескольких столбцов с заголовками.
Заголовки - это категории, остальные значения в столбцах - номера товаров.
Нужно номера поместить в один столбец, а во второй столбец добавить соответствующие номерам категории.
Пример во вложении.
Посмотрите, пожалуйста.
Заранее спасибо!
К сообщению приложен файл: category.xlsx (8.3 Kb)
 
Ответить
СообщениеДобрый день!
Дана таблица из нескольких столбцов с заголовками.
Заголовки - это категории, остальные значения в столбцах - номера товаров.
Нужно номера поместить в один столбец, а во второй столбец добавить соответствующие номерам категории.
Пример во вложении.
Посмотрите, пожалуйста.
Заранее спасибо!

Автор - saari
Дата добавления - 11.04.2018 в 13:14
sboy Дата: Среда, 11.04.2018, 13:36 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вариант в 3 действия с помощью Power Query. Правда сортировка немного отличается
К сообщению приложен файл: 3187624.xlsx (18.7 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Вариант в 3 действия с помощью Power Query. Правда сортировка немного отличается

Автор - sboy
Дата добавления - 11.04.2018 в 13:36
Karataev Дата: Среда, 11.04.2018, 14:03 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Вариант макросом. В файле макроса нет. Файл я выложил, чтобы показать, с каким листом работает макрос.
К сообщению приложен файл: category_kar.xlsx (8.4 Kb)


Сообщение отредактировал Karataev - Среда, 11.04.2018, 14:15
 
Ответить
СообщениеВариант макросом. В файле макроса нет. Файл я выложил, чтобы показать, с каким листом работает макрос.

Автор - Karataev
Дата добавления - 11.04.2018 в 14:03
Светлый Дата: Среда, 11.04.2018, 14:15 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация: 536 ±
Замечаний: 0% ±

Excel 2013, 2016
Как вариант:
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(A$3:C$6;СТРОКА(F1));"")

Массивная:
Код
=ЕСЛИ($F15="";"";ИНДЕКС($A$2:$C$2;1;МИН(ЕСЛИ($A$3:$C$6=$F15;СТОЛБЕЦ($A:$C)))))

Если встречается несколько раз:
Код
=МИН(ЕСЛИ(ЕНД(ПОИСКПОЗ(A$3:C$6;I$1:I1;));A$3:C$6))

Код
=ЕСЛИОШИБКА(ЕСЛИ($I2>0;ИНДЕКС($A$2:$C$2;1;НАИМЕНЬШИЙ(ЕСЛИ($A$3:$C$6=$I2;СТОЛБЕЦ($A:$C));СТОЛБЕЦ(A2)));"");"")
К сообщению приложен файл: category_1.xlsx (12.7 Kb)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеКак вариант:
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(A$3:C$6;СТРОКА(F1));"")

Массивная:
Код
=ЕСЛИ($F15="";"";ИНДЕКС($A$2:$C$2;1;МИН(ЕСЛИ($A$3:$C$6=$F15;СТОЛБЕЦ($A:$C)))))

Если встречается несколько раз:
Код
=МИН(ЕСЛИ(ЕНД(ПОИСКПОЗ(A$3:C$6;I$1:I1;));A$3:C$6))

Код
=ЕСЛИОШИБКА(ЕСЛИ($I2>0;ИНДЕКС($A$2:$C$2;1;НАИМЕНЬШИЙ(ЕСЛИ($A$3:$C$6=$I2;СТОЛБЕЦ($A:$C));СТОЛБЕЦ(A2)));"");"")

Автор - Светлый
Дата добавления - 11.04.2018 в 14:15
sboy Дата: Среда, 11.04.2018, 14:57 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Ну и до кучи :) вариант пользовательской функции
[vba]
Код
Function saari(category As Range, tovar As Range, q As Boolean, i As Integer)
    arr1 = category.Value
    arr2 = Application.Transpose(tovar.Value)
    If i < LBound(arr2) Or i > WorksheetFunction.Count(tovar) Then Exit Function
    x = 1
    y = 1
        With CreateObject("Scripting.Dictionary")
            Do While .Count < i
                If Not IsEmpty(arr2(y, x)) Then .Add Key:=arr2(y, x), Item:=arr1(1, y)
                x = IIf(x = UBound(arr2, 2), 1, x + 1)
                y = IIf(x = 1, y + 1, y)
            Loop
            If q Then
                iarr = .items
                saari = iarr(i - 1)
            Else
                karr = .keys
                saari = karr(i - 1)
            End If
        End With
End Function
[/vba]
К сообщению приложен файл: category.xlsm (26.3 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеНу и до кучи :) вариант пользовательской функции
[vba]
Код
Function saari(category As Range, tovar As Range, q As Boolean, i As Integer)
    arr1 = category.Value
    arr2 = Application.Transpose(tovar.Value)
    If i < LBound(arr2) Or i > WorksheetFunction.Count(tovar) Then Exit Function
    x = 1
    y = 1
        With CreateObject("Scripting.Dictionary")
            Do While .Count < i
                If Not IsEmpty(arr2(y, x)) Then .Add Key:=arr2(y, x), Item:=arr1(1, y)
                x = IIf(x = UBound(arr2, 2), 1, x + 1)
                y = IIf(x = 1, y + 1, y)
            Loop
            If q Then
                iarr = .items
                saari = iarr(i - 1)
            Else
                karr = .keys
                saari = karr(i - 1)
            End If
        End With
End Function
[/vba]

Автор - sboy
Дата добавления - 11.04.2018 в 14:57
saari Дата: Четверг, 12.04.2018, 11:23 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Огромное спасибо!
К сожалению, Power Query не могу установить и с массивами немного запутался, но варианты с макросами работают идеально!
 
Ответить
СообщениеОгромное спасибо!
К сожалению, Power Query не могу установить и с массивами немного запутался, но варианты с макросами работают идеально!

Автор - saari
Дата добавления - 12.04.2018 в 11:23
  • Страница 1 из 1
  • 1
Поиск:

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