Страницы: 1
RSS
Выбор непустых (заполненных) ячеек из массива
 
Добрый день.
Имеется массив данных (см. вложение). Необходимо из таблицы где чередуются заполненные/пустые ячейки, выбрать в отдельную таблицу списком только заполненные данные. Помогите реализовать идею.  
 
вариант/
впр + 2 дополнительных столбца
нд уберете еслиошибка или другими формулами проверки свойств и значений.
 
еще вариант
Код
=ИНДЕКС(B$3:B$15;НАИМЕНЬШИЙ(ЕСЛИ(B$3:B$15<>"";СТРОКА($1:$13));СТРОКА(M1)))
Лень двигатель прогресса, доказано!!!
 
Код
Sub BBBBB()
Dim irng As Range
rws = Cells.SpecialCells(xlLastCell).Row

Range(Cells(1, 2), Cells(rws, 5)).Copy
Cells(1, 7).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range(Cells(3, 7), Cells(rws, 10)).Select

For Each x In Selection
If x.Value = "" Then
If irng Is Nothing Then
   Set irng = Union(x, x)
Else
   Set irng = Union(irng, x)
End If
End If
Next

If Not irng Is Nothing Then irng.Select
Selection.Delete Shift:=xlUp

End Sub
Изменено: TImmy - 26.05.2015 17:39:40
 
Всем спасибо! Очень помогли.
С ВПР(), пожалуй наиболее оптимальный вариант при работе с большими объемами данных.
 
Сергей, мне очень подходит ваш вариант!  Но в вашем файле вычисляет сразу B$3:B$15<>"", а у меня B$3:B$15<>"", потом B$3:B$15<>"".
В результате ошибка. Подскажите какую функцию я не включил?
А лучше обрисую задачу (очень похожа на ту, что выше):
Путевой лист
Столбец с датами, столбец с пробегом.
Задача: В столбец даты медосмотра вставить даты, исключив даты без пробега (такие бывает вносишь, если заправился в выходной).

Я там кое-что вставил - далеко не идеал, но пока обхожусь этим.
А-то лень же каждый месяц дважды вбивать даты!!! ;)
Вот думаю сделать "невидимый" (белый шрифт) столбец (где "подпись") с формулой:
Код
=ЕСЛИ(K39>0;A39;" ")
А потом применить вашу формулу, но цука, не работает!  :cry:  
Изменено: Aptus - 27.08.2017 14:51:19
ИСТИНА где-то рядом!
 
Всё, вопрос закрыт. Помогли на http://www.excelworld.ru/forum/2-35062-1#229635
В результате без лишнего столбца вот такая формула ( мож кому поможет):
Код
=ЕСЛИ(ЕОШИБКА(ИНДЕКС($A$39:$A$55;НАИМЕНЬШИЙ(ЕСЛИ($K$39:$K$55<>"";СТРОКА($A$1:$A$17));СТРОКА(A1))));"";ИНДЕКС($A$39:$A$55;НАИМЕНЬШИЙ(ЕСЛИ($K$39:$K$55<>"";СТРОКА($A$1:$A$17));СТРОКА(A1))))
Изменено: Aptus - 27.08.2017 21:17:42
ИСТИНА где-то рядом!
 
Aptus, что-то не нашел в Вашем примере дат без пробега.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Надо было Delete попробовать на клетках пробега, но сейчас всё работает и файл в студию:
ИСТИНА где-то рядом!
 
Цитата
Aptus написал:
мож кому поможет
первая ячейка и последующие ячейки
Код
=ПОИСКПОЗ(1;A1:A10;-1)
=ЕСЛИ(СЧЁТЗ($A$1:$A$10)>=СТРОКА();ПОИСКПОЗ(1;$A$1:ИНДЕКС($A$1:$A$10;L1-1);-1);"")
 
Друзья, есть такая проблема. Из умной таблицы, в которой КУЧА строк (фамилий рабочих разбитых по Компаниям), я вывел сводную таблицу в которой отображены Компании и количество вышедших на работу людей по числам месяца. Но далеко не все компании (подрядчики) работают каждый месяц. В конце каждого месяца я делаю отчёт и вывожу из сводной таблицы названия компаний, рабочие которой выходили на работу в этом месяце и максимальное количество работников вышедших на работу. А потом в ручную удаляю те строки, которые содержат "пусто". Можно ли как-то выводить в отчёт только те названия компаний, которые содержат хоть одно число (выход на работу), а пустые, чтобы не выводились. Файл прилагаю (количество Компаний ОЧЕНЬ СИЛЬНО сократил, т.к. файл не хотел грузиться). Спасибо.
Изменено: Александр Садковой - 18.02.2022 07:43:46
 
Александр Садковой,  В исходных добавьте доп. столбец. считающий по строке значения, и запихните в SIGN будет 1 и 0 в зависимости был занят или нет.
В сводной использовать это поле для калькуляции и фильтраци.
Альтернативы - MSQuery, PowerQuery.

Упс, не посмотрел что тема то .... Вам бы создать свою.
Изменено: БМВ - 18.02.2022 08:17:18
По вопросам из тем форума, личку не читаю.
 
БМВ, я далеко не профи в excel
Цитата
написал:
доп. столбец. считающий по строке значения, и запихните в SIGN будет 1 и 0
SIGN это куда?
Я думал, что это можно как-то реализовать с помощью формул. Мучался долго, но ничего толком не придумал. Вывести все названия Компаний и напротив значение либо 0 либо max количество работников - не вопрос. Но потом долго удалять Компании с нулём.
Цитата
написал:
Альтернативы - MSQuery, PowerQuery
не знаком с ними :(

Начал изучать VBA, но пока я дойду до того, чтобы написать подобный макрос, я состарюсь :)
Изменено: Александр - 18.02.2022 13:37:26
 
, всё, я решил свою проблему с помощью Power Query. Это просто мощнейшая надстройка в Excel !!! Пару дней на её изучение и можно творить чудеса!  8)  
Страницы: 1
Читают тему
Наверх