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

Вход

Регистрация

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

 

= Мир MS Excel/Сдвиг диапазона ячеек. - Мир MS Excel

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

Excel 2013
Довольно нестандартная задача. На скриншоте показано: В таблицу вводятся данные(обведено зеленым, с 1 по 14 строки), которые затем, приводятся в технический вид ( обведено синим,19-20 и 23 строки) путем простого приравнивания. Количество данных может меняться, но в техническом виде нельзя допустить пропусков.
Ломаю голову уже очень долго. Было бы идеально, если бы при обнаружении пропуска, ячейка просто исчезала/скрывалась, при этом остальная часть сдвигалась влево, но увы, такие маневры на сколько я знаю в программе не предусмотрены. Нужна логика вида: ЕСЛИ A11=0, то СДВИГ (B11-Q11) влево на 1 позицию. Поиск в интернете не помог, еще и потому что что очень сложно сформулировать проблему. Чаще всего натыкался на гайды по ф-ции СМЕЩ, которая мне не подходит. Вот набрел на Ваш форум, и надеюсь на помощь. Спасибо!
К сообщению приложен файл: Programma_dlya_.xlsx (28.1 Kb)


Сообщение отредактировал pavelpasha - Понедельник, 11.05.2015, 00:42
 
Ответить
СообщениеДовольно нестандартная задача. На скриншоте показано: В таблицу вводятся данные(обведено зеленым, с 1 по 14 строки), которые затем, приводятся в технический вид ( обведено синим,19-20 и 23 строки) путем простого приравнивания. Количество данных может меняться, но в техническом виде нельзя допустить пропусков.
Ломаю голову уже очень долго. Было бы идеально, если бы при обнаружении пропуска, ячейка просто исчезала/скрывалась, при этом остальная часть сдвигалась влево, но увы, такие маневры на сколько я знаю в программе не предусмотрены. Нужна логика вида: ЕСЛИ A11=0, то СДВИГ (B11-Q11) влево на 1 позицию. Поиск в интернете не помог, еще и потому что что очень сложно сформулировать проблему. Чаще всего натыкался на гайды по ф-ции СМЕЩ, которая мне не подходит. Вот набрел на Ваш форум, и надеюсь на помощь. Спасибо!

Автор - pavelpasha
Дата добавления - 10.05.2015 в 23:47
МВТ Дата: Понедельник, 11.05.2015, 08:00 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Думаю, примерно так [vba]
Код
Sub DelCell()
Dim Arr
Arr = Array(19, 20, 23)
Application.ScreenUpdating = False
For i = 0 To 2
For J = Cells(Arr(i), Columns.Count).End(xlToLeft).Column To 18 Step -1
If Cells(Arr(i), J) = "" Then Cells(Arr(i), J).Delete (xlToLeft)
Next J
Next i
Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеДумаю, примерно так [vba]
Код
Sub DelCell()
Dim Arr
Arr = Array(19, 20, 23)
Application.ScreenUpdating = False
For i = 0 To 2
For J = Cells(Arr(i), Columns.Count).End(xlToLeft).Column To 18 Step -1
If Cells(Arr(i), J) = "" Then Cells(Arr(i), J).Delete (xlToLeft)
Next J
Next i
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - МВТ
Дата добавления - 11.05.2015 в 08:00
krosav4ig Дата: Четверг, 14.05.2015, 20:41 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
формульный вариант
К сообщению приложен файл: 9761900.xlsx (30.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеформульный вариант

Автор - krosav4ig
Дата добавления - 14.05.2015 в 20:41
  • Страница 1 из 1
  • 1
Поиск:

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