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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос данных из столбца в строку по ключевому полю (Формулы/Formulas)
Перенос данных из столбца в строку по ключевому полю
HFIX Дата: Пятница, 06.09.2019, 12:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
нужно преобразовать левую таблицу в правую( из 3 juice сделать один, где будут в строку указаны разновидности и т.д.) может кто-нибудь знает решение?
К сообщению приложен файл: 4132167.xlsx(16.8 Kb)
 
Ответить
Сообщениенужно преобразовать левую таблицу в правую( из 3 juice сделать один, где будут в строку указаны разновидности и т.д.) может кто-нибудь знает решение?

Автор - HFIX
Дата добавления - 06.09.2019 в 12:02
китин Дата: Пятница, 06.09.2019, 13:11 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5828
Репутация: 907 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
так надо?
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$7;НАИМЕНЬШИЙ(ЕСЛИ($E2=$A$2:$A$7;СТРОКА($A$2:$A$7)-1);СТОЛБЕЦ(A1)));"")

Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter
К сообщению приложен файл: 5259303.xlsx(17.8 Kb)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениетак надо?
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$7;НАИМЕНЬШИЙ(ЕСЛИ($E2=$A$2:$A$7;СТРОКА($A$2:$A$7)-1);СТОЛБЕЦ(A1)));"")

Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter

Автор - китин
Дата добавления - 06.09.2019 в 13:11
Nic70y Дата: Пятница, 06.09.2019, 16:56 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5607
Репутация: 1227 ±
Замечаний: 0% ±

ru13;10;03
[vba]
Код
Sub U_841()
Application.ScreenUpdating = 0
    Columns("E:P").ClearContents                            'и так сойдет
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row              'последняя строка столбца А
    For Each c In Range("a2:a" & u_1)                       'проходимся по столбцу А
        u_2 = Application.Match(c.Value, Range("e:e"), 0)   'ищем из А в столбце Е
        u_3 = Application.IsNumber(u_2)                     'нащли?
        If u_3 Then                    'если нашли тогда:
            u_4 = Range("e" & u_2).End(xlToRight).Column    'в найденой строке ищем последнюю ячейку
            Cells(u_2, u_4 + 1) = c.Offset(0, 1)            'записываем в нее значение из столбца В
        Else                    'если не нашли
            u_5 = Cells(Rows.Count, "e").End(xlUp).Row      'ищем последнюю строку столбца E
            Range("e" & u_5 + 1) = c.Value                  'записываем в нее значение из А
            Range("f" & u_5 + 1) = c.Offset(0, 1)           'рядом из В
        End If
    Next
Application.ScreenUpdating = 1
End Sub
[/vba]макрос приклеил к стрелке
К сообщению приложен файл: 4132167.xlsm(23.8 Kb)


ЯД(poison) 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub U_841()
Application.ScreenUpdating = 0
    Columns("E:P").ClearContents                            'и так сойдет
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row              'последняя строка столбца А
    For Each c In Range("a2:a" & u_1)                       'проходимся по столбцу А
        u_2 = Application.Match(c.Value, Range("e:e"), 0)   'ищем из А в столбце Е
        u_3 = Application.IsNumber(u_2)                     'нащли?
        If u_3 Then                    'если нашли тогда:
            u_4 = Range("e" & u_2).End(xlToRight).Column    'в найденой строке ищем последнюю ячейку
            Cells(u_2, u_4 + 1) = c.Offset(0, 1)            'записываем в нее значение из столбца В
        Else                    'если не нашли
            u_5 = Cells(Rows.Count, "e").End(xlUp).Row      'ищем последнюю строку столбца E
            Range("e" & u_5 + 1) = c.Value                  'записываем в нее значение из А
            Range("f" & u_5 + 1) = c.Offset(0, 1)           'рядом из В
        End If
    Next
Application.ScreenUpdating = 1
End Sub
[/vba]макрос приклеил к стрелке

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

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