Как пропустить пустые строки в excel формула

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


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

Формула 1: игнорировать пустые ячейки в одном столбце

=IF( A2 <>"", A2 +10, "")

Эта конкретная формула добавляет 10 к значению в ячейке A2 , только если значение в ячейке A2 не является пустым.

Формула 2: игнорировать пустые ячейки в нескольких столбцах

=IF(AND( A2 <>"", B2 <>""), A2 + B2 , "")

Эта конкретная формула добавляет значения в ячейки A2 и B2 , только если обе ячейки не пусты.

В следующих примерах показано, как использовать каждую формулу на практике.

Пример 1: игнорировать пустые ячейки в одном столбце

Предположим, у нас есть следующие данные в Excel, которые показывают очки, набранные различными баскетболистами:

Теперь предположим, что мы используем следующую формулу, чтобы добавить 10 к каждому из значений в столбце A:

= A2 +10

На следующем снимке экрана показано, как использовать эту формулу:

Обратите внимание, что 10 добавляется к каждой ячейке в столбце А, даже если ячейка в столбце А пуста.

Вместо этого мы можем использовать следующую формулу, чтобы добавить 10 к каждой из ячеек в столбце A и полностью игнорировать пустые ячейки:

=IF( A2 <>"", A2 +10, "")

На следующем снимке экрана показано, как использовать эту формулу:

Обратите внимание, что 10 добавляется только к каждой ячейке в столбце A, которая не пуста.

Пример 2. Игнорирование пустых ячеек в нескольких столбцах

Предположим, у нас есть следующие данные в Excel, которые показывают набранные очки и подборы, собранные различными баскетболистами:

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

=IF(AND( A2 <>"", B2 <>""), A2 + B2 , "")

На следующем снимке экрана показано, как использовать эту формулу:

Обратите внимание, что значения очков и подборов добавляются только для тех строк, где оба значения не являются пустыми.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Как заменить значения #N/A в Excel
Как игнорировать значения #N/A при использовании формул в Excel

 

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

Заранее огромное Вам спасибо!

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

  • вопрос.xlsx (10.16 КБ)

 

Проблема ещё заключается в том, что ячейки эти(строки) будут не совсем пустые. Они будут с формулами.

{=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14));СТРОКА(A2)));»»)} — не подходит!(она если в строке находит формулу — не считает её пустой. Хотя ЗНАЧЕНИЕ строки — пустота.

 

можно присвоить (по формуле) этим ячейкам(строкам) значение 0.
тогда нужно будет пропускать все строки с 0.
Как тогда это сделать?

 

формула эта(вышеприведенная) не моя. но насколько я смог её понять — надо в ней заменить ЕПУСТО на ЕСЛИ <>0.
потому что, формула эта рабочая. проверил на другой таблице.

просто надо немного изменить условия(исключить все ячейки с 0). для того чтобы это сделать — моих мозгов гуманитарных не хватит…

 

k61

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

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

Здравствуйте.
В примере нет ячеек с формулами.

 

Это просто таблица сделанная для образца.
я не могу скинуть оригинал — там книга из 12 листов — боюсь придется очень долго объяснять что и где.
для удобства сделал табличку отдельно.

вот ещё раз — уже измененная.
ПОЛУЧАЕТСЯ ЧТО НУЖНО ПРОПУСКАТЬ НЕ ПУСТЫЕ ЯЧЕЙКИ, А ТЕ, ЗНАЧЕНИЕ КОТОРЫХ = 0.

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

  • вопрос.xlsx (12.06 КБ)

 

k61

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

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

 

Да, вы правильно меня поняли! спасибо Вам за это решение!

А можно этот процесс автоматизировать? чтобы всё происходило само? (как по формулам)

Спасибо Вам!

 

просто мне нужно будет эту формулу знать, чтобы я мог её переносить в другую — уже рабочую таблицу книги.

 

k61

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

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

#10

20.02.2014 05:19:38

Цитата
А можно этот процесс автоматизировать?

По какому событию автоматизировать?

Цитата
нужно будет эту формулу знать

Нет там формулы. Правая кнопка мыши на ярлыке листа — Исходный текст — там макрос проживает Sub www().

P.S. Какая боль, какая боль, Макрос  — Формула   — 1 :0 !  (ковер на песню) :)

Изменено: k6120.02.2014 05:23:33
(Добавил песню.)

 

мне нужно чтобы всё считалось само — без кнопок.
{=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14));СТРОКА(A2)));»» ;) }
эта формула работает. в ней знающему человеку нужно изменить условие с ПУСТОЙ СТРОКИ НА 0.
Помогите, Пожалуйста…

 

Nic70y

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

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

Win7 MSO 2013

#12

21.02.2014 01:01:26

Код
=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$73;НАИМЕНЬШИЙ(ЕСЛИ(ЕТЕКСТ($A$2:$A$73);СТРОКА($A$2:$A$73)-1);СТРОКА(C1)));"")

формула массива. формулы массива очень массивные! чем Вас макрос не устроил?
второй файл ВПР + доп.столбец

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

  • 18999.xlsx (13.13 КБ)
  • 19201.xlsx (12.19 КБ)

Изменено: Nic70y21.02.2014 01:08:37
(2-й файл)

 

Nic70y,СПАСИБО ВАМ!!!!
Да, это именно то, что мне нужно!!! все считается само, и без моего вмешательства (пусть и путем сложных, длинных и нелепых формул)!
Спасибо огромное! Вы мне очень помогли!
Приятно иметь дело с профессионалами!
И огромное спасибо этому прекрасному сайту! Это просто мечта для человека, несведущего в этих сложностях!

 

k61

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

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

#14

21.02.2014 04:23:48

Цитата
А можно этот процесс автоматизировать?

Вопрос остался.

 

dmitryalexeevich

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

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

#15

21.02.2014 07:03:18

k61,почему? формула считает всё, даже при изменении значений в ячейках.
никаких действий от пользователя не нужно.

Цитата
dmitryalexeevich пишет:
все считается само, и без моего вмешательства

процесс автоматизирован.

 

Z

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

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

Win 10, MSO 2013 SP1

#16

21.02.2014 07:39:10

Off — Улыбнуло:

Цитата
dmitryalexeevich пишет: процесс автоматизирован.

Цитата
пусть и путем сложных, длинных и нелепых формул!

;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

greatsky

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

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

Доброго времени суток, а как сделать так чтобы было тоже самое только сразу было 3 столбца. то есть примере 19201 были еще данные в других столбцах, данные параллельные,если есть с столбце A то в этой же строке есть и в B, создавать ошибку пож каждый столбец не вариант, я хочу уменьшить размер файла а строк 56 000, из них основная масса бесполезных нулей, если бы взять написать макрос,  не обязательно должен быть автоматизированным, проще нажать кнопку обновить. у меня имеется целая куча однотипных диапазонов на разных листах, из них практически все пустые. так как формула рассчитывает там ноль. даже не ноль а пусто ***** «» *****, проще говоря мне из A1xA5600 на разных листах, причем на одном A25xA5600, на другом и CW1xCW15600? выбрать не пустые ячейки и выбросить их все на одном листе  

 

Михаил С.

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

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

#18

06.08.2016 00:41:15

Цитата
greatsky написал:
а как сделать так чтобы было тоже самое

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

 

greatsky

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

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

Это не коммерческий проект, делаю для себя расчет, есть таблицы Данные1….. ДанныеN (около сорока) на разных листах и разбросаны хаотично, но все данные одинаковые (по шапке) , имеются две задачи, первая собрать данные из таблиц (Данные1….. ДанныеN) и вывести на лист «результат», поочередно, пропускай пустые строки (пустые они условно, там и нули и пусто и «», так как они тоже рассчитываются экселем, выводя результат то 0, то пусто) вторая задача стоит тоже самое, но выполнить группировку по Крепежная фурнитура, чтобы считало итоговое количество, но можно было развернуть и посмотреть в каких ящиках, самая главная задача это первая, так как таблиц много, и результат простого копирования Лист1!B1=Листс2!B3 является большой вес файлом и я жду минут пять покуда он откроется, можно макросом, я создам кнопку обновить, да и самое важное, что данные могут меняться, поэтому просто удалять из тех огромных таблиц, данные не вариант  

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

  • Пример.xlsx (97.43 КБ)

Изменено: greatsky06.08.2016 10:54:21

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

greatsky, а в чём сложность? Пишите макрос. Алгоритм следующий:
1) цикл по листам книги
2) если имя листа начинается с «Данные», то обрабатываем его
3) поиск ячейки, которая содержит фразу «Крепежная фурнитура»
4) к найденной ячейке применяем команду «выделить область»
5) цикл по строкам, со второй строки, т.к. это шапка
6) если яч. в первом столбце диапазона не равна нулю и длина больше нуля, то эту строку диапазона копируем на лист «Результат», ниже последней заполненной ячейки
Всё.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

greatsky

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

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

Такой сложный макрос я не осилю никогда. все что я могу готовый макрос чуть подредактировать, по логике — это максимум

Изменено: greatsky06.08.2016 12:55:31

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

greatsky, уверяю Вас — осилите. На форуме примеров масса, по каждому пункту можете в любом поисковике задать вопрос «вба как …», где … — Ваш вопрос. Если лень самостоятельно разобраться, тогда Вам помогут в ветке «работа», либо обождите того у кого настроение волонтёра. (у меня отнюдь не волонтёрское настроение на данный момент)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

greatsky

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

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

Да, конечно, вы не чем мне не обязаны) подождем, я пробовал — мои познания в VB 0 я пробовал и чуть попроще и без помощи не обошелся  

Изменено: greatsky06.08.2016 13:02:23

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#24

06.08.2016 13:26:50

Скрытый текст

Для критиков:

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

greatsky

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

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

Спасибо, сейчас буду пробовать, отпишусь как смогу встроить, так как я и встраивать буду целый день)  

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

greatsky,

погодите. Ошибка в макросе. Исправляю…

ЗЫ Не, показалось. :)

Изменено: JayBhagavan06.08.2016 13:32:24

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

greatsky

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

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

#27

06.08.2016 13:33:43

Цитата
JayBhagavan написал: End With ‘ ActiveWorkbook

предпоследняя строчка туда скопировать другой лист? (как бы цикл)  

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

greatsky, With к циклам не имеет никакого отношения.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

greatsky

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

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

В примере работает круто, но в примере я все упростил, если на листе еще будут другие данные. он их не подтянет? и как еще ограничить ему, к примеру на листе идут

Крепежная   фурнитура Кол. Един. изм.
    ящика
Примечания

заполненные и пустые ячейки

Другая фурнитура Кол. Един. изм.
ящика
Примечания

заполненные и пустые ячейки

они параллельны. как сделать так чтобы не брал другую фурнитуру

И еще вопрос, я так понял все листы должны быть одного имени, ну или начинаться с одного имени можно так ДанныеВН1,  ДанныеВК5, он все после звездочки воспримет правильно? верно?  

Изменено: greatsky06.08.2016 13:53:23

 

JayBhagavan

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

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

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#30

06.08.2016 13:56:52

Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

Есть столбец «А» с данными, но данные идут не подряд, а вразнобой, т.е. 1 ячека с данными следующие 4 пустые, затем опять с данными, следующие 3 пустые и т.д. закономерности нет. Нужна формула, чтобы например эти данные копировались в соседний столбец «B» и причём без пустот — друг за другом, т.е. формулой можно заполнить весь диапазон столбца «B» и когда появляется в столбце «А» следующее значение, то оно сразу копируется в «B», но только друг за другом без пустых строк.
Заранее спасибо.


Данные текстовые или числовые? Возможен ли перенос в отсортированном порядке (если числа)?

Webmoney: E350157549801 Z116603216205 R268084006579


Это проделать хотелось бы с датой и со значениями формул. Т.е. если точнее, то колонка с датами (они в разнобой), напротив этих дат ячейки со значениями получаемых в результате формул (они параллельны датам)

«А»        «D»
дата    формула
3 пустые строки
дата    формула
4 пустые строки
дата    формула

и т.д.

Нужно что бы они попадали на другой лист, все вместе в этом же порядке, но без пустых строк:
«А»       «B»
дата    значение взятое из формулы на первом листе
дата    значение взятое из формулы на первом листе
дата    значение взятое из формулы на первом листе



или так — ставим фильтр на колонку А раскрываем фильтр, убираем галочку «Выделить все» идем вниз списка фильтра, ставим галочку у «пустые», нажимаем OK выделяем все строки и из контекстного меню вызываем «удалить строку». Все пустые строки при этом будут удалены.


На первом листе с данными:
«А»        «D»
дата    формула
3 пустые строки
дата    формула
4 пустые строки
дата    формула

трогать и удалять пустые строки нельзя, дело в том что они не совсем пустые — между колонками «А», «D» есть ещё колонки «B» и «C», а они не пустые, ячейки которые пусты, они пусты, только в колонках «А» и «D». Фильтр тут не поможет, данные нужны на другом листе идущие без пустых ячеек не для того чтобы их лицезреть, а там будет целая таблица расчётов, колонки «А» и «С» на другом листе будут являться началом таблицы.
http://narod.ru/disk/23582366000/home.zip.html
Прилагаю файл, участвуют в выше сказанном «Лист1» и «Лист3». В этом файле много не решенных задач и вопросов куча, но этот на данный момент самый приоритетный. Решил как-то дозировано разобраться. Сразу скажу — это не для учёбы и каких-то там курсовых :)



Пытаюсь понять принцип работы формулы. Вроде прикольно, но дополнительный столбец очень не кстати, получается его ещё нужно ручками забивать числами на единицу большими предыдущей даты.
На листе3 пытался формулу распространить на весь столбец — не выходит. Не могу понять — почему? 


С помощью небольшого макроса попробуйте

Не торопись, и все успеешь намного быстрее


Я использую такую формулу массива:

={ИНДЕКС($A$1:$A$1000;НАИМЕНЬШИЙ(ЕСЛИ($A$1:$A$1000=»»;66000;СТРОКА($A$1:$A$1000));СТРОКА());1)}

На картинке видно что и где…


Да и формула выдает #ССЫЛКА!, когда заканчиваются исходные данные и далее идут одни пустые ячейки, можно в самой формуле это предусмотреть (тогда она станет больше), но мне, например, проще удалить ошибки. В пользу производительности т.с.


Цитата: lema от 10.08.2010, 10:40
Пытаюсь понять принцип работы формулы. Вроде прикольно, но дополнительный столбец очень не кстати, получается его ещё нужно ручками забивать числами на единицу большими предыдущей даты.
На листе3 пытался формулу распространить на весь столбец — не выходит. Не могу понять — почему? 

Цитата: sergo44441 от 10.08.2010, 10:54
С помощью небольшого макроса попробуйте

вообщето на листе 1 незнаю зачем написал еще условие с если

там просто можно СЧЕТЗН()

а вот что значит распространить на весь столбец? ну берем и копируем. если значение не найдено возвращается ошибка, которую можно скрыть с помощью ЕСЛИОШИБКА (2007 офис) или ЕОШИБКА (2003)

а там смотрите сами


Цитироватьа вот что значит распространить на весь столбец

Да мелочь — в смысле выделяю ячейку с формулой, затем выделяю весь столбец и вставляю — получается одинаковая дата во всех столбцах, а если выделил формулу и вставил ручками в выбранное кол-во ячеек(которые ниже идут) то всё нормально. Кстати, оказывается достаточно в первом столбце только напротив даты цифры ставить, а это уже здорово. Я грешным делом подумал, что до следующей даты всё забито должно быть одинаковой цифрой.
Сейчас «поиграюсь» с тем что уважаемый Василий написал. Посмотрю что получится



Выложите картинку с примером, как формула должна считать, выделите цветом диапазон, который она должна просуммировать.


А это из файла который я выложил выше:
«D2» считает сумму С3:С6 и далее по такому же принципу. В колонке D хотелось размножить некую формулу на весь столбец. Количество значений в колонке С всё время разное, т.е. не стабильно. Вот вбиваю я значения ручками в колонке С, а в ячейке точно напротив даты в колонке D (те что помечены голубым) выводится их сумма. Диапазон получается почти всё время разный (до пустой ячейки). Обычно приходится становится в ячейку голубую, нажимать сумму и выделять диапазон — всё руками.


С помощью макроса можно такое сделать

Не торопись, и все успеешь намного быстрее


Цитата: sergo44441 от 10.08.2010, 17:50
С помощью макроса можно такое сделать

Да я вних ни чего не смыслю, думал за счёт формул. Макросы даже когда пишут на форумах, я не знаю куда их пихать и что сними делать :o


а с помощью формул массива — вот так.
Если же Вы решитесь заменить пробелы между рядами чисел любым наперед известным символом, то формулу можно будет еще больше упростить и отказаться от необходимости использовать формулу-массива — можно будет использовать функцию ПОИСКПОЗ(Символ,СМЕЩ(…),0)
P.S. Да, у функции есть ограничение — если ряд чисел может быть более 100, то в функцию необходимо внести корректировку в этом месте: ДВССЫЛ(«1:100«)


Т.е. в ручную придётся какой-то символ параллельно вбивать? Если так то получается + на —
Не шибко это прибавит функциональности. Или я недопонял?


Такой вариант:

=ЕСЛИ((B1=»»)*(B2<>»»);СУММ(B2:ИНДЕКС(B2:B100;ПОИСКПОЗ(«»;B2:B100&»»;)));»»)

Массив

Webmoney: E350157549801 Z116603216205 R268084006579


Цитата: kimtan от 11.08.2010, 01:23
Такой вариант:
=ЕСЛИ((B1=»»)*(B2<>»»);СУММ(B2:ИНДЕКС(B2:B100;ПОИСКПОЗ(«»;B2:B100&»»;)));»»)

В точку! Только в моём варианте если точно, вот так выглядит:
{=ЕСЛИ((C2=»»)*(C3<>»»);СУММ(C3:ИНДЕКС(C3:C100;ПОИСКПОЗ(«»;C3:C100&»»;)));»»)}
Всё чётко работает. :)
Спасибо большое!


history 24 апреля 2013 г.
    Группы статей

  • Вывод отобранных значений в отдельный диапазон
  • Отбор строк в таблице
  • Пустые ячейки


Если список значений содержит пропуски (пустые ячейки), то это может существенно затруднить его дальнейший анализ. С помощью формул уберем пустые ячейки из колонки с данными. Также напишем формулу, чтобы удалить нули из списка значений. В конце статьи научимся удалять вообще любое заданное значение из списка: символ, число, текстовую строку.

Пусть имеется список с

пустыми

ячейками (столбец

А

).

Задача

Убрать пустые ячейки из списка, сформировав формулами список в соседнем столбце. То есть под словом «убрать» будем понимать не удаление значения из исходного списка, а формирование еще одного списка, но уже без лишних символов. Чтобы действительно убрать значения из списка нужно использовать макросы — программу на VBA.

Решение

Для избавления от пустых ячеек запишем в ячейке

B2

формулу массива

и скопируем ее вниз (см. файл примера): =ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14));СТРОКА(A1)));»»)

Получим в соседнем столбце

B

список со значениями из исходого, но уже без пропусков. Формула работает одинакового и для текстовых значений и для чисел. Алгоритм работы формулы следующий:

  • ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14)) – если ячейка не пуста, то эта часть формулы возвращает номер строки. То есть формируется массив номеров строк, НЕ содержащих пустоты {2:»»:4:5:6:»»:»»:9:10:»»:»»:13:14} На месте пустых ячеек в массиве будет символ «» (пустой текст), но можно его заменить в формуле на любую текстовую строку, например «ккк». Проверить результат можно выделив эту часть формулы и нажав

    клавишу

    F9

    ;

  • Функция НАИМЕНЬШИЙ() сортирует массив строк по возрастанию. В сортированном списке сначала будут идти номера строк затем значения «», т.к. в EXCEL считается, что любое текстовое значение больше любого числа (значение пустой текст — текстовое значение);
  • Далее для функции ДВССЫЛ() формируются адреса ячеек с непустыми значениями. Например, ДВССЫЛ(«A»&2) возвращает значение из ячейки

    А2

    . Для пустых ячеек будет формироваться ошибочные адреса ячеек, состоящие только из символа А. Это вызовет ошибку после применения функции ДВССЫЛ();
  • Функция ЕСЛИОШИБКА() вместо ошибки будет возвращать «». Этот символ не отображается в ячейке и ячейка выглядит пустой.

На самом деле в соседнем столбце

B

список будет отличаться не только тем, что в нем значения будут идти подряд без пропусков. Если в исходном списке пустые ячейки действительно не содержали ничего, то в новом списке в пустых ячейках будут значения Пустой текст «». Хотя внешний вид пустых ячеек из обоих списков будет неотличим, но формулы увидят разницу. То есть, если Вы планируете делать дальнейшие манипуляции с новым списком, то имейте ввиду, что теперь пустые ячейки в конце списка теперь не совсем пусты — они содержат текстовое значение «». Подробнее про это специфическое значение читайте

здесь

.

Изменим немного формулу: =ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ( ЕПУСТО($A$2:$A$14);»»;$A$2:$A$14);СТРОКА(A1));»»)

Получим тот же список, но еще и

сортированный

по возрастанию (работает только для чисел).

Список также можно сформировать в столбце С другой

формулой массива

:

=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО(СписокСпропусками);»»;СТРОКА(СписокСпропусками));СТРОКА()-СТРОКА($C$1)));»»)


СписокСпропусками

в формуле — это

динамический диапазон

, который образован формулой:

=СМЕЩ($A$2;;;ДлинаСпискаСпропусками)


Длину списка с пропусками

можно вычислить с помощью формулы:

=ПОИСКПОЗ(ПОВТОР(«я»;10);$A$2:$A$14;1)


СОВЕТ:

Для удаления и выделения пустых строк и ячеек традиционными средствами EXCEL, пользуйтесь идеями из статей

Удаляем пустые строки в таблице

и

Выделение группы ячеек

. О том, что EXCEL понимает под пустыми ячейками, читайте в статье

Подсчет пустых ячеек

.

Удаляем заданные символы из списка

Часто в списке присутствуют ненужные для дальнейшего анализа значения, например 0 (нуль).

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

Пусть исходный список находится в диапазоне A12:A24, а в ячейке B6 содержится значение которое нужно удалить из ячеек списка.

=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ($A$12:$A$24=$B$6;»»;СТРОКА($A$12:$A$24));СТРОКА()-СТРОКА($A$11)));»»)

Единственным отличием является выражение $A$12:$A$24=$B$6, которое заменило формулу с ЕПУСТО(…)

Теперь если значение в исходном списке не равно искомому значению, то вместо него будет выведено значение «» (в конце списка).

1 / 1 / 0

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

Сообщений: 5

1

Как формуле пропустить пустые ячейки?

09.08.2010, 20:01. Показов 22634. Ответов 2


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

Есть столбец «А» с данными, но данные идут не подряд, а вразнобой, т.е. 1 ячека с данными следующие 4 пустые, затем опять с данными, следующие 3 пустые и т.д. закономерности нет. Нужна формула, чтобы например эти данные копировались в соседний столбец «B» и причём без пустот — друг за другом, т.е. формулой можно заполнить весь диапазон столбца «B» и когда появляется в столбце «А» следующее значение, то оно сразу копируется в «B», но только друг за другом без пустых строк.
Заранее спасибо.



0



КотЪ

219 / 219 / 60

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

Сообщений: 688

11.08.2010, 18:51

2

Непонятно, зачем. Если потом с этими данными будет работать какая-то формула, то она просто пропустит пустые ячейки.



0



1 / 1 / 0

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

Сообщений: 5

12.08.2010, 13:25

 [ТС]

3

Цитата
Сообщение от Zabiyak
Посмотреть сообщение

Непонятно, зачем. Если потом с этими данными будет работать какая-то формула, то она просто пропустит пустые ячейки.

На самом деле мне нужен был принцип, всё выглядит несколько сложнее. Я уже нашел решение более подробно это можно узнать на другом форуме:

 Комментарий администратора 
ссылки на посторонние форумы запрещены. если несложно, можно выложить саму суть решения?

Добавлено через 1 час 54 минуты

ссылки на посторонние форумы запрещены. если несложно, можно выложить саму суть решения?

Ух, я думал все форумы програмистов — братья )
Там тема растянулась на пару страничек. Суть такая, что данные в столбце, на листе1, между которыми пустые ячейки, надо чтобы переносились на лист3 подряд без этих самых пустых ячеек.
Решилось всё при помощи массива такого типа:
={ИНДЕКС($A$1:$A$1000;НАИМЕНЬШИЙ(ЕСЛИ($A$1:$A$1000 =»»;66000;СТРОКА($A$1:$A$1000));СТРОКА());1)}



1



Like this post? Please share to your friends:
  • Как пропустить ошибку в формуле excel
  • Как пропустить ошибку в excel много ячеек
  • Как пропустить нумерацию первых двух страниц в word
  • Как пропустить номер страницы в word
  • Как пропустить все исправления в word