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

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

Пользуйте макрос.
Он понятный.
И вникать не надо :)
Изменено: ikki - 14.03.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
Наверх