Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Функция Counta выдает 1 при пустом значении в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Функция Counta выдает 1 при пустом значении в ячейке
Kashimirush Дата: Четверг, 14.11.2019, 10:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Всем привет!
Подскажите почему при такой записи формулы
Код
=counta(if(A1=7;"Счет";""))

Функция выдает 1, и как сделать так чтобы она выдавала 0


Работа, работа, перейди на Федота...
 
Ответить
СообщениеВсем привет!
Подскажите почему при такой записи формулы
Код
=counta(if(A1=7;"Счет";""))

Функция выдает 1, и как сделать так чтобы она выдавала 0

Автор - Kashimirush
Дата добавления - 14.11.2019 в 10:08
Gustav Дата: Четверг, 14.11.2019, 12:00 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Функция выдает 1

А что ей еще выдавать, если и истинная, и ложная части условия возвращают текстовое значение:
[vba]
Код
=COUNTA("Счет") '=1
=COUNTA("") '=1
=COUNTA({"Счет";""}) '=2
[/vba]
И читаем справку по функции:
Цитата
COUNTA считает количество всех числовых значений в наборе данных, а также текстовые значения (включая строки нулевой длины и символы пробела). Чтобы подсчитать количество только числовых значений, используйте функцию COUNT.

А что посчитать-то требуется? И чисто фантазирую, не дожидаясь ответа, может, следующая функция подойдёт под замыслы?
[vba]
Код
=COUNTBLANK(IF(A1=7;"Счет";""))
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Четверг, 14.11.2019, 12:13
 
Ответить
Сообщение
Функция выдает 1

А что ей еще выдавать, если и истинная, и ложная части условия возвращают текстовое значение:
[vba]
Код
=COUNTA("Счет") '=1
=COUNTA("") '=1
=COUNTA({"Счет";""}) '=2
[/vba]
И читаем справку по функции:
Цитата
COUNTA считает количество всех числовых значений в наборе данных, а также текстовые значения (включая строки нулевой длины и символы пробела). Чтобы подсчитать количество только числовых значений, используйте функцию COUNT.

А что посчитать-то требуется? И чисто фантазирую, не дожидаясь ответа, может, следующая функция подойдёт под замыслы?
[vba]
Код
=COUNTBLANK(IF(A1=7;"Счет";""))
[/vba]

Автор - Gustav
Дата добавления - 14.11.2019 в 12:00
Kashimirush Дата: Четверг, 14.11.2019, 13:11 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
А что посчитать-то требуется?

Вдохновившись предыдущим постом про условное форматирования, решил по аналогии выводить дубликаты через QUERY
Код
=query(QUERY({A2:A;B2:B;C2:C;D2:D};"select Col1, count(Col1) where Col1 is not null group by Col1";0);"select Col1 where Col2>1")

Шапкой к данному списку хочу вывести "Всего 77 повторов"
Но когда повторов 0 получается "всего 1 повтор"


Работа, работа, перейди на Федота...
 
Ответить
Сообщение
А что посчитать-то требуется?

Вдохновившись предыдущим постом про условное форматирования, решил по аналогии выводить дубликаты через QUERY
Код
=query(QUERY({A2:A;B2:B;C2:C;D2:D};"select Col1, count(Col1) where Col1 is not null group by Col1";0);"select Col1 where Col2>1")

Шапкой к данному списку хочу вывести "Всего 77 повторов"
Но когда повторов 0 получается "всего 1 повтор"

Автор - Kashimirush
Дата добавления - 14.11.2019 в 13:11
Kashimirush Дата: Четверг, 14.11.2019, 15:33 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Решил пока как то так (Вывод списка повторов стоит в F2)
Код
=counta(query(QUERY({A2:A;B2:B;C2:C;D2:D};"select Col1, count(Col1) where Col1 is not null group by Col1";0);"select Col1 where Col2>1"))-if(len(F2)=0;1;0)


Работа, работа, перейди на Федота...
 
Ответить
СообщениеРешил пока как то так (Вывод списка повторов стоит в F2)
Код
=counta(query(QUERY({A2:A;B2:B;C2:C;D2:D};"select Col1, count(Col1) where Col1 is not null group by Col1";0);"select Col1 where Col2>1"))-if(len(F2)=0;1;0)

Автор - Kashimirush
Дата добавления - 14.11.2019 в 15:33
Gustav Дата: Четверг, 14.11.2019, 17:11 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
=counta(query(QUERY({A2:A;B2:B;C2:C;D2:D}...

Ой, а что-то попроще не хотите? А то еще одну формулу с QUERY оборачивать в COUNTA - как-то не того... Если QUERY в F2, то и напишите в F1 типа такого:
[vba]
Код
="Всего " & COUNTA(F2:F)*NOT(ISNA(F2)) & " повторов"
[/vba]
и будет 0 нормально появляться когда #Н/Д.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
=counta(query(QUERY({A2:A;B2:B;C2:C;D2:D}...

Ой, а что-то попроще не хотите? А то еще одну формулу с QUERY оборачивать в COUNTA - как-то не того... Если QUERY в F2, то и напишите в F1 типа такого:
[vba]
Код
="Всего " & COUNTA(F2:F)*NOT(ISNA(F2)) & " повторов"
[/vba]
и будет 0 нормально появляться когда #Н/Д.

Автор - Gustav
Дата добавления - 14.11.2019 в 17:11
Kashimirush Дата: Пятница, 15.11.2019, 09:02 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Ой, а что-то попроще не хотите?

Согласен глаза замылились: решение должно быть элегантным.
Для красоты использую iferror для QUERY, с вашей подачи подсчет дублей записал так:
Код
=if(len(F2)=0;0;1)*Counta(F2:F)

Спасибо.
Код
Isblank(F2)
- Выводит False


Работа, работа, перейди на Федота...
 
Ответить
Сообщение
Ой, а что-то попроще не хотите?

Согласен глаза замылились: решение должно быть элегантным.
Для красоты использую iferror для QUERY, с вашей подачи подсчет дублей записал так:
Код
=if(len(F2)=0;0;1)*Counta(F2:F)

Спасибо.
Код
Isblank(F2)
- Выводит False

Автор - Kashimirush
Дата добавления - 15.11.2019 в 09:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!