Только ненулевые значения excel

=IF(ROWS(AA$38:AA38)>COUNTIF(U$38:U$1000,"<>0"),"",INDEX(U$38:U$1000,SMALL(IF(U$38:U$1000>0,ROW(U$38:U$1000)-ROW(U$38)+1),ROWS(AA$38:AA38))))

I’m trying to use this formula to find and return all the non-zero values in a column of data (starting from row 38), but I don’t know how many rows there will be before I import the data. I’d like to be able to just automate the sorting, but if I use (U:U) or pick a much larger number than the actual number of filled rows (eg. U$38:U$20000), I get an error.

Is there a way of either:

a) getting excel to automatically change the (U$38:U$####) to the number of rows filled with data? (ie, if there are 400 rows, it would change to (U$38:U$400).)

OR

b) finding an alternative formula that can pick out all the non-zero values, without knowing the number of rows?

EDIT:

As you can see from the image below, I’ve set up my spreadsheet so that it not only returns the non-zero values (from column U), but also the time (from column AG) that it corresponds to. The problem is when I try to increase the range.

I’ll be looking at lots of different data files with varying amounts of data, so I would like to be able to automate it — and not have to fiddle about with the all the U$38:U$1000‘s every time I need to change the range. Does that make sense?

Is it possible with VBA instead?

Example Data

Вытащить ненулевые значения из таблицы в столбец

tuls

Дата: Четверг, 03.08.2017, 16:05 |
Сообщение № 1

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

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

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


Excel 2003

Товарищи, добрый день!
Барахтаюсь уже много дней, пытаясь составить регистр для расчета НДФЛ. Многие вопросы уже смог решить, но еще больше не получается.
Вот один из них. Вроде простой, но никак не срастается.
Есть простая таблица. В столбце месяцы, в строках коды дохода. Естественно не в каждом месяце. Так вот значения больше нуля нужно вытянуть в один столбец, в котором каждый месяц повторяется столько раз, сколько в нем вычетов.
Дополнительные наглые требования: не использовать макросы (слишком сложно для меня) и не использовать динамические диапазоны (так как лист будет копироваться по числу сотрудников и не хочу проблем на сводном листе).

К сообщению приложен файл:

4562113.xls
(21.0 Kb)


Использую только Excel 2003. Так сложились звезды.

 

Ответить

_Boroda_

Дата: Четверг, 03.08.2017, 16:21 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Так нужно? Для 2003

Код

=ЕСЛИ(СЧЁТ(E$24:E24)+1>СЧЁТ(1/C$8:G$19);»»;ИНДЕКС(A$8:A$19;НАИМЕНЬШИЙ(ЕСЛИ(C$8:G$19;A$8:A$19+СТОЛБЕЦ(C25:G25)%);СТРОКА(E1))))

Код

=ЕСЛИ(E25=»»;»»;ИНДЕКС(A$6:G$6;ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(C$8:G$19;A$8:A$19+СТОЛБЕЦ(C25:G25)%);СТРОКА(E1));1)/1%+0,1))

Код

=ЕСЛИ(E25=»»;»»;ИНДЕКС(C$8:G$19;E25;ПОИСКПОЗ(F25;C$6:G$6;)))

Первые две — формулы массива, вводятся одновременным нажатием Контрл Шифт Енетр


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

tuls

Дата: Четверг, 03.08.2017, 16:32 |
Сообщение № 3

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

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

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


Excel 2003

Вы так быстро ответили! Особенно по сравнению с налоговой, которая минимум через месяц отвечает! :-)
Спасибо, внешне все работает и коротко.


Использую только Excel 2003. Так сложились звезды.

 

Ответить

tuls

Дата: Понедельник, 07.08.2017, 11:59 |
Сообщение № 4

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

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

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


Excel 2003

Я проторопился отчитаться, что все работает.
Во-первых формула работает почему-то очень медленно. Намного дольше, чем от нее можно ожидать, даже несмотря на «массивность». Но это даже не главное.
Во-вторых работает только в сделанном вами примере.
У меня же при любом смещении результирующего диапазона начинает выдавать ошибку #ССЫЛКА. Даже, когда я полностью копирую оба диапазона на другой лист или перетаскиваю чуть в сторону.
Проблема еще в том, что я не могу понять ее логику. Пошаговая проверка «Вычислить формулу» крушит Excel. Как я понял на «+СТОЛБЕЦ(C25:G25)%». Все попытки разобраться самому через F9, Ctrl+Z ясности не добавили.
Если не трудно, просветите доступно. Я не программист, но кроме меня никто не сделает.


Использую только Excel 2003. Так сложились звезды.

 

Ответить

vikttur

Дата: Понедельник, 07.08.2017, 12:05 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

дольше, чем от нее можно ожидать, даже несмотря на «массивность»

Не «не смотря», а «благодаря» :)
Формулы массива зачастую выполняют много «лишних» вычислений, отсюда и тормоза.
преобразование № столбца в процентный вид (деление на 100). А деление — самое медленное из четырех математических операций (+, *, -, /)
Возможно, при применении оператора % происходит не деление, а какие-то другие преобразования…

Сообщение отредактировал viktturПонедельник, 07.08.2017, 12:09

 

Ответить

tuls

Дата: Понедельник, 07.08.2017, 12:43 |
Сообщение № 6

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

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

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


Excel 2003

Это я понял, хотя не понял, зачем. Вероятно, что из-за изменения номера столбца и не работает формула при перемещении. Но я не понимаю какой результат это деление дает.
С куском СЧЁТ(E$24:E24)+1>СЧЁТ(1/C$8:G$19) более менее понятно, а с процентом нет.


Использую только Excel 2003. Так сложились звезды.

 

Ответить

_Boroda_

Дата: Понедельник, 07.08.2017, 13:23 |
Сообщение № 7

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

На самом деле в первой формуле СТОЛБЕЦ не нужно, мы ж там строки выковыриваем

Код

=ЕСЛИ(СЧЁТ(E$24:E24)+1>СЧЁТ(1/C$8:G$19);»»;ИНДЕКС(A$8:A$19;НАИМЕНЬШИЙ(ЕСЛИ(C$8:G$19;A$8:A$19);СТРОКА(E1))))

А вот во второй нужен
кусок

Код

ЕСЛИ(C$8:G$19;A$8:A$19+СТОЛБЕЦ(C25:G25)%)

дает массив {1,03;ЛОЖЬ;ЛОЖЬ;1,06;ЛОЖЬ:2,03;ЛОЖЬ;…, откуда мы вынимаем n-й наименьший (например, 3-й — 2,03), берем от него остаток от деления на 1 — 0,03, делим на 1%, получаем 3 — это и есть искомый столбец, который мы потом вынимаем ИНДЕКСом из массива A$6:G$6

А если в своем файле что-то не получается, то просто приложите его кусок. Словами сложно


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

vikttur

Дата: Понедельник, 07.08.2017, 13:23 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

Процент — для определения номера столбца, из которого нужно брать значение.

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

Используется доп. столбец для определения граничного числа:

Код

=СЧЁТЕСЛИ(C8:G8;»>0″)+H8

Месяц:

Код

=ЕСЛИ(СТРОКА(A1)>$H$5;;ИНДЕКС($A$8:$A$19;ПОИСКПОЗ(СТРОКА(A1);$H$8:$H$19)))

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

Код

=ЕСЛИ(B25;НАИМЕНЬШИЙ(ЕСЛИ(ИНДЕКС($C$8:$G$19;B25;)>0;$C$6:$G$6);СЧЁТЕСЛИ($B$25:B25;B25));)

Сумма:

Код

=ЕСЛИ(B25;ИНДЕКС($C$8:$G$19;B25;ПОИСКПОЗ(C25;$C$6:$G$6;));)

К сообщению приложен файл:

9957956.xls
(34.0 Kb)

 

Ответить

tuls

Дата: Понедельник, 07.08.2017, 14:09 |
Сообщение № 9

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

Ранг: Новичок

Сообщений: 13


Репутация:

0

±

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


Excel 2003

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

К сообщению приложен файл:

1271542.xls
(99.0 Kb)


Использую только Excel 2003. Так сложились звезды.

 

Ответить

_Boroda_

Дата: Понедельник, 07.08.2017, 14:23 |
Сообщение № 10

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Или так

Код

=ЕСЛИ(Q24=»»;»»;ИНДЕКС(A$5:S$5;ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(O$7:S$18;M$7:M$18+СТОЛБЕЦ(O24:S24)%);СТРОКА(AD1));1)/1%+0,1))

или так

Код

=ЕСЛИ(Q24=»»;»»;ИНДЕКС(O$5:S$5;ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(O$7:S$18;M$7:M$18+СТОЛБЕЦ(O24:S24)%-СТОЛБЕЦ($N24)%);СТРОКА(AD1));1)/1%+0,1))

Если диапазоны реально большие, а не как в файле — 12*5, то конечно будет тормозить. Виктор об этом выше уже писал


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Отображение и скрытие нулевых значений

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

Браузер не поддерживает видео.

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

Скрытие и отображение всех нулевых значений на листе

  1. Выберите Файл > Параметры > Дополнительно.

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

    • Чтобы отображать в ячейках нулевые значения (0), установите флажок Показывать нули в ячейках, которые содержат нулевые значения.

    • Чтобы отображать нулевые значения в виде пустых ячеек, снимите флажок Показывать нули в ячейках, которые содержат нулевые значения.

Скрытие нулевых значений в выделенных ячейках

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

  1. Выделите ячейки, содержащие нулевые значения (0), которые требуется скрыть.

  2. Вы можете нажать клавиши CTRL+1 или на вкладке Главная щелкнуть Формат > Формат ячеек.

    Кнопка "Формат ячеек" на вкладке "Главная"

  3. Щелкните Число > Все форматы.

  4. В поле Тип введите выражение 0;-0;;@ и нажмите кнопку ОК.

Отображение скрытых значений.

  1. Выделите ячейки со скрытыми нулевыми значениями.

  2. Вы можете нажать клавиши CTRL+1 или на вкладке Главная щелкнуть Формат > Формат ячеек.

  3. Для применения числового формата, определенного по умолчанию, выберите Число > Общий и нажмите кнопку ОК.

Скрытие нулевых значений, возвращенных формулой

  1. Выделите ячейку, содержащую нулевое (0) значение.

  2. На вкладке Главная щелкните стрелку рядом с кнопкой Условное форматирование и выберите «Правила выделения ячеек» > «Равно».

  3. В левом поле введите 0.

  4. В правом поле выберите Пользовательский формат.

  5. В поле Формат ячейки откройте вкладку Шрифт.

  6. В списке Цвет выберите белый цвет и нажмите кнопку ОК.

Отображение нулей в виде пробелов или тире

Для решения этой задачи воспользуйтесь функцией ЕСЛИ.

Данные в ячейках A2 и A3 на листе Excel

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

  • =ЕСЛИ(A2-A3=0;»»;A2-A3)

Вот как читать формулу. Если результат вычисления (A2-A3) равен «0», ничего не отображается, в том числе и «0» (это указывается двойными кавычками «»). В противном случае отображается результат вычисления A2-A3. Если вам нужно не оставлять ячейки пустыми, но отображать не «0», а что-то другое, между двойными кавычками вставьте дефис «-» или другой символ.

Скрытие нулевых значений в отчете сводной таблицы

  1. Выберите отчет сводной таблицы.

  2. На вкладке Анализ в группе Сводная таблица щелкните стрелку рядом с командой Параметры и выберите пункт Параметры.

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

    • Изменение отображения ошибки    В поле Формат установите флажок Для ошибок отображать. Введите в поле значение, которое нужно выводить вместо ошибок. Для отображения ошибок в виде пустых ячеек удалите из поля весь текст.

    • Изменение отображения пустой ячейки    Установите флажок Для пустых ячеек отображать. Введите в поле значение, которое нужно выводить в пустых ячейках. Чтобы они оставались пустыми, удалите из поля весь текст. Чтобы отображались нулевые значения, снимите этот флажок.

К началу страницы

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

Отображение и скрытие всех нулевых значений на листе

  1. Выберите Файл > Параметры > Дополнительно.

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

    • Чтобы отображать в ячейках нулевые значения (0), установите флажок Показывать нули в ячейках, которые содержат нулевые значения.

    • Чтобы отображать нулевые значения в виде пустых ячеек, снимите флажок Показывать нули в ячейках, которые содержат нулевые значения.

Скрытие нулевых значений в выделенных ячейках с помощью числового формата

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

  1. Выделите ячейки, содержащие нулевые значения (0), которые требуется скрыть.

  2. Вы можете нажать клавиши CTRL+1 или на вкладке Главная щелкнуть Формат > Формат ячеек.

  3. В списке Категория выберите элемент Пользовательский.

  4. В поле Тип введите 0;-0;;@

Примечания: 

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

  • Чтобы снова отобразить скрытые значения, выделите ячейки, а затем нажмите клавиши CTRL+1 или на вкладке Главная в группе Ячейки наведите указатель мыши на элемент Формат и выберите Формат ячеек. Чтобы применить числовой формат по умолчанию, в списке Категория выберите Общий. Чтобы снова отобразить дату и время, выберите подходящий формат даты и времени на вкладке Число.

Скрытие нулевых значений, возвращенных формулой, с помощью условного форматирования

  1. Выделите ячейку, содержащую нулевое (0) значение.

  2. На вкладке Главная в группе Стили щелкните стрелку рядом с элементом Условное форматирование, наведите указатель на элемент Правила выделения ячеек и выберите вариант Равно.

  3. В левом поле введите 0.

  4. В правом поле выберите Пользовательский формат.

  5. В диалоговом окне Формат ячеек откройте вкладку Шрифт.

  6. В поле Цвет выберите белый цвет.

Использование формулы для отображения нулей в виде пробелов или тире

Для выполнения этой задачи используйте функцию ЕСЛИ.

Пример

Чтобы этот пример проще было понять, скопируйте его на пустой лист.

1

2

3

4

5


6

7

A

B

Данные

10

10

Формула

Описание (результат)

=A2-A3

Второе число вычитается из первого (0).

=ЕСЛИ(A2-A3=0;»»;A2-A3)

Возвращает пустую ячейку, если значение равно нулю

=ЕСЛИ(A2-A3=0;»-«;A2-A3)

Возвращает дефис (-), если значение равно нулю

Дополнительные сведения об использовании этой функции см. в статье Функция ЕСЛИ.

Скрытие нулевых значений в отчете сводной таблицы

  1. Щелкните отчет сводной таблицы.

  2. На вкладке Параметры в группе Параметры сводной таблицы щелкните стрелку рядом с командой Параметры и выберите пункт Параметры.

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

    Изменение способа отображения ошибок.     В поле Формат установите флажок Для ошибок отображать. Введите в поле значение, которое нужно выводить вместо ошибок. Для отображения ошибок в виде пустых ячеек удалите из поля весь текст.

    Изменение способа отображения пустых ячеек.     Установите флажок Для пустых ячеек отображать. Введите в поле значение, которое нужно выводить в пустых ячейках. Чтобы они оставались пустыми, удалите из поля весь текст. Чтобы отображались нулевые значения, снимите этот флажок.

К началу страницы

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

Отображение и скрытие всех нулевых значений на листе

  1. Нажмите кнопку Microsoft Office Изображение кнопки Office , Excel параметры, а затем выберите категорию Дополнительные параметры.

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

    • Чтобы отображать в ячейках нулевые значения (0), установите флажок Показывать нули в ячейках, которые содержат нулевые значения.

    • Чтобы отображать нулевые значения в виде пустых ячеек, снимите флажок Показывать нули в ячейках, которые содержат нулевые значения.

Скрытие нулевых значений в выделенных ячейках с помощью числового формата

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

  1. Выделите ячейки, содержащие нулевые значения (0), которые требуется скрыть.

  2. Вы можете нажать клавиши CTRL+1 или на вкладке Главная в группе Ячейки щелкнуть Формат > Формат ячеек.

  3. В списке Категория выберите элемент Пользовательский.

  4. В поле Тип введите 0;-0;;@

Примечания: 

  • Скрытые значения отображаются только в Изображение кнопки или в ячейке, если вы редактируете ячейку, и не печатаются.

  • Чтобы снова отобразить скрытые значения, выделите ячейки, а затем на вкладке Главная в группе Ячейки наведите указатель мыши на элемент Формат и выберите Формат ячеек. Чтобы применить числовой формат по умолчанию, в списке Категория выберите Общий. Чтобы снова отобразить дату и время, выберите подходящий формат даты и времени на вкладке Число.

Скрытие нулевых значений, возвращенных формулой, с помощью условного форматирования

  1. Выделите ячейку, содержащую нулевое (0) значение.

  2. На вкладке Главная в группе Стили щелкните стрелку рядом с кнопкой Условное форматирование и выберите «Правила выделения ячеек» > «Равно».

  3. В левом поле введите 0.

  4. В правом поле выберите Пользовательский формат.

  5. В диалоговом окне Формат ячеек откройте вкладку Шрифт.

  6. В поле Цвет выберите белый цвет.

Использование формулы для отображения нулей в виде пробелов или тире

Для выполнения этой задачи используйте функцию ЕСЛИ.

Пример

Чтобы этот пример проще было понять, скопируйте его на пустой лист.

Копирование примера

  1. Выделите пример, приведенный в этой статье.

Важно: Не выделяйте заголовки строк или столбцов.

выбор примера из справки в Excel 2013 для Windows

Выделение примера в справке

  1. Нажмите клавиши CTRL+C.

  2. В Excel создайте пустую книгу или лист.

  3. Выделите на листе ячейку A1 и нажмите клавиши CTRL+V.

Важно: Чтобы пример правильно работал, его нужно вставить в ячейку A1.

  1. Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих эти результаты, нажмите клавиши CTRL+` (знак ударения) или на вкладке Формулы в группе «Зависимости формул» нажмите кнопку Показать формулы.

Скопировав пример на пустой лист, вы можете настроить его так, как вам нужно.

1

2

3

4

5


6

7

A

B

Данные

10

10

Формула

Описание (результат)

=A2-A3

Второе число вычитается из первого (0).

=ЕСЛИ(A2-A3=0;»»;A2-A3)

Возвращает пустую ячейку, если значение равно нулю

=ЕСЛИ(A2-A3=0;»-«;A2-A3)

Возвращает дефис (-), если значение равно нулю

Дополнительные сведения об использовании этой функции см. в статье Функция ЕСЛИ.

Скрытие нулевых значений в отчете сводной таблицы

  1. Щелкните отчет сводной таблицы.

  2. На вкладке Параметры в группе Параметры сводной таблицы щелкните стрелку рядом с командой Параметры и выберите пункт Параметры.

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

    Изменение способа отображения ошибок.     В поле Формат установите флажок Для ошибок отображать. Введите в поле значение, которое нужно выводить вместо ошибок. Для отображения ошибок в виде пустых ячеек удалите из поля весь текст.

    Изменение способа отображения пустых ячеек.     Установите флажок Для пустых ячеек отображать. Введите в поле значение, которое нужно выводить в пустых ячейках. Чтобы они оставались пустыми, удалите из поля весь текст. Чтобы отображались нулевые значения, снимите этот флажок.

См. также

Полные сведения о формулах в Excel

Рекомендации, позволяющие избежать появления неработающих формул

Поиск ошибок в формулах

Сочетания клавиш и горячие клавиши в Excel

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?

Содержание

  1. Excel функция ненулевые значения
  2. МИН и ЕСЛИ Минимальное ненулевое значение
  3. Excel функция ненулевые значения
  4. Excel функция ненулевые значения
  5. Как найти первое ненулевое значение и вернуть соответствующий заголовок столбца в Excel?
  6. Найдите первое ненулевое значение и верните соответствующий заголовок столбца с формулой
  7. Excel функция ненулевые значения
  8. Excel функция ненулевые значения

Excel функция ненулевые значения

МИН и ЕСЛИ Минимальное ненулевое значение

В EXC EL ранее 2016 версии нет функции, объединяющей в себе МИН и ЕСЛИ .

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

Найдем в примере наименьшие ненулевые продажи в наших минимаркетах.

Нулевые значения будем отбрасывать, т.к. это означает, что магазины закрывались на ремонт.

Будем работать с окнами аргументов ( fx ) , чтобы разобраться в порядке и в скобках.

Для этого:

    В ячейку с будущим результатом вводим функцию =МИН(

Далее после открытия аргументов с помощью кнопки fx, вводим в первый аргумент вручную с скобками — ЕСЛИ()

Выделяем слово ЕСЛИ два раза левой кнопкой и также нажимаем на fx 2 раза с задержкой, чтобы открыть окно аргументов.

В аргумент Лог_выражение выделяем весь диапазон наших продаж и прописываем условие >0

В аргумент Значение_если_истина заново выделяем тот же наш диапазон и нажимаем ОК .

Выражение выдаст ошибку #ЗНАЧ! т.к. такая запись подразумевает использование выражений в виде массива .

Поэтому ставим курсор на наше выражение и нажимаем сочетание клавиш Ctrl+Shift+Enter .

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

Источник

Excel функция ненулевые значения

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

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

1. Выберите пустую ячейку для отображения результата подсчета (здесь я выбираю ячейку H1). Скопируйте и вставьте формулу = СЧЁТЕСЛИ (A1: E8; «<> 0») в Панель формул, а затем нажмите Enter ключ. Смотрите скриншот:

2. Затем подсчитывается общее количество ненулевых значений выбранного диапазона и отображается в ячейке H1.

Заметки:

1. С помощью приведенной выше формулы вы можете подсчитать ненулевые ячейки, включая пустые. Если вы хотите игнорировать как нулевые, так и пустые ячейки, примените эту формулу: =COUNTA(A1:D10)-COUNTIF(A1:D10,»=0″) , Затем нажмите Enter ключ для получения результата, см. снимок экрана:

2. С помощью приведенных выше формул вы можете подсчитать общее количество ячеек с ненулевыми значениями в строке, столбце или диапазоне в Excel, изменив ссылки на ячейки в формуле.

Помимо формул, Выбрать определенные ячейки полезности Kutools for Excel может помочь вам быстро подсчитать количество ячеек с ненулевыми значениями в Excel.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Выберите диапазон, в котором вы хотите подсчитать количество ненулевых ячеек. Затем нажмите Кутулс > Выбрать > Выбрать определенные ячейки. Смотрите скриншот:

2. Во всплывающем Выбрать определенные ячейки диалоговое окно, выберите Ячейка в Тип выбора раздел укажите Не равно в Конкретный тип раскрывающийся список и введите номер 0 в пустое поле. Наконец нажмите кнопку OK кнопка. Смотрите скриншот:

3. Затем появится диалоговое окно, в котором указано, сколько ячеек с ненулевыми значениями существует в выбранном диапазоне. И он уже напрямую исключил пустые ячейки. Щелкните значок OK кнопки, эти ячейки выбираются немедленно.

Если вы хотите получить бесплатную пробную версию ( 30 -день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.

Источник

Excel функция ненулевые значения

Как найти первое ненулевое значение и вернуть соответствующий заголовок столбца в Excel?

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

Найдите первое ненулевое значение и верните соответствующий заголовок столбца с формулой

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

Введите эту формулу: =INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)) в пустую ячейку, где вы хотите найти результат, K2, например, а затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и все соответствующие заголовки столбцов первого ненулевого значения будут возвращены, как показано на следующем снимке экрана:

Внимание: В приведенной выше формуле B1: I1 заголовки столбцов, которые вы хотите вернуть, B2: I2 это данные строки, в которых вы хотите найти первое ненулевое значение.

Источник

Excel функция ненулевые значения

Здравствуйте.
Помогите решить вопрос.

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

Здравствуйте.
Помогите решить вопрос.

Есть простой столбец, который в редких местах заполнен текстом.
Напротив — стоят два других столбца, с датами.
Как должна выглядеть формула, которая находила бы последнее в столбце — ненулевое и непустое значение и сопоставляла бы его по строке — со столбцами с датами — и помещала найденную дату в ячейку над столбцом?
(значение на которое реагирует формула — либо текст, либо число отличное от нуля)
Причем желательно сделать это формулой, без использования макросов и диспетчера имен. cerber412

Сообщение Здравствуйте.
Помогите решить вопрос.

Есть простой столбец, который в редких местах заполнен текстом.
Напротив — стоят два других столбца, с датами.
Как должна выглядеть формула, которая находила бы последнее в столбце — ненулевое и непустое значение и сопоставляла бы его по строке — со столбцами с датами — и помещала найденную дату в ячейку над столбцом?
(значение на которое реагирует формула — либо текст, либо число отличное от нуля)
Причем желательно сделать это формулой, без использования макросов и диспетчера имен. Автор — cerber412
Дата добавления — 24.01.2017 в 06:50

Источник

Excel функция ненулевые значения

Как посчитать сколько не нулевых значений в строке или столбике ?

Привемр: 0 0 11 0 0 0 0 0 7,5 0 6 0 0 3 0,5 0 0 0 10 0 0 0 0 0 0 0 0 0

Как посчитать сколько не нулевых значений в строке или столбике ?

Привемр: 0 0 11 0 0 0 0 0 7,5 0 6 0 0 3 0,5 0 0 0 10 0 0 0 0 0 0 0 0 0

Сообщение Как посчитать сколько не нулевых значений в строке или столбике ?

Привемр: 0 0 11 0 0 0 0 0 7,5 0 6 0 0 3 0,5 0 0 0 10 0 0 0 0 0 0 0 0 0

Serge_007 Дата: Вторник, 08.10.2013, 00:08 | Сообщение № 2

[admin]3Ы Предупреждение: Оформляите коды тегами[/admin]

[admin]3Ы Предупреждение: Оформляите коды тегами[/admin] Serge_007

[admin]3Ы Предупреждение: Оформляите коды тегами[/admin] Автор — Serge_007
Дата добавления — 08.10.2013 в 00:08

koyaanisqatsi Дата: Вторник, 08.10.2013, 00:19 | Сообщение № 3
vikttur Дата: Вторник, 08.10.2013, 00:22 | Сообщение № 4
Serge_007 Дата: Вторник, 08.10.2013, 00:24 | Сообщение № 5
koyaanisqatsi Дата: Вторник, 08.10.2013, 18:57 | Сообщение № 6

Вы оба совершенно правы Я ксажалению не всегда исправляю свои ошибки. И согласен с тем что это в приличном обществе говрит о неуважении. Разница лиш в том что для меня написать текст правильно намного сложнее чем для других.

Ну и вот тот текст о котором говорит Сергей.

Лол. Только после ответа вам прочел и увидил ошибки в ответе Сергея Реально не замечаются.

Вы оба совершенно правы Я ксажалению не всегда исправляю свои ошибки. И согласен с тем что это в приличном обществе говрит о неуважении. Разница лиш в том что для меня написать текст правильно намного сложнее чем для других.

Ну и вот тот текст о котором говорит Сергей.

Лол. Только после ответа вам прочел и увидил ошибки в ответе Сергея Реально не замечаются. koyaanisqatsi

Сообщение Вы оба совершенно правы Я ксажалению не всегда исправляю свои ошибки. И согласен с тем что это в приличном обществе говрит о неуважении. Разница лиш в том что для меня написать текст правильно намного сложнее чем для других.

Ну и вот тот текст о котором говорит Сергей.

Лол. Только после ответа вам прочел и увидил ошибки в ответе Сергея Реально не замечаются. Автор — koyaanisqatsi
Дата добавления — 08.10.2013 в 18:57

Источник

Adblock
detector

0 / 0 / 0

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

Сообщений: 5

1

Как сделать копию столбца без нулевых значений?

06.10.2015, 17:49. Показов 4349. Ответов 9


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

подскажите новичку, задача перенести данные в соседний столбец (формулами или макросом) при этом игнорируя нулевые значения.
Например (см. выложенный рисунок):

Изображения

 



0



2640 / 1697 / 694

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

Сообщений: 3,367

06.10.2015, 18:56

2

Лучший ответ Сообщение было отмечено chumich как решение

Решение

Для ячейки В2 формула массива

Код

=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$20;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$20;СТРОКА(A$2:A$20));СТРОКА(A1)));"")



2



866 / 510 / 162

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

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

06.10.2015, 19:42

3

Лучший ответ Сообщение было отмечено chumich как решение

Решение

Две обычных формулы в зависимости от имеемого номера оффиса.

Код

=IFERROR(INDEX(A$1:A$20;SMALL(INDEX(ROW(A$1:A$20)*(A$1:A$20<>0);0);COUNTIF(A$1:A$20;"="&0)+ROW(A1)));"")

Код

=IFERROR(INDEX(A$1:A$20;AGGREGATE(15;6;ROW(A$1:A$20)/(A$1:A$20<>0);ROW(A1)));"")



1



15136 / 6410 / 1730

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

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

06.10.2015, 20:11

4

Лучший ответ Сообщение было отмечено chumich как решение

Решение

Ivan_k88, без формул и макросов
Выделить столбец А. Удерживая Ctrl, выделить любую ячейку с нулем, например А4. F5 — выделить — отличия по столбцам — ОК. Ctrl+C, выделить В1, Ctrl+V.



1



1062 / 506 / 137

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

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

06.10.2015, 21:48

5

Подскажите пожалуйста,почему у меня не работает?



0



2633 / 1333 / 255

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

Сообщений: 2,194

07.10.2015, 07:54

6

Лучший ответ Сообщение было отмечено chumich как решение

Решение

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

почему у меня не работает?

Кол-во строк в диапазонах разное
Так работает

Код

=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$20;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$21;СТРОКА(A$2:A$21));СТРОКА(A1)));" ")



1



2079 / 1232 / 464

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

Сообщений: 3,237

07.10.2015, 08:27

7



2



2633 / 1333 / 255

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

Сообщений: 2,194

07.10.2015, 09:29

8

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

почему у меня не работает?

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



1



1062 / 506 / 137

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

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

09.10.2015, 10:50

9

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

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

Да,большое спасибо за подсказку.У меня действительно Офис 2003.
Предлагаю свой вариант формулы под Офис 2003.

Код

=ЕСЛИ(ЕОШ(ИНДЕКС(A$1:A$200;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$201;СТРОКА(A$2:A$201));СТРОКА(A1))))=ЛОЖЬ;ИНДЕКС(A$1:A$200;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$201;СТРОКА(A$2:A$201));СТРОКА(A1)));"")



0



2640 / 1697 / 694

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

Сообщений: 3,367

09.10.2015, 12:25

10

для Excel 2003

Код

=ЕСЛИ(СЧЁТЕСЛИ(A$2:A$20;">0")<СТРОКА(A1);"";ИНДЕКС(A$1:A$20;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$20;СТРОКА(A$2:A$20));СТРОКА(A1))))



1



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

Подсчитайте количество ячеек с ненулевыми значениями по формуле
Подсчитайте количество ячеек с ненулевыми значениями с помощью Kutools for Excel


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

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

1. Выберите пустую ячейку для отображения результата подсчета (здесь я выбираю ячейку H1). Скопируйте и вставьте формулу = СЧЁТЕСЛИ (A1: E8; «<> 0») в Панель формул, а затем нажмите Enter ключ. Смотрите скриншот:

2. Затем подсчитывается общее количество ненулевых значений выбранного диапазона и отображается в ячейке H1.

Заметки:

1. С помощью приведенной выше формулы вы можете подсчитать ненулевые ячейки, включая пустые. Если вы хотите игнорировать как нулевые, так и пустые ячейки, примените эту формулу: =COUNTA(A1:D10)-COUNTIF(A1:D10,»=0″), Затем нажмите Enter ключ для получения результата, см. снимок экрана:

2. С помощью приведенных выше формул вы можете подсчитать общее количество ячеек с ненулевыми значениями в строке, столбце или диапазоне в Excel, изменив ссылки на ячейки в формуле.


Подсчитайте количество ячеек с ненулевыми значениями с помощью Kutools for Excel

Помимо формул, Выбрать определенные ячейки полезности Kutools for Excel может помочь вам быстро подсчитать количество ячеек с ненулевыми значениями в Excel.

1. Выберите диапазон, в котором вы хотите подсчитать количество ненулевых ячеек. Затем нажмите Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:

2. Во всплывающем Выбрать определенные ячейки диалоговое окно, выберите Ячейка в Тип выбора раздел укажите Не равно в Конкретный тип раскрывающийся список и введите номер 0 в пустое поле. Наконец нажмите кнопку OK кнопка. Смотрите скриншот:

3. Затем появится диалоговое окно, в котором указано, сколько ячеек с ненулевыми значениями существует в выбранном диапазоне. И он уже напрямую исключил пустые ячейки. Щелкните значок OK кнопки, эти ячейки выбираются немедленно.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (5)


Оценок пока нет. Оцените первым!

=IF(ROWS(AA$38:AA38)>COUNTIF(U$38:U$1000,"<>0"),"",INDEX(U$38:U$1000,SMALL(IF(U$38:U$1000>0,ROW(U$38:U$1000)-ROW(U$38)+1),ROWS(AA$38:AA38))))

Я пытаюсь использовать эту формулу для поиска и возврата всех ненулевых значений в столбце данных (начиная со строки 38), но я не знаю, сколько строк будет до того, как я импортирую данные. Я хотел бы иметь возможность просто автоматизировать сортировку, но если я использую (U:U) или выберу гораздо большее число, чем фактическое количество заполненных строк (например, U$38:U$20000), я получу ошибка.

Есть ли способ:

А) получить excel для автоматического изменения (U$38:U$####) на количество строк, заполненных данными? (то есть, если есть 400 строк, это изменится на (U$38:U$400).)

ИЛИ

Б) найти альтернативную формулу, которая может выбрать все ненулевые значения, не зная количества строк?

РЕДАКТИРОВАТЬ:

Как видно из изображения ниже, я настроил свою электронную таблицу так, чтобы она возвращала не только ненулевые значения (из столбца U), но также время (из столбца AG), которому оно соответствует. Проблема в том, когда я пытаюсь увеличить диапазон.

Я буду рассматривать множество разных файлов данных с разным объемом данных, поэтому я хотел бы иметь возможность автоматизировать это — и мне не приходилось возиться со всеми U$38:U$1000 каждый раз, когда мне нужно изменить диапазон. Имеет ли это смысл?

Возможно ли это с VBA?

Пример данных

2 ответа

Лучший ответ

Попробуйте это в каком-нибудь столбце:

=IFERROR(INDEX($U:$U,SMALL(ROW(myRange)*(myRange<>0),SUMPRODUCT(N(myRange=0))+ROWS($1:1))),"")

Это формула массива, и ее необходимо подтвердить, удерживая ctrl + shift при одновременном нажатии enter

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

myRange — произвольный диапазон, превышающий размер самой большой строки. Я использовал u38:u20000

enter image description here

ИЗМЕНИТЬ : чтобы вернуть значения из соответствующей строки в столбце, отличном от U, просто измените аргумент array в функции INDEX с $U:$U в нужный столбец, например: $AG:$AG

РЕДАКТИРОВАТЬ2: Если вам нужно игнорировать значения ошибок в столбце U, попробуйте эту формулу, введенную в CSE :

=IFERROR(INDEX(U:U,SMALL(ROW(myRange)*(IFERROR(--myRange,0)<>0),SUMPRODUCT(N(IFERROR(--myRange,0)=0))+ROWS($1:1))),"")


0

Ron Rosenfeld
23 Сен 2016 в 17:38

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

=IF(ROWS(AA$38:AA38)>COUNTIFS(U$38:U$10000,"<>0",U$38:U$10000,"<>"),"",INDEX(U$38:U$10000,SMALL(IF(U$38:U$10000<>0,ROW(U$38:U$10000)-ROW(U$38)+1),ROWS(AA$38:AA38))))

Это можно сделать более эффективным, объявив динамический диапазон с помощью диспетчера имен примерно так:

=Sheet1!$U$38:INDEX(Sheet1!$U$38:$U$10000,COUNT(Sheet1!$U$38:$U$10000))

И назвав его (скажем) DynamicRange.

Тогда формула становится: —

=IFERROR(INDEX(DynamicRange,SMALL(IF(DynamicRange<>0,ROW(DynamicRange )-ROW(INDEX( DynamicRange,1 ))+1 ),ROWS($1:1))),  "")

Это формулы массива, которые необходимо вводить с помощью CtrlShift Enter

enter image description here


0

Tom Sharpe
23 Сен 2016 в 16:41

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