Страницы: 1 2 След.
RSS
Схожие формулы - а результат разный
 
Подскажите в чём ошибка:  
в ячейке W4 формула: =ЕСЛИ(И(B4="";E4="";H4="";K4="";N4="";Q4="";T4="");"";B4+E4+H4+K4+N4+Q4+T4)  
при заполнении какой-либо одной ячейки из формулы выдает правильный результат.  
в ячейке X4 : аналогичная только со смещением на 1 ячейку.  
тоже правильно результирует.  
в ячейке Y4 (итоговая):  
=ЕСЛИ(И(W4="";X4="");"";W4+X4)    
результат выдает #ЗНАЧ! при заполненной только 1ой ячейки.  
Где ошибка?  
И можно ли эти формулы сократить?
 
Ошибка в сложении числовой ячейки с пустой с помощью плюса +  
Используйте лучше функцию СУММ(), она все пустые ячейки считает нулями.  
Например:  
W4: =ЕСЛИ(СЧЁТ(B4;E4;H4;K4;N4;Q4;T4);СУММ(B4;E4;H4;K4;N4;Q4;T4);"")  
X4: =ЕСЛИ(СЧЁТ(C4;F4;I4;L4;O4;R4;U4);СУММ(C4;F4;I4;L4;O4;R4;U4);"")  
Y4: =ЕСЛИ(СЧЁТ(W4:X4);СУММ(W4:X4);"")
 
{quote}{login=ZVI}{date=03.09.2012 03:33}{thema=}{post}Ошибка в сложении числовой ячейки с пустой с помощью плюса +  
Используйте лучше функцию СУММ(), она все пустые ячейки считает нулями.{/post}{/quote}  
Вместо "пустой" ячейки следует читать: "пустой текстовой" ячейки.  
Значение в ячейке, равное "" означает, что ячейка не пустая, а пустая текстовая.  
Например, если W4="" (результат формулы), то сложение =W4+1 выдаст ошибку, а =СУММ(W4;1) будет равно 1, так как СУММ все ячейки с текстовыми значениями считает нулевыми.
 
ZVI!  
Ваши утверждения спорны.
 
С учетом поправки в моем 2-м сообщении не спорны.  
Уточните, в чем Вы видите предмет спора?
 
Спорное утверждение:  
{quote}{login=ZVI}{date=03.09.2012 03:33}{thema=}{post}Ошибка в сложении числовой ячейки с пустой с помощью плюса +{/post}{/quote}  
Однако, Вы правы - в данном случае удобнее воспользоваться Функцией СУММ(), поскольку она позволяет сократить формулу.
 
Во 2-м моем сообщении я уточнял, что речь не просто о пустой, а о пустой текстовой ячейке, так как это не одно и то же.  
 
Введите в A1: =""  
в B1: =ЕПУСТО(A1) выдаст ЛОЖЬ  
в С1: =ЕТЕКСТ(A1) выдаст ИСТИНА  
в D1: =A1+1 выдаст #ЗНАЧ! то есть ошибка  
в E1: =СУММ(A1;1) выдаст 1  
 
Скопируйте A1 в саму себя как значение - формула исчезнет, но ячейка не пустая, а все так же пустая текстовая.  
 
Теперь на A1 нажмите Delete - ячейка станет пустой, B1 выдаст ИСТИНА, а C1 - ЛОЖЬ, D1 и E1 выдадут 1  
 
 
Сложение пустой текстовой ячейки с помощью плюса дает ошибку, а с помощью СУММ - ошибки нет.
 
Попытка сложения ячейки, результат которой пустая строка, то есть ="", с помощью плюсика приводит к ошибке, а с помощью СУММ ошибки нет.  
В Вашем файле нет никакого противоречия, что именно Вас смущает?  
 
На всякий случай приложил пример с иллюстрацией своих утверждений.
 
Если уж очень хочется использовать "+" (или любое другое математическое действие) вместо СУММ, и не известно что находится в ячейке, число или текст, то можно использовать функцию Ч():  
=Ч(A1)+1
 
ZVI!  
Вряд ли Автор темы стал бы ячейки своей таблицы превращать специально в текстовые!  
 
В "таком разе" он не смог бы написать свои формулы.
 
Так написал же!  
 
Смотрите, вот эта формула автора темы:  
=ЕСЛИ(И(B4="";E4="";H4="";K4="";N4="";Q4="";T4="");"";B4+E4+H4+K4+N4+Q4+T4)  
 
при выполнении условия в ЕСЛИ она и выдаст пустое текстовое значение =""  
 
То есть, в результате формулы =ЕСЛИ(ИСТИНА();"";123) ячейка получается не пустой, а пустой текстовой. В этом случае результат ячейки такой же, как и для формулы =""  
 
Впишите в моем примере в ячейку A1 формулу =ЕСЛИ(ИСТИНА();"";123) и убедитесь, что не вру :-) Приложил такой пример.
 
Исследование возможностей игры духовных лиц на бесструнных инструментах...  
Или: ...
 
Не знаю, кому принадлежит анонимный пост, ТС или кому то еще, но меня смутила формула    
=ЕСЛИ(И(C1;E1;H1="")...  
Что хотели добится прописав условия в И()?  
Фактически И игнорирует значения в C1 и E1, какими они не были (числовыми, текстовыми, нулевыми, отсутствовали), а возвращает ИСТИНА или ЛОЖЬ только по условию H1=""  
 
P.S. Я стараюсь не использовать пустые текстовые строки в формулах, лучше использовать ноль, чтобы потом не думалось, что нужно еще проверять на наличие пустой текстовой строки при выполнении дальнейших математических действий  
 
например формулу  
=ЕСЛИ(условие;формула;"")  
можно заменить на  
=ЕСЛИ(условие;формула;)  
получающиеся нули можно "подавить" форматом ячейки
 
{quote}{login=MCH}{date=03.09.2012 07:25}{thema=Re: }{post}Не знаю, кому принадлежит анонимный пост...{/post}{/quote}  
Михаил, данный пост принадлежит участнику под ником МАРУСЯ, как и все остальные без имени.
 
а как не странно выражение =""=B1 выдает истину  
B1- пустая ячейка т е пустая текстовая ячейка равна пустой ячейке  
=A1=B1 (ИСТИНА)  
A1    =""    
B1 Пустая
Оружие не убивает Человека! Человек убивает Человека!!!
 
сравнение пустой ячейки с нулем или с пустой текстовой строкой возвращает ИСТИНА, что тут особенного?  
=A1=0 - ЛОЖЬ  
=B1=0 - ИСТИНА
 
{quote}{login=MCH}{date=03.09.2012 07:25}{thema=Re: }{post}Фактически И игнорирует значения в C1 и E1, какими они не были (числовыми, текстовыми, нулевыми, отсутствовали), а возвращает ИСТИНА или ЛОЖЬ только по условию H1=""{/post}{/quote}  
не корректно написал,    
Функции И(), ИЛИ() игнорируют текст и пустые значения, если в перечислении отсутствуют числовые либо логические выражения то возвращается ошибка #ЗНАЧ!  
0 воспринимается как ЛОЖЬ, любые числа отличные от нуля - ИСТИНА  
Про текст и пустые ячейки в справке написано, про числа - нет  
 
как рабоают И и ИЛИ см. в файле
 
Закон математики если А=В и А=С то В=С!!!  
Эксель:    
A1 Пустая    
B1 =""  
С1   =0  
=A1=B1 (ИСТИНА)  
=A1=С1 (ИСТИНА)  
=В1=С1 (ЛОЖЬ)  
С точки зрения математики неверно...  
Но с точки зрения множеств получается правильно, пустая ячейка это множество, а "" и 0 элементы множества... что-то типа стакан это посуда, и тарелка это посуда, но стакан это не тарелка...
Оружие не убивает Человека! Человек убивает Человека!!!
 
{quote}{login=Borodets}{date=03.09.2012 08:31}{thema=}{post}стакан это посуда, и тарелка это посуда, но стакан это не тарелка...{/post}{/quote}  
прекрасная аналогия! :-)
 
P.S.  
 
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>  
 
<EM>http://www.planetaexcel.ru/forum.php?thread_id=8735</EM>
 
{quote}{login=ZVI}{post}Попытка сложения ячейки, результат которой пустая строка, то есть ="", с помощью плюсика приводит к ошибке, а с помощью СУММ ошибки нет.{/post}{/quote}  
Формат всех ячеек числовой. И если вы не заметили, то первые две формулы не выдают ошибки, а считают нормально, с учетом "пустых текстовых ячеек"  
Вот меня и озадачило, почему в одном случае считает, а в другом нет.  
Вот сам файл
 
Может, так поймете.  
В строке ниже таблицы протянута формула:  
=(B4="")*(B4<>0)  
 
По формуле: вместо итогового суммирования можно применить СУММЕСЛИ().
 
{quote}{login=AlexF}{date=03.09.2012 10:40}{thema=}{post}Формат всех ячеек числовой. И если вы не заметили, то первые две формулы не выдают ошибки, а считают нормально, с учетом "пустых текстовых ячеек"  
Вот меня и озадачило, почему в одном случае считает, а в другом нет.  
Вот сам файл{/post}{/quote}  
Не, я там у Вас все очень внимательно посмотрел :-)  
Формат ячейки с формулой не гарантия того, что формула не выдаст (пустой) текст. Введите в Z4 формулу =ЕТЕКСТ(W4) и удивитесь тому, что это ИСТИНА, несмотря на числовой формат ячейки.  
 
Просто используйте рекомендованные мной формулы, они же не глючат.
 
Ваши первые 2 формулы ссылаются на ячейки, в которых нет формул вообще, то есть на пустые ячейки, а не на пустые текстовые (как результат формулы), в этом все и дело. 3-я же формула ссылается на ячейки, формулы которых могут выдавать пустое текстовое значение ""
 
{quote}{login=ZVI}{date=04.09.2012 01:38}  
Не, я там у Вас все очень внимательно посмотрел :-)  
Формат ячейки с формулой не гарантия того, что формула не выдаст (пустой) текст. Введите в Z4 формулу =ЕТЕКСТ(W4) и удивитесь тому, что это ИСТИНА, несмотря на числовой формат ячейки.  
 
Просто используйте рекомендованные мной формулы, они же не глючат.{/post}{/quote}  
выдает ложь. скрин в файле.  
 
А вот последний что то проясняет. Спасибо
 
Вы с моим примером с доп. формулой не разобрались?  
 
Давайте разберем Ваш файл.  
=ЕТЕКСТ(W4)=ЛОЖЬ.  
Правильно: в W4 формула, которая показывает число:  
=ЕСЛИ(И(B4="";E4="";H4="";K4="";N4="";Q4="";T4="");"";B4+E4+H4+K4+N4+Q4+T4)  
Т.к. B4<>"", выполняется условие B4+E4+H4+K4+N4+Q4+T4.  
 
Y4=ЕСЛИ(И(W4="";X4="");"";W4+X4)  
Т.к. W4<>"", выполняется условие W4+X4.  
 
Почему в Y4 ошибка? В W4 число. А вот X4="". Т.е. попытка суммировать число и текст.  
Почему X4=""?  
X4=ЕСЛИ(И(C4="";F4="";I4="";L4="";O4="";R4="";U4="");"";C4+F4+I4+L4+O4+R4+U4)  
Все указанные ячейки пустые, поэтому выполняется условие ИСТИНА.
 
то есть то, что есть сейчас воспринимает пустые ячейки, но с формулой, как текст, а СУММЕСЛИ их просто игнорирует. Я правильно понял?  
Значит бум разбираться с СУММЕСЛИ...
 
Чует моя чуйка, нужно регистрироваться....
 
Вам ZVI еще прошлой ночью, сразу после Вашего вопроса, писал, что простое суммирование чувствительно к тексту, функция СУММ() - нет. Вы никак этого не хотите понять.  
 
СУММЕСЛИ() для Вашей задачи - более оптимальная альтернатива функции СУММ().
 
Да не не хочу.... Некогда, да мосг ночью варить отказывается.  
Всем спасибо за разъяснения.
Страницы: 1 2 След.
Читают тему
Наверх