Как скрыть нули в Экселе

9 ответ(ов) в теме
lana
не в сети 3 дня
На сайте с 03.06.2012
Участник
Тем 2114
Сообщения 2878
0
17:59

При использовании , например функции ВПР, в таблицах имеется много нулевых ячеек. Т.к. ВПР пустую ячеку простовляет 0. Это иногда мешает воспринятию информации.
Так как же нам их скрыть?

Можно, конечно, написать функцию ЕСЛИ, чтобы она проставлял пустые занчения "", но если на эти ячейки ссылаются другие функции, то "" вызовет в них ошибки.

Есть простой способ.
Вот наши исходные данные:

Форум

В верхнем меню нажимаем Сервис, выбираем Параметры, и на первой вкладке Вид мы видим Параметры окна (третий раздел):

Форум

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

Форум

Редакции сообщения
0
moto
не в сети 19 минут
На сайте с 12.03.2017
Администратор
Тем 3410
Сообщения 13603
0
18:06

класс, полезная вещь

Редакции сообщения
0
Форум
Гость
0
07:27

Искала ответ на этот вопрос как раз!
А может еще кто-то подскажет, как нули заменить на знак минус/тире?

Редакции сообщения
0
lana
не в сети 3 дня
На сайте с 03.06.2012
Участник
Тем 2114
Сообщения 2878
0
09:30

Смотрите:

выделяете нужный массив цифр, щелкаете правой кнопкой и выбираете "Формат ячеек".
В самом низу списка числовых форматов выбираете (все форматы).

Среди них в правой части окошка есть 2 подходящих вам:

Форум

Форум

Выбираете любой из них и получаете:

Форум

Редакции сообщения
0
Форум
Гость
0
01:04

а как бы скрыть всю строку, в которой в опеределенном столбце находится "0"?

Редакции сообщения
0
Форум
Гость
0
01:07

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

Редакции сообщения
0
lana
не в сети 3 дня
На сайте с 03.06.2012
Участник
Тем 2114
Сообщения 2878
0
10:59

это только макросом каким-то можно, причем даже не очень простым
я, к сожалению, не напишу. Может, другие умельцы найдутся? :help

Редакции сообщения
0
moto
не в сети 19 минут
На сайте с 12.03.2017
Администратор
Тем 3410
Сообщения 13603
0
22:33

ира, попробуйте это:

Вариант кода, позволяющего выполнять поиск (с последующим удалением или скрытием строк) сразу по нескольким условиям:

Sub УдалениеСтрокПоНесколькимУсловиям()<br> Dim ra As Range, delra As Range<br> Application.ScreenUpdating = False ' отключаем обновление экрана<br><br> ' ищем и удаляем строки, содержащие заданный текст<br> ' (можно указать сколько угодно значений, и использовать подстановочные знаки)<br> УдалятьСтрокиСТекстом = Array("Наименование *", "Количество", _<br> "текст?", "цен*сти", "*78*")<br><br> ' перебираем все строки в используемом диапазоне листа<br> For Each ra In ActiveSheet.UsedRange.Rows<br> ' перебираем все фразы в массиве<br> For Each word In УдалятьСтрокиСТекстом<br> ' если в очередной строке листа найден искомый текст<br> If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then<br> ' добавляем строку в диапазон для удаления<br> If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)<br> End If<br> Next word<br> Next<br><br> ' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк)<br> If Not delra Is Nothing Then delra.EntireRow.Hidden = True ' скрываем их<br> If Not delra Is Nothing Then delra.EntireRow.Delete ' удаляем их<br>End Sub

Редакции сообщения
0
moto
не в сети 19 минут
На сайте с 12.03.2017
Администратор
Тем 3410
Сообщения 13603
0
22:43

макрос удалит на листе все строки, в которых содержится искомый текст:

Sub УдалениеСтрокПоУсловию()<br> Dim ra As Range, delra As Range, ТекстДляПоиска As String<br> Application.ScreenUpdating = False ' отключаем обновление экрана<br><br> ТекстДляПоиска = "Наименование ценности" ' удаляем строки с таким текстом<br><br> ' перебираем все строки в используемом диапазоне листа<br> For Each ra In ActiveSheet.UsedRange.Rows<br> ' если в строке найден искомый текст<br> If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then<br> ' добавляем строку в диапазон для удаления<br> If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)<br> End If<br> Next<br> ' если подходящие строки найдены - удаляем их<br> If Not delra Is Nothing Then delra.EntireRow.Delete<br>End Sub

Чтобы вместо удаления просто скрыть такие строки, замените строку

If Not delra Is Nothing Then delra.EntireRow.Delete

на

If Not delra Is Nothing Then delra.EntireRow.Hidden=TRUE

Редакции сообщения
0

Ваше имя *

Ваш E-mail *

не публикуется

Текст сообщения *