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

Вход

Регистрация

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

 

= Мир MS Excel/обьединить несколько списков - Мир MS Excel

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

2021
Необходимо формула в столбце Е. Необходимо получить в начале все заполненый ячейки с столбца А, потом с В. Если списак добавиться в А необходимо сместить В ниже. Тоесть необходимо получить сводный список на основании 2 столбцов
К сообщению приложен файл: 33333.xlsx (9.0 Kb)
 
Ответить
СообщениеНеобходимо формула в столбце Е. Необходимо получить в начале все заполненый ячейки с столбца А, потом с В. Если списак добавиться в А необходимо сместить В ниже. Тоесть необходимо получить сводный список на основании 2 столбцов

Автор - aastg2022
Дата добавления - 20.11.2023 в 14:31
Nic70y Дата: Понедельник, 20.11.2023, 14:46 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8650
Репутация: 2207 ±
Замечаний: 0% ±

Excel 2010
Код
=ИНДЕКС(A:B;СТРОКА()-(СТРОКА()>СЧЁТЗ(A:A))*СЧЁТЗ(A:A);2-(СТРОКА()<=СЧЁТЗ(A:A)))
К сообщению приложен файл: 7447961.xlsx (8.9 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ИНДЕКС(A:B;СТРОКА()-(СТРОКА()>СЧЁТЗ(A:A))*СЧЁТЗ(A:A);2-(СТРОКА()<=СЧЁТЗ(A:A)))

Автор - Nic70y
Дата добавления - 20.11.2023 в 14:46
aastg2022 Дата: Понедельник, 20.11.2023, 14:50 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

2021
Да, работает, спасибо ОГРОМНОЕ
 
Ответить
СообщениеДа, работает, спасибо ОГРОМНОЕ

Автор - aastg2022
Дата добавления - 20.11.2023 в 14:50
aastg2022 Дата: Понедельник, 20.11.2023, 16:22 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

2021
а можно дополнить задачу количеством списков. =@ИНДЕКС(X:AD;СТРОКА()-(СТРОКА()>СЧЁТЗ(X:AD))*СЧЁТЗ(X:AD);8-(СТРОКА()<=СЧЁТЗ(X:AD))) эта формула не работает у меня получается 8 списков по диапазону X:AD
 
Ответить
Сообщениеа можно дополнить задачу количеством списков. =@ИНДЕКС(X:AD;СТРОКА()-(СТРОКА()>СЧЁТЗ(X:AD))*СЧЁТЗ(X:AD);8-(СТРОКА()<=СЧЁТЗ(X:AD))) эта формула не работает у меня получается 8 списков по диапазону X:AD

Автор - aastg2022
Дата добавления - 20.11.2023 в 16:22
Nic70y Дата: Понедельник, 20.11.2023, 16:27 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8650
Репутация: 2207 ±
Замечаний: 0% ±

Excel 2010
СЧЁТЗ(X:AD)
это не верный подход
8 списков по диапазону X:AD
почему не 7?
проще макрос написать


ЮMoney 41001841029809
 
Ответить
Сообщение
СЧЁТЗ(X:AD)
это не верный подход
8 списков по диапазону X:AD
почему не 7?
проще макрос написать

Автор - Nic70y
Дата добавления - 20.11.2023 в 16:27
aastg2022 Дата: Понедельник, 20.11.2023, 16:32 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

2021
почему не 7?
проще макрос написать


да Вы правы 7. Потому что хочу что бы обновляло постоянно без лишних действий типо скрипта. Надо как добавил в список обновило общий список, и еще 1 проблема если в той формуле в В колонке больше значений чем в А, по в переходе между данными А столбца и В ставит 0, если больше значений в А то все норм. это как бы небольшая проблема, но не очень большая
 
Ответить
Сообщение
почему не 7?
проще макрос написать


да Вы правы 7. Потому что хочу что бы обновляло постоянно без лишних действий типо скрипта. Надо как добавил в список обновило общий список, и еще 1 проблема если в той формуле в В колонке больше значений чем в А, по в переходе между данными А столбца и В ставит 0, если больше значений в А то все норм. это как бы небольшая проблема, но не очень большая

Автор - aastg2022
Дата добавления - 20.11.2023 в 16:32
Nic70y Дата: Понедельник, 20.11.2023, 16:55 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 8650
Репутация: 2207 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_72()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u = "e" 'столбец в который вставляем
    v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
    Range(u & "1:" & u & v).Clear 'сотрем старые данные
    For Each a In Range("a1:b1") 'вместо a1:b1 вписать нужные столбцы из которых копируем
        b = a.Column 'очедной столбец
        c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
        d = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка столбца в который вставляем
        If d > 1 Then d = d + 1  'очередная строка куда вставляем
        Range(Cells(1, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]
К сообщению приложен файл: 33333.xlsm (17.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_72()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u = "e" 'столбец в который вставляем
    v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
    Range(u & "1:" & u & v).Clear 'сотрем старые данные
    For Each a In Range("a1:b1") 'вместо a1:b1 вписать нужные столбцы из которых копируем
        b = a.Column 'очедной столбец
        c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
        d = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка столбца в который вставляем
        If d > 1 Then d = d + 1  'очередная строка куда вставляем
        Range(Cells(1, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 20.11.2023 в 16:55
aastg2022 Дата: Понедельник, 20.11.2023, 17:16 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

2021
Sub u_722()
Application.ScreenUpdating = False 'отключение обновления экрана
u = "AX" 'столбец в который вставляем
v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
Range(u & "1:" & u & v).Clear 'сотрем старые данные
For Each a In Range("X2:AD2") 'вместо a1:b1 вписать нужные столбцы из которых копируем
b = a.Column 'очедной столбец
c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
d = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка столбца в который вставляем
If d > 1 Then d = d + 1 'очередная строка куда вставляем
Range(Cells(1, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
Next
Application.ScreenUpdating = True 'включение обновления экрана
End Sub
Этот код копирует все правельно, а если мне надо без 1 строки, тоесть начиная со 2 строки?
 
Ответить
СообщениеSub u_722()
Application.ScreenUpdating = False 'отключение обновления экрана
u = "AX" 'столбец в который вставляем
v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
Range(u & "1:" & u & v).Clear 'сотрем старые данные
For Each a In Range("X2:AD2") 'вместо a1:b1 вписать нужные столбцы из которых копируем
b = a.Column 'очедной столбец
c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
d = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка столбца в который вставляем
If d > 1 Then d = d + 1 'очередная строка куда вставляем
Range(Cells(1, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
Next
Application.ScreenUpdating = True 'включение обновления экрана
End Sub
Этот код копирует все правельно, а если мне надо без 1 строки, тоесть начиная со 2 строки?

Автор - aastg2022
Дата добавления - 20.11.2023 в 17:16
Nic70y Дата: Понедельник, 20.11.2023, 17:21 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 8650
Репутация: 2207 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_722()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u = "AX" 'столбец в который вставляем
    v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
    Range(u & "2:" & u & v).Clear 'сотрем старые данные
    For Each a In Range("X2:AD2") 'вместо a1:b1 вписать нужные столбцы из которых копируем
        b = a.Column 'очедной столбец
        c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
        d = Cells(Rows.Count, u).End(xlUp).Row + 1 'очередная строка куда вставляем
    Range(Cells(2, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 20.11.2023, 17:22
 
Ответить
Сообщение[vba]
Код
Sub u_722()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u = "AX" 'столбец в который вставляем
    v = Cells(Rows.Count, u).End(xlUp).Row 'нижняя строка
    Range(u & "2:" & u & v).Clear 'сотрем старые данные
    For Each a In Range("X2:AD2") 'вместо a1:b1 вписать нужные столбцы из которых копируем
        b = a.Column 'очедной столбец
        c = Cells(Rows.Count, b).End(xlUp).Row 'нижняя строка очередного столбца
        d = Cells(Rows.Count, u).End(xlUp).Row + 1 'очередная строка куда вставляем
    Range(Cells(2, b), Cells(c, b)).Copy Range(u & d) 'копи-паст
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]

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

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