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

Вход

Регистрация

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

 

= Мир MS Excel/Сместить данные на строчку ниже по всей таблице - Мир MS Excel

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

Excel 2013
Добрый день!
Помогите пожалуйста!
Есть большая таблица в которой нужно значения отмеченные синем переместить на строчку ниже в желтую и аналогично через 3 строчки...
К сообщению приложен файл: 1779786.xlsx (9.5 Kb)
 
Ответить
СообщениеДобрый день!
Помогите пожалуйста!
Есть большая таблица в которой нужно значения отмеченные синем переместить на строчку ниже в желтую и аналогично через 3 строчки...

Автор - Forth
Дата добавления - 15.01.2016 в 13:43
_Boroda_ Дата: Пятница, 15.01.2016, 13:57 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16654
Репутация: 6475 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ЕСЛИ(A5="";A4;ЕСЛИ(A6="";"";A5))
К сообщению приложен файл: 1779786_1.xlsx (11.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ЕСЛИ(A5="";A4;ЕСЛИ(A6="";"";A5))

Автор - _Boroda_
Дата добавления - 15.01.2016 в 13:57
SLAVICK Дата: Пятница, 15.01.2016, 13:59 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Можно макросом:
[vba]
Код
Sub d()
n = Cells(Rows.Count, 1).End(xlUp).Row + 1
r = Array("a", "d", "e")
For i = 5 To n
If Len(Cells(i, r(0))) = 0 Then
    For ii = 0 To UBound(r)
         Cells(i, r(ii)).Value = Cells(i, r(ii)).Offset(-1, 0).Value
        Cells(i, r(ii)).Offset(-1, 0).ClearContents
    Next
End If
Next
End Sub
[/vba]
К сообщению приложен файл: 1779786.xls (36.0 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеМожно макросом:
[vba]
Код
Sub d()
n = Cells(Rows.Count, 1).End(xlUp).Row + 1
r = Array("a", "d", "e")
For i = 5 To n
If Len(Cells(i, r(0))) = 0 Then
    For ii = 0 To UBound(r)
         Cells(i, r(ii)).Value = Cells(i, r(ii)).Offset(-1, 0).Value
        Cells(i, r(ii)).Offset(-1, 0).ClearContents
    Next
End If
Next
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 15.01.2016 в 13:59
Forth Дата: Пятница, 15.01.2016, 14:43 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, макрасом круто, но оказываются есть строки не по 3, а более
Можно условие создать если строка 8547-OFS-*, то копируется в строчку ниже?
 
Ответить
СообщениеСпасибо, макрасом круто, но оказываются есть строки не по 3, а более
Можно условие создать если строка 8547-OFS-*, то копируется в строчку ниже?

Автор - Forth
Дата добавления - 15.01.2016 в 14:43
SLAVICK Дата: Пятница, 15.01.2016, 15:03 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
макрасом круто, но оказываются есть строки не по 3, а более

Макрос не смотрит на количество строк.
Он работает так:
Если пустая ячейка в 1-м столбце, то он сдвигает значения из вышележащей строки в эту пустую строку - только в столбцах "a", "d", "e"
создать если строка 8547-OFS-*

Можно но тогда меняется логика.
Сейчас он копирует если находит пустую строку сверху.
А по Вашему предложению будет копировать на строку ниже.
Попробуйте на своих данных - если что - тогда поменяю. :D


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
макрасом круто, но оказываются есть строки не по 3, а более

Макрос не смотрит на количество строк.
Он работает так:
Если пустая ячейка в 1-м столбце, то он сдвигает значения из вышележащей строки в эту пустую строку - только в столбцах "a", "d", "e"
создать если строка 8547-OFS-*

Можно но тогда меняется логика.
Сейчас он копирует если находит пустую строку сверху.
А по Вашему предложению будет копировать на строку ниже.
Попробуйте на своих данных - если что - тогда поменяю. :D

Автор - SLAVICK
Дата добавления - 15.01.2016 в 15:03
Forth Дата: Пятница, 15.01.2016, 20:41 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Наверно придется менять логику, так как 8547-OFS- бывает и не перед пустой строкой (
К сообщению приложен файл: 1231030.xlsx (11.9 Kb)
 
Ответить
СообщениеНаверно придется менять логику, так как 8547-OFS- бывает и не перед пустой строкой (

Автор - Forth
Дата добавления - 15.01.2016 в 20:41
SLAVICK Дата: Пятница, 15.01.2016, 23:24 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Тогда наверно так:
[vba]
Код
Sub d()
r = Array("i", "l", "m")
n = Cells(Rows.Count, r(0)).End(xlUp).Row + 1
For i = n To 10 Step -1
If Len(Cells(i, r(0)).Value) = 0 Then t = i
If Cells(i, r(0)).Value Like "8547-OFS*" Then
    For ii = LBound(r) To UBound(r)
'        Cells(i, r(ii)).Offset(1, 0).Value = Cells(i, r(ii)).Value ' для смещения на одну строку вниз
        Cells(t, r(ii)).Value = Cells(i, r(ii)).Value ' для смещения в пустую ячейку внизу
        Cells(i, r(ii)).ClearContents
    Next
End If
Next
End Sub
[/vba]
К сообщению приложен файл: rty.xlsm (19.0 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеТогда наверно так:
[vba]
Код
Sub d()
r = Array("i", "l", "m")
n = Cells(Rows.Count, r(0)).End(xlUp).Row + 1
For i = n To 10 Step -1
If Len(Cells(i, r(0)).Value) = 0 Then t = i
If Cells(i, r(0)).Value Like "8547-OFS*" Then
    For ii = LBound(r) To UBound(r)
'        Cells(i, r(ii)).Offset(1, 0).Value = Cells(i, r(ii)).Value ' для смещения на одну строку вниз
        Cells(t, r(ii)).Value = Cells(i, r(ii)).Value ' для смещения в пустую ячейку внизу
        Cells(i, r(ii)).ClearContents
    Next
End If
Next
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 15.01.2016 в 23:24
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сместить данные на строчку ниже по всей таблице (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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