Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
выборка значений удаленных строк из диапазона отрицательных чисел
 
Здравствуйте! я пробовал найти ответ через поиск и в приемах, но не нашел, если пропустил, просьба дать ссылку.
Вопрос у меня такой: есть столбец с данными, а именно: значения от -1 до -99999. Из этого столбца добрые люди выборочно удалили значения вместе со строками.
Необходимо: выяснить все удаленные значения и сохранить их отдельно, в принципе, в любом варианте, чтоб можно было их распечатать.
(есть Excel 2003 и 2007)

Заранее благодарю за любую помощь!
Изменено: kuks70 - 14 Мар 2015 21:04:10
 
Куда удалили? Или Вам необходим какой-то макрос, который удаляемые строки переносит на другой лист?
Никаких врагов, зато и никаких друзей.
 
CAHO, просто удалили, безвозвратно. Видимо, макрос, если без него никак нельзя... чтобы выбрать удаленные значения и, как вариант, перенести их на другой лист.
 
например, в другом столбце указать формулу А5-А4  (для строки 5), и применить на весь диапазон
а далее автофильтром все значения кроме 1..
 
googlogmob, такая идея уже была, но всё дело в том, что это работает в случае, когда попадаются удалённые единичные строки, а если удалены 50 или 100 строк подряд, разве это поможет (если я правильно всё понял)?
 
а разве не поможет?
если есть сомнения - почему бы не попробовать?
Изменено: ikki - 14 Мар 2015 22:33:58
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, нет не поможет, в этом случае мне показывает количество пропущенных строк! а мне нужны сами значения.
 
Нужно просто выяснить, какие значения из диапазона от -1 до -99999 отсутствуют?
 
Цитата
kuks70 написал: есть столбец с данными, а именно: значения от -1 до -99999.
Что-то я совсем запутался. У Вас всего один столбец? А какие в нём значения кроме чисел в промежутке от -1 до -99999? И зачем знать какие числа удалены, если опять восстановить их нумерацию хотите. Что-то недоговариваете.
Вложите файл с примером. Не обязательно оригинал.
Изменено: CAHO - 6 Апр 2015 11:55:46
Никаких врагов, зато и никаких друзей.
 
Цитата
kuks70 написал:  ikki , нет не поможет, в этом случае мне показывает количество пропущенных строк! а мне нужны сами значения.
на если использовать формулу для случаев результата не 1., за начальное значение - Ваше число -, конечное - плюс значение при расчета, и заполнить через разделитель
Изменено: googlogmob - 6 Апр 2015 11:56:03
 
Цитата
kuks70 написал: ikki, нет не поможет
гм...
а мне помогло...
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Юрий М, именно!
 
CAHO, прикрепил
 
googlogmob, без иллюстрации мне труднее сообразить этот вариант записи
 
ikki, да, в Вашем примере вижу нужный результат. Только там столько формул + к тому, о чём было сказано, нужно вникать, какая что делает?
 
Цитата
kuks70 написал: нужно вникать
сочувствую.
а Вы как хотели?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, ну, Вы можете, хотя бы по столбцам пояснить, какой что делает?
 
Вот для диапазона -1...-99.
 
Могу. Но не буду. Кстати, столбцов так много - именно для понимания. Часть можно убрать (объединив формулы).

Пользуйте макрос.
Он понятный.
И вникать не надо :)
Изменено: ikki - 14 Мар 2015 23:28:18
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Юрий М, огромная благодарность за макрос! я изменил его под свои цифры, всё работает! столько времени сэкономлено! Ещё раз благодарю! Всех благодарю за уделённое время моей проблеме!
 
Думаю, можно и компактнее сделать, чем у меня ))
 
Цитата
Юрий М написал: можно и компактнее сделать
мой вариант для твоего файла:
Код
Sub fdv_ikki()
  Dim a(), t%(-99 To -1), r%(1 To 99, 1 To 1)
  a = Range([a2], Cells(Rows.Count, 1).End(xlUp)).Value
  For i = 1 To UBound(a): t(a(i, 1)) = 1: Next
  For i = UBound(t) To LBound(t) Step -1
    If t(i) = 0 Then j = j + 1: r(j, 1) = i
  Next
  [d2].Resize(j).Value = r
End Sub
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, если бы Вы смогли найти возможность объяснить, то я бы смог понять, что сделали Вы, а после этого я бы стал разбираться, что делать мне. Обычно люди, которые хотят помочь - объясняют. Хотя в данной ситуации был предложен готовый макрос. Если есть готовое решение, то для чего всё усложнять? Мне и так ещё с БД не одну неделю возиться.
 
Я же говорил )
 
kuks70, ок.
я Вас понял.
удачи в Вашей дальнейшей работе.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, премного благодарен!
Ещё раз всех благодарю за помощь.
 
Файлы не смотрел, но - если нужно выяснить, каких чисел нет в конкретном заранее известном списке - какие проблемы протянуть рядом с таким списком СЧЁТЕСЛИ(испорченный список, очередной элемент оригинального списка), и затем фильтром или сортировкой отобрать строки с 0?
Страницы: 1
Читают тему (гостей: 1)