Как выбрать непустые ячейки в excel

 

Добрый день.
Имеется массив данных (см. вложение). Необходимо из таблицы где чередуются заполненные/пустые ячейки, выбрать в отдельную таблицу списком только заполненные данные. Помогите реализовать идею.  

Прикрепленные файлы

  • Книга1.xlsx (11.84 КБ)

 

Catboyun

Пользователь

Сообщений: 1631
Регистрация: 09.05.2015

вариант/
впр + 2 дополнительных столбца
нд уберете еслиошибка или другими формулами проверки свойств и значений.

Прикрепленные файлы

  • впр+.xls (27.5 КБ)

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#3

26.05.2015 16:52:39

еще вариант

Код
=ИНДЕКС(B$3:B$15;НАИМЕНЬШИЙ(ЕСЛИ(B$3:B$15<>"";СТРОКА($1:$13));СТРОКА(M1)))

Прикрепленные файлы

  • Книга1 (35).xlsx (12.58 КБ)

Лень двигатель прогресса, доказано!!!

 

TImmy

Пользователь

Сообщений: 49
Регистрация: 18.08.2014

#4

26.05.2015 17:37:47

Код
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

Изменено: TImmy26.05.2015 17:39:40

 

Всем спасибо! Очень помогли.
С ВПР(), пожалуй наиболее оптимальный вариант при работе с большими объемами данных.

 

Aptus

Пользователь

Сообщений: 3
Регистрация: 27.08.2017

#6

27.08.2017 14:28:20

Сергей, мне очень подходит ваш вариант!  Но в вашем файле вычисляет сразу

B$3:B$15<>»»

, а у меня

B$3:B$15

<>»», потом B$3:B$15

<>»»

.
В результате ошибка. Подскажите какую функцию я не включил?
А лучше обрисую задачу (очень похожа на ту, что выше):
Путевой лист
Столбец с датами, столбец с пробегом.
Задача: В столбец даты медосмотра вставить даты, исключив даты без пробега (такие бывает вносишь, если заправился в выходной).

Я там кое-что вставил — далеко не идеал, но пока обхожусь этим.
А-то лень же каждый месяц дважды вбивать даты!!! ;)
Вот думаю сделать «невидимый» (белый шрифт) столбец (где «подпись») с формулой:

Код
=ЕСЛИ(K39>0;A39;" ")

А потом применить вашу формулу, но цука, не работает!  :cry:  

Прикрепленные файлы

  • Образец.xls (52.5 КБ)

Изменено: Aptus27.08.2017 14:51:19

ИСТИНА где-то рядом!

 

Aptus

Пользователь

Сообщений: 3
Регистрация: 27.08.2017

#7

27.08.2017 19:17:25

Всё, вопрос закрыт. Помогли на

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))))

Изменено: Aptus27.08.2017 21:17:42

ИСТИНА где-то рядом!

 

Bema

Пользователь

Сообщений: 6759
Регистрация: 15.02.2016

Aptus, что-то не нашел в Вашем примере дат без пробега.

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

Aptus

Пользователь

Сообщений: 3
Регистрация: 27.08.2017

Надо было Delete попробовать на клетках пробега, но сейчас всё работает и файл в студию:

 

z_sir

Пользователь

Сообщений: 126
Регистрация: 29.07.2017

#10

27.08.2017 21:52:41

Цитата
Aptus написал:
мож кому поможет

первая ячейка и последующие ячейки

Код
=ПОИСКПОЗ(1;A1:A10;-1)
=ЕСЛИ(СЧЁТЗ($A$1:$A$10)>=СТРОКА();ПОИСКПОЗ(1;$A$1:ИНДЕКС($A$1:$A$10;L1-1);-1);"")
 

Друзья, есть такая проблема. Из умной таблицы, в которой КУЧА строк (фамилий рабочих разбитых по Компаниям), я вывел сводную таблицу в которой отображены Компании и количество вышедших на работу людей по числам месяца. Но далеко не все компании (подрядчики) работают каждый месяц. В конце каждого месяца я делаю отчёт и вывожу из сводной таблицы названия компаний, рабочие которой выходили на работу в этом месяце и максимальное количество работников вышедших на работу. А потом в ручную удаляю те строки, которые содержат «пусто». Можно ли как-то выводить в отчёт только те названия компаний, которые содержат хоть одно число (выход на работу), а пустые, чтобы не выводились. Файл прилагаю (количество Компаний ОЧЕНЬ СИЛЬНО сократил, т.к. файл не хотел грузиться). Спасибо.

Прикрепленные файлы

  • 111.xlsx (110.41 КБ)

Изменено: Александр Садковой18.02.2022 07:43:46

 

БМВ

Модератор

Сообщений: 21383
Регистрация: 28.12.2016

Excel 2013, 2016

Александр Садковой,  В исходных добавьте доп. столбец. считающий по строке значения, и запихните в SIGN будет 1 и 0 в зависимости был занят или нет.
В сводной использовать это поле для калькуляции и фильтраци.
Альтернативы — MSQuery, PowerQuery.

Упс, не посмотрел что тема то …. Вам бы создать свою.

Изменено: БМВ18.02.2022 08:17:18

По вопросам из тем форума, личку не читаю.

 

Александр

Пользователь

Сообщений: 6
Регистрация: 17.02.2022

#13

18.02.2022 12:20:23

БМВ, я далеко не профи в excel

Цитата
написал:
доп. столбец. считающий по строке значения, и запихните в SIGN будет 1 и 0

SIGN это куда?
Я думал, что это можно как-то реализовать с помощью формул. Мучался долго, но ничего толком не придумал. Вывести все названия Компаний и напротив значение либо 0 либо max количество работников — не вопрос. Но потом долго удалять Компании с нулём.

Цитата
написал:
Альтернативы — MSQuery, PowerQuery

не знаком с ними :(

Начал изучать VBA, но пока я дойду до того, чтобы написать подобный макрос, я состарюсь :)

Изменено: Александр18.02.2022 13:37:26

 

Александр

Пользователь

Сообщений: 6
Регистрация: 17.02.2022

#14

20.02.2022 14:19:03

, всё, я решил свою проблему с помощью Power Query. Это просто мощнейшая надстройка в Excel !!! Пару дней на её изучение и можно творить чудеса!  8)  

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

-15

±

Замечаний:
0% ±


Excel 2010

Здравствуйте. Подскажите пожалуйста как выйти из данного положения:

Имеется столбец с цифрами … среди которых имеются пустые строчки (ячейки) либо «0» … Необходимо выписать в другой столбец по порядку (не оставляя между ними пустых и равных «0») все значения >0 исключая пустые и равные нулю…
Фильтр применять в данном случае нельзя.
Пытался найти функцию «найти следующую не пустую ячейку», но не нашел…. аналог имеется или нет?

Заранее благодарен за помощь.

Азат

На чтение 7 мин Просмотров 1.7к. Опубликовано 07.11.2020

Содержание

  1. Примеры использования функции ЕПУСТО в Excel
  2. Почему нужно использовать функцию ЕПУСТО при проверке пустых ячеек
  3. Проверка на пустую ячейку в таблице Excel
  4. Как посчитать количество пустых ячеек в Excel
  5. Особенности использования функции ЕПУСТО в Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Чтобы подсчитать количество ячеек в диапазоне, содержащих значения, используйте функцию СЧЁТЗ.

Иногда при подсчете ячеек удобнее пропускать пустые ячейки, поскольку смысловую нагрузку несут только ячейки со значениями. Например, вы хотите подсчитать общее количество сотрудников, которые сделали продажу (столбец г).

Функция COUNT пропускает пустые значения в D3, D4, D8 и D11 и подсчитывает количество ячеек, содержащих значения в столбце г. Функция находит шесть ячеек в столбце D, содержащий значения, и отображает 6 в качестве выходных данных.

Функция ЕПУСТО в Excel используется для наличия текстовых, числовых, логических и прочих типов данных в указанной ячейке и возвращает логическое значение ИСТИНА, если ячейка является пустой. Если в указанной ячейке содержатся какие-либо данные, результатом выполнения функции ЕПУСТО будет логическое значение ЛОЖЬ.

Примеры использования функции ЕПУСТО в Excel

Пример 1. В таблице Excel находятся результаты (баллы) по экзамену, который проводился в учебном заведении. В данной электронной ведомости напротив некоторых студентов оценки не указаны, поскольку их отправили на пересдачу. В столбце рядом вывести текстовую строку «Сдал» напротив тех, кому выставили оценки, и «На пересдачу» — напротив не сдавших с первого раза.

Выделим ячейки C3:C18 и запишем следующую формулу:

Формула ЕСЛИ выполняет проверку возвращаемого результата функции ЕПУСТО для диапазона ячеек B3:B18 и возвращает один из вариантов («На пересдачу» или «Сдал»). Результат выполнения функции:

Теперь часть данной формулы можно использовать для условного форматирования:

  1. Выделите диапазон ячеек C3:C18 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
  2. В появившемся окне «Создание правила форматирования» выберите опцию: «Использовать формулы для определения форматируемых ячеек» и введите следующую формулу:
  3. Нажмите на кнопку «Формат» (как на образцу), потом укажите в окне «Формат ячеек» красный цвет заливки и нажмите ОК на всех открытых окнах:

На против незаполненных (пустых) ячеек или двоек мы получаем соответственное сообщение «На пересдачу» и красную заливку.

Почему нужно использовать функцию ЕПУСТО при проверке пустых ячеек

У выше указанном примере можно изменить формулу используя двойные кавычки («») в место функции проверки ячеек на пустоту, и она также будет работать:

=ЕСЛИ(ИЛИ( B3=»» ;B3=2);»На пересдачу»;»Сдал»)

Но не всегда! Все зависит от значений, которые могут содержать ячейки. Обратите внимание на то как по-разному себя ведут двойные кавычки, и функция ЕПУСТО если у нас в ячейках находятся одни и те же специфические значения:

Как видно на рисунке в ячейке находится символ одинарной кавычки. Первая формула (с двойными кавычками вместо функции) ее не видит. Более того в самой ячейке A1 одинарная кавычке не отображается так как данный спецсимвол в Excel предназначенный для отображения значений в текстовом формате. Это удобно, например, когда нам нужно отобразить саму формулу, а не результат ее вычисления как сделано в ячейках D1 и D2. Достаточно лишь перед формулой ввести одинарную кавычку и теперь отображается сама формула, а не возвращаемый ее результат. Но функция ЕПУСТО видит, что в действительности ячейка А1 не является пустой!

Проверка на пустую ячейку в таблице Excel

Пример 2. В таблице Excel записаны некоторые данные. Определить, все ли поля заполнены, или есть как минимум одно поле, которое является пустым.

Исходная таблица данных:

Чтобы определить наличие пустых ячеек используем следующую формулу массива (CTRL+SHIFT+Enter):

Функция СУММ используется для определения суммы величин, возвращаемых функцией —ЕПУСТО для каждой ячейки из диапазона B3:B17 (числовых значений, поскольку используется двойное отрицание). Если запись СУММ(—ЕПУСТО(B3:B17) возвращает любое значение >0, функция ЕСЛИ вернет значение ИСТИНА.

То есть, в диапазоне B3:B17 есть одна или несколько пустых ячеек.

Примечание: в указанной выше формуле были использованы символы «—». Данный вид записи называется двойным отрицанием. В данном случае двойное отрицание необходимо для явного преобразования данных логического типа к числовому. Некоторые функции Excel не выполняют автоматического преобразования данных, поэтому механизм преобразования типов приходится запускать вручную. Наиболее распространенными вариантами преобразования текстовых или логических значений к числовому типу является умножение на 1 или добавление 0 (например, =ИСТИНА+0 вернет число 1, или =«23»*1 вернет число 23. Однако использование записи типа =—ИСТИНА ускоряет работу функций (по некоторым оценкам прирост производительности составляет до 15%, что имеет значение при обработке больших объемов данных).

Как посчитать количество пустых ячеек в Excel

Пример 3. Рассчитать средний возраст работников офиса. Если в таблице заполнены не все поля, вывести соответствующее сообщение и не выполнять расчет.

Формула для расчета (формула массива):

Функция ЕСЛИ выполняет проверку диапазона на наличие пустых ячеек (выражение СУММ(—ЕПУСТО(B3:B12))). Если СУММ вернула значение >0, будет выведено сообщение, содержащее количество незаполненных данными ячеек (СЧИТАТЬПУСТОТЫ) и строку «поля не заполнены», которые склеены знаком «&» (операция конкатенации).

Особенности использования функции ЕПУСТО в Excel

Функция ЕПУСТО в Excel относится к числу логических функций (выполняющих проверку какого-либо условия, например, ЕСЛИ, ЕССЫЛКА, ЕЧИСЛО и др., и возвращающих результаты в виде данных логического типа: ИСТИНА, ЛОЖЬ). Синтаксическая запись функции:

Единственный аргумент является обязательным для заполнения и может принимать ссылку на ячейку или на диапазон ячеек, в которых необходимо определить наличие каких-либо данных. Если функция принимает диапазон ячеек, функция должна быть использована в качестве формулы массива.

  1. Если в качестве аргумента функции было явно передано какое-либо значение (например, =ЕПУСТО(ИСТИНА), =ЕПУСТО(«текст»), =ЕПУСТО(12)), результат ее выполнения – значение ЛОЖЬ.
  2. Если требуется, чтобы функция возвращала значение ИСТИНА, если ячейка не является пустой, ее можно использовать совместно с функцией НЕ. Например, =НЕ(ЕПУСТО(A1)) вернет ИСТИНА, если A1 не является пустой.
  3. Запись типа =ЕПУСТО(АДРЕС(x;y)) всегда будет возвращать значение ложь, поскольку функция АДРЕС(x;y) возвращает ссылку на ячейку, то есть непустое значение.
  4. Функция возвращает значение ЛОЖЬ даже в тех случаях, когда в переданной в качестве аргумента ячейке содержится ошибка или ссылка на ячейку. Это суждение справедливо и для случаев, когда в результате выполнения какой-либо функции в ячейку была выведена пустая строка. Например, в ячейку A1 была введена формула =ЕСЛИ(2>1;””;ЛОЖЬ), которая вернет пустую строку «». В этом случае функция =ЕПУСТО(A1) вернет значение ЛОЖЬ.
  5. Если требуется проверить сразу несколько ячеек, можно использовать функцию в качестве формулы массива (выделить требуемое количество пустых ячеек, ввести формулу «=ЕПУСТО(» и в качестве аргумента передать диапазон исследуемых ячеек, для выполнения использовать комбинацию клавиш Ctrl+Shift+Enter)

Есть именной диапазон L7:L68. В нем строки, пустые или с текстом (постоянно меняются) .
Как в другой диапазон (столбец) выбрать из диапазона L7:L68 все непустые строки, и выстроить их подряд без пробелов?

Пример:
ааа
ббб
(пустая строка)
ллл
(пустая строка)
жжж

надо чтобы в другой столбец собрался текст подряд:
ааа
ббб
ллл
жжж

1155 / 702 / 203

Регистрация: 22.04.2013

Сообщений: 5,218

Записей в блоге: 1

1

Собрать в новом столбце непустые значения из соседнего

01.10.2018, 10:57. Показов 5840. Ответов 11


Студворк — интернет-сервис помощи студентам

Добрый день.
Есть некий список в столбце С, составленный путём ВПР из других листов .

и в списке из тысячи человек в этом столбце С заполнено только 20-30

вопрос — как можно (без применения бейсика) в столбце Д собрать всех этих 20-30 человек подряд, без пустых строк?
в интернетах не нашёл. формулы невнятные.
если можно объяснить словами — объясните словами, пожалуйста, а я придумаю как конкретно реализовать.

(сделал просто копипастом столбца С в столбец Д и фильтр — выделить непустые, но это некошерно. условие — чтоб оно само там в список появлялось).



0



1852 / 1174 / 190

Регистрация: 27.03.2009

Сообщений: 4,514

01.10.2018, 11:04

2

без вба думаю никак. фильтром…



0



1155 / 702 / 203

Регистрация: 22.04.2013

Сообщений: 5,218

Записей в блоге: 1

01.10.2018, 16:20

 [ТС]

4

Казанский, спасибо
попробую.
с утра у меня ссылка на ексель2 не открывалась. остальные ссылки — ну так себе.

Добавлено через 3 часа 59 минут
«Если в списке числе, среди которых нам нужно вычислить наименьшее число находятся ячейки с текстом, то функция, также как и в случае с пустыми ячейками, игнорирует их.»
это про наименьший()
так что отказать



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

01.10.2018, 16:25

5

если что то не получается, показываем файл с неудачей.



0



15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

01.10.2018, 21:54

6

Yulunga, у Вас проблема не с наименьший(), а с ЕПУСТО(). Замените ЕПУСТО($A$6:$A$18) на ДЛСТР($A$6:$A$18)=0
Или поменять местами аргументы в ЕСЛИ, ;»» можно опустить

Код

=ЕСЛИОШИБКА(ДВССЫЛ("A"&НАИМЕНЬШИЙ(ЕСЛИ(ДЛСТР($A$6:$A$18);СТРОКА($A$6:$A$18));СТРОКА()-СТРОКА($B$5)));"")

Добавлено через 7 минут
Для тысяч строк лучше VBA, повесить процедуру на Worksheet_Calculate, тогда будет автоматически запускаться.



0



1155 / 702 / 203

Регистрация: 22.04.2013

Сообщений: 5,218

Записей в блоге: 1

02.10.2018, 08:41

 [ТС]

7

не, ребят. сдаюсь
не понимаю, как оно работает, поэтому не могу сделать
в столбце Д хочу сделать заполненные ячейки из столбца Ц
то есть
Паредонавос
Водовозова

п.с. бейском не надо. такой файл нужен будет раз в 3 месица примерно, не чаще. так что бейсик излишен.



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

02.10.2018, 09:08

8

вариант.



1



1155 / 702 / 203

Регистрация: 22.04.2013

Сообщений: 5,218

Записей в блоге: 1

02.10.2018, 10:56

 [ТС]

9

какая-то высшая математика.
надо вариться внутри, чтоб так сразу написать
спасибо большое.
меня в этих формулах смущает СТРОКА(А1), СТРОКА(А2). не могу врубиться, как оно работает



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

02.10.2018, 13:24

10

можно было в ф-ции ПОИСКПОЗ первым аргументом ставит в каждой строке новое число начиная с 1 но это мутарно вот по этому применяется ф-ция СТРОКА(А1)
СТРОКА(А1) = 1
СТРОКА(А2) = 2



0



866 / 510 / 162

Регистрация: 30.03.2013

Сообщений: 1,048

05.10.2018, 16:07

11

Два варианта без дополнительного столбца



1



1155 / 702 / 203

Регистрация: 22.04.2013

Сообщений: 5,218

Записей в блоге: 1

08.10.2018, 07:59

 [ТС]

12

Czeslav, капец конечно формула
а как должна работать голова, чтобы придумать такое вот ?
я без подколов, можешь рассказать? чтобы мне в следующий раз такие вопросы не задавать



0



If you frequently analyze data in Excel, you may come across empty cells before the actual values. Instead of removing these cells, you can get the position or even the value of the first non-blank cell with formulas. In this article, we are going to show you how to find the first non-blank cell in a range in Excel.

Download Workbook

Formula

Finding the position:      {=MATCH(FALSE,ISBLANK(range),0)}

Get the value:                    {=INDEX(range,MATCH(FALSE,ISBLANK(range),0))}

* range is the reference from the work range

How it works

Excel doesn’t have a built-in formula to find the first non-blank cell in a range. However, there is ISBLANK function which checks a cell and returns a Boolean value according to its content. The function returns TRUE if cell is blank, FALSE otherwise. Thus, finding the first FALSE value means to find the first non-blank cell.

MATCH function can help to locate FALSE value. Once the position is in hand, you can use it with INDEX function to get the result.

Although VLOOKUP function can be used with a wild card “*” character, it can return only text values. If you are not familiar with INDEX & MATCH functions, please visit our guide: INDEX & MATCH: A Better Way to Look Up Data

The problem is ISBLANK function only works with a single cell. You need to use a helper column to populate TRUE and FALSE values which doesn’t sound practical. Instead, you can use an array function and not need the helper column.

Use the reference of your range of values in the ISBLANK function. This action will return an array of Boolean values. The first FALSE value indicates the position of the first non-blank cell in the range. Wrap the function with either MATCH or INDEX-MATCH combo to get the position or the value respectively.

Use Ctrl + Shift + Enter key combination instead of regular Enter key to evaluate the formula as an array formula.

Понравилась статья? Поделить с друзьями:
  • Как выбрать непустые значения excel
  • Как выбрать начертания шрифтов в word
  • Как выбрать направление текста в word
  • Как выбрать наименьшее число в excel
  • Как выбрать наибольшее значение в excel формула