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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данный на другой лист по отбору - Мир MS Excel

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

Excel 2010
Доброго времени.
Суть (файл прикреплен)
Есть лист "Ввод данных"
В каждой строчке есть столбец "Водитель"
Нужно перенести в лист "Маршрутный лист" только те строчки, которые относятся к конкретному водителю (он выбран в ячейке G3 на листе "Маршрутный лист")

Огромное спасибо за помощь!
К сообщению приложен файл: _2016.02.20.xlsx(78Kb)


Сообщение отредактировал korostelev_n - Суббота, 20.02.2016, 20:01
 
Ответить
СообщениеДоброго времени.
Суть (файл прикреплен)
Есть лист "Ввод данных"
В каждой строчке есть столбец "Водитель"
Нужно перенести в лист "Маршрутный лист" только те строчки, которые относятся к конкретному водителю (он выбран в ячейке G3 на листе "Маршрутный лист")

Огромное спасибо за помощь!

Автор - korostelev_n
Дата добавления - 20.02.2016 в 20:01
китин Дата: Суббота, 20.02.2016, 20:15 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3443
Репутация: 546 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
ну как то так наверное формула массива
Код
=ЕСЛИОШИБКА(ИНДЕКС('Ввод данных'!$B$2:$I$146;НАИМЕНЬШИЙ(ЕСЛИ('Ввод данных'!$M$2:$M$146='Маршрутный лист'!Критерии;СТРОКА('Ввод данных'!$B$2:$C$146)-1);СТРОКА(A1));СТОЛБЕЦ(A1));"")
К сообщению приложен файл: korostelev_n.xlsx(82Kb)


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениену как то так наверное формула массива
Код
=ЕСЛИОШИБКА(ИНДЕКС('Ввод данных'!$B$2:$I$146;НАИМЕНЬШИЙ(ЕСЛИ('Ввод данных'!$M$2:$M$146='Маршрутный лист'!Критерии;СТРОКА('Ввод данных'!$B$2:$C$146)-1);СТРОКА(A1));СТОЛБЕЦ(A1));"")

Автор - китин
Дата добавления - 20.02.2016 в 20:15
buchlotnik Дата: Суббота, 20.02.2016, 20:19 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
вытаскиваем номер (массивка):
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ('Ввод данных'!$M$2:$M$82=Критерии;--'Ввод данных'!$A$2:$A$82;"");СТРОКА(A1));"")

по номеру всё остальное:
Код
=ЕСЛИОШИБКА(ЕСЛИ($A5>0;ИНДЕКС('Ввод данных'!B$2:B$82;$A5));"")

UPD файл перезалил - добавил выпадающий список
К сообщению приложен файл: 2124536.xlsx(75Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Суббота, 20.02.2016, 20:21
 
Ответить
Сообщениевытаскиваем номер (массивка):
Код
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ('Ввод данных'!$M$2:$M$82=Критерии;--'Ввод данных'!$A$2:$A$82;"");СТРОКА(A1));"")

по номеру всё остальное:
Код
=ЕСЛИОШИБКА(ЕСЛИ($A5>0;ИНДЕКС('Ввод данных'!B$2:B$82;$A5));"")

UPD файл перезалил - добавил выпадающий список

Автор - buchlotnik
Дата добавления - 20.02.2016 в 20:19
Wasilich Дата: Суббота, 20.02.2016, 21:35 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 872
Репутация: 221 ±
Замечаний: 0% ±

2003
А макросом, надежней! :)
К сообщению приложен файл: korostelev_n.rar(49Kb)
 
Ответить
СообщениеА макросом, надежней! :)

Автор - Wasilich
Дата добавления - 20.02.2016 в 21:35
MBuh Дата: Воскресенье, 21.02.2016, 14:08 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Помогите пожалуйста,
У меня похожая проблема, только мне нужно переносить данные по двум критериям
Например за весь февраль по конкретному водителю (или номеру машины)
 
Ответить
СообщениеПомогите пожалуйста,
У меня похожая проблема, только мне нужно переносить данные по двум критериям
Например за весь февраль по конкретному водителю (или номеру машины)

Автор - MBuh
Дата добавления - 21.02.2016 в 14:08
korostelev_n Дата: Воскресенье, 21.02.2016, 14:25 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ВСЕМ ОГРОМНОЕ СПАСИБО!

Откровенно говоря - вроде как не дундук в Excel, но до сих пор в голове не формируется понимание как именно эти формулы работают )))
 
Ответить
СообщениеВСЕМ ОГРОМНОЕ СПАСИБО!

Откровенно говоря - вроде как не дундук в Excel, но до сих пор в голове не формируется понимание как именно эти формулы работают )))

Автор - korostelev_n
Дата добавления - 21.02.2016 в 14:25
korostelev_n Дата: Воскресенье, 21.02.2016, 14:52 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Wasilic

Можешь описать смысл макроса.. не понимаю как он работает а мне надо чуть его изменить )))

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False: Application.EnableEvents = False: Application.DisplayAlerts = False
a = Target.Address
If Target.Address = "$G$3" Then
s = 5
With Sheets("Ââîä äàííûõ")
Range("A5:I30").ClearContents
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
If .Cells(i, 13) = Target Then
Cells(s, 1) = s - 4
Cells(s, 2) = .Cells(i, 2)
Cells(s, 3) = .Cells(i, 3)
Cells(s, 4) = .Cells(i, 4)
Cells(s, 5) = .Cells(i, 5)
Cells(s, 6) = .Cells(i, 6)
Cells(s, 7) = .Cells(i, 7)
Cells(s, 8) = .Cells(i, 8)
s = s + 1
End If
Next
End With
End If
Application.ScreenUpdating = True: Application.EnableEvents = True: Application.DisplayAlerts = True
End Sub
[/vba]
[moder]Коды следует оформлять тегами (кнопка #). На первый раз исправила[/moder]


Сообщение отредактировал Pelena - Воскресенье, 21.02.2016, 15:05
 
Ответить
СообщениеWasilic

Можешь описать смысл макроса.. не понимаю как он работает а мне надо чуть его изменить )))

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False: Application.EnableEvents = False: Application.DisplayAlerts = False
a = Target.Address
If Target.Address = "$G$3" Then
s = 5
With Sheets("Ââîä äàííûõ")
Range("A5:I30").ClearContents
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
If .Cells(i, 13) = Target Then
Cells(s, 1) = s - 4
Cells(s, 2) = .Cells(i, 2)
Cells(s, 3) = .Cells(i, 3)
Cells(s, 4) = .Cells(i, 4)
Cells(s, 5) = .Cells(i, 5)
Cells(s, 6) = .Cells(i, 6)
Cells(s, 7) = .Cells(i, 7)
Cells(s, 8) = .Cells(i, 8)
s = s + 1
End If
Next
End With
End If
Application.ScreenUpdating = True: Application.EnableEvents = True: Application.DisplayAlerts = True
End Sub
[/vba]
[moder]Коды следует оформлять тегами (кнопка #). На первый раз исправила[/moder]

Автор - korostelev_n
Дата добавления - 21.02.2016 в 14:52
Wasilich Дата: Воскресенье, 21.02.2016, 16:31 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 872
Репутация: 221 ±
Замечаний: 0% ±

2003
не понимаю как он работает а мне надо чуть его изменить
Что конкретно?
Комментирую: (не нужное удалил)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False: Application.EnableEvents = False 'На врема работы макроса оключаем экран и макрос от повторного срабатывания
  If Target.Address = "$G$3" Then 'если изменение произошло в G3 то исполняем макрос
    s = 5 '1-я строка записи на листе "Маршрутный лист"
    With Sheets("Ввод данных") 'все действия отмеченные точкой относятся к этому листу, остальные к активному
      Range("A5:I30").ClearContents 'чистим активную таблицу "Маршрутный лист"
      For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row 'цикл проверки со 2-й до последней строки лмста "Ввод данных"
        If .Cells(i, 13) = Target Then 'если строка цикла i и колонка 13(F) = G3, переписываем
            Cells(s, 1) = s - 4 ' № п.п
            Cells(s, 2) = .Cells(i, 2) 'в строку s колонку 2 активного листа из строки i колонки 2 листа "Ввод данных"
            Cells(s, 3) = .Cells(i, 3) 'и так далее
            Cells(s, 4) = .Cells(i, 4)
            Cells(s, 5) = .Cells(i, 5)
            Cells(s, 6) = .Cells(i, 6)
            Cells(s, 7) = .Cells(i, 7)
            Cells(s, 8) = .Cells(i, 8)
            s = s + 1
        End If
      Next
    End With
  End If
  'включаем экран и макрос
  Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
[/vba]


Сообщение отредактировал Wasilic - Воскресенье, 21.02.2016, 16:35
 
Ответить
Сообщение
не понимаю как он работает а мне надо чуть его изменить
Что конкретно?
Комментирую: (не нужное удалил)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.ScreenUpdating = False: Application.EnableEvents = False 'На врема работы макроса оключаем экран и макрос от повторного срабатывания
  If Target.Address = "$G$3" Then 'если изменение произошло в G3 то исполняем макрос
    s = 5 '1-я строка записи на листе "Маршрутный лист"
    With Sheets("Ввод данных") 'все действия отмеченные точкой относятся к этому листу, остальные к активному
      Range("A5:I30").ClearContents 'чистим активную таблицу "Маршрутный лист"
      For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row 'цикл проверки со 2-й до последней строки лмста "Ввод данных"
        If .Cells(i, 13) = Target Then 'если строка цикла i и колонка 13(F) = G3, переписываем
            Cells(s, 1) = s - 4 ' № п.п
            Cells(s, 2) = .Cells(i, 2) 'в строку s колонку 2 активного листа из строки i колонки 2 листа "Ввод данных"
            Cells(s, 3) = .Cells(i, 3) 'и так далее
            Cells(s, 4) = .Cells(i, 4)
            Cells(s, 5) = .Cells(i, 5)
            Cells(s, 6) = .Cells(i, 6)
            Cells(s, 7) = .Cells(i, 7)
            Cells(s, 8) = .Cells(i, 8)
            s = s + 1
        End If
      Next
    End With
  End If
  'включаем экран и макрос
  Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 21.02.2016 в 16:31
korostelev_n Дата: Воскресенье, 21.02.2016, 16:47 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
СПАСИБО ОГРОМЕННОЕ! )))))
 
Ответить
СообщениеСПАСИБО ОГРОМЕННОЕ! )))))

Автор - korostelev_n
Дата добавления - 21.02.2016 в 16:47
MBuh Дата: Воскресенье, 21.02.2016, 18:01 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
китин,
А если два критерия ?
Например дата
[moder]Значит, надо добавить ещё одно условие в функцию ЕСЛИ. Если не разобрались, создавайте новую тему по Правилам форума[/moder]


Сообщение отредактировал Pelena - Воскресенье, 21.02.2016, 18:24
 
Ответить
Сообщениекитин,
А если два критерия ?
Например дата
[moder]Значит, надо добавить ещё одно условие в функцию ЕСЛИ. Если не разобрались, создавайте новую тему по Правилам форума[/moder]

Автор - MBuh
Дата добавления - 21.02.2016 в 18:01
MBuh Дата: Воскресенье, 21.02.2016, 22:29 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Спасибо, Формулу изменила, добавила еще одно условие
Код
=ЕСЛИОШИБКА(ИНДЕКС('Ввод данных'!$B$2:$I$146;НАИМЕНЬШИЙ(ЕСЛИ(('Ввод данных'!$M$2:$M$146='Маршрутный лист'!Критерии)*('Ввод данных'!$L$2:$L$146=Критерий2);СТРОКА('Ввод данных'!$B$2:$C$146)-1);СТРОКА(A1));СТОЛБЕЦ(A1));"")


Если с листа "Ввода данных" нужно перенести не все данные, а только по столбцам (например) B, F, G, H (критерии остаются те же - дата и водитель), что нужно изменить в формуле?
[moder]Ещё раз: читаем Правила форума, создаём свою тему[/moder]


Сообщение отредактировал Pelena - Воскресенье, 21.02.2016, 22:33
 
Ответить
СообщениеСпасибо, Формулу изменила, добавила еще одно условие
Код
=ЕСЛИОШИБКА(ИНДЕКС('Ввод данных'!$B$2:$I$146;НАИМЕНЬШИЙ(ЕСЛИ(('Ввод данных'!$M$2:$M$146='Маршрутный лист'!Критерии)*('Ввод данных'!$L$2:$L$146=Критерий2);СТРОКА('Ввод данных'!$B$2:$C$146)-1);СТРОКА(A1));СТОЛБЕЦ(A1));"")


Если с листа "Ввода данных" нужно перенести не все данные, а только по столбцам (например) B, F, G, H (критерии остаются те же - дата и водитель), что нужно изменить в формуле?
[moder]Ещё раз: читаем Правила форума, создаём свою тему[/moder]

Автор - MBuh
Дата добавления - 21.02.2016 в 22:29
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос данный на другой лист по отбору (Формулы/Formulas)
Страница 1 из 11
Поиск:

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