Страницы: 1
RSS
Вернуть ИСТИНА если часть числа входит в целое число или если числа нет
 
В файле-примере две попытки решить следующую задачу.  
 
Необходимо вернуть ИСТИНА, только для чисел, в которые входит любой из кусочков, или если ячейка пустая.  
 
Перечень кусочков  
1. 260  
2. 777  
3.    
 
(3. - означает, что диапазон кусочков на который ссылается формула, содержит пустую ячейку)  
 
Перечень целых чисел и то, что должна возвращать формула  
1. 26000455 ИСТИНА  
2.          ИСТИНА  
3. 6699772  ЛОЖЬ  
4.          ИСТИНА  
5. 77077768 ИСТИНА  
6. 2354147  ЛОЖЬ  
 
(2. и 4. означает, что в диапазоне целых чисел есть пустые ячейки кусочков на который ссылается формула, содержит пустую ячейку)  
 
Т.е. нужна формула, которая будет ИСТИНА в случ:  
а) если целое число содержит любой из кусочков (при этом в перечне кусочков могут быть пустые ячейки)  
б) если ячейка, где могло бы быть целое число, пустая
 
так...  
только интересно как сделать более простую формулу чтобы условия диапазоном брались...
Оружие не убивает Человека! Человек убивает Человека!!!
 
Формула массива:  
=ИЛИ(СУММ(-ЕЧИСЛО(ПОИСК(ЕСЛИ(E$2:$E$5;$E$2:$E$5);B8)));B8="")
 
большое спасибо, вроде бы формула работает как надо!  
 
однако, если будут еще варианты, было бы интересно
 
Естественно, массивная:  
=ИЛИ(ДЛСТР(ПОДСТАВИТЬ(B8;ЕСЛИ(E$2:$E$5;$E$2:$E$5);))<>ДЛСТР(B8);B8="")
 
поясните эту конструкцию...ЕСЛИ(E$2:$E$5;$E$2:$E$5)
Оружие не убивает Человека! Человек убивает Человека!!!
 
=ЕСЛИ(A1<>0;A1;0) можно записать  
=ЕСЛИ(A1;A1;0) или =ЕСЛИ(A1;A1;)  
Если число отличается от нуля, то это число, если =0, то "0".  
Такое сокращение условия функции ЕСЛИ() действует только для числовых значений, с текстом так нельзя.  
Можно еще так:  
=ЕСЛИ(A1;A1)  
В формуле нет значения для невыполнении условия, поэтому при A1=0 формула покажет ЛОЖЬ.  
То же самое, но для диапазона ячеек:  
ЕСЛИ(E$2:$E$5;$E$2:$E$5)  
Создается массив, состоящий из значений, отличных от нуля (для данного примера - значений заполненных ячеек) и ЛОЖЬ.
 
Спасибо за разъяснение, а теперь хочется то же самое, но для текста...
 
Значит, не все поняли в разъяснениях.  
ЕСЛИ(A1<>0;... ни о чем не говорит? Или ЕСЛИ(A1<>"";...?
 
ключевое слово "число", все рассуждения и разъяснения построены на этом, тут же не число, тут текст
 
Внимательнее читайте:  
<Такое сокращение условия функции ЕСЛИ() действует только для числовых значений, с текстом так нельзя>  
Значит, просто не сокращать условие:  
ЕСЛИ(E$2:$E$5<>"";...
 
=ИЛИ(СУММ(-ЕЧИСЛО(ПОИСК(ЕСЛИ(E$2:$E$5="";"";$E$2:$E$5);B9)));B9="")  
 
не работает для текста (файл пример тот же)
 
Работает, но наоборот :)  
Если E$2:$E$5 НЕ РАВНО "пусто"...
 
вот так заработало:  
=ИЛИ(СУММ(-ЕЧИСЛО(ПОИСК(ЕСЛИ(E$2:$E$5="";ЛОЖЬ();$E$2:$E$5);B8)));B8="")  
(массивная)  
 
спасибо!
 
кроме одного момента...  
если E$2:$E$5 нет ни одной заполненной, то формула возвращает ЛОЖЬ, а хотелось ИСТИНА...
 
Пользовательская функция пойдет?
 
{quote}{login=Excel-Ok}{date=31.03.2011 03:24}{thema=}{post}кроме одного момента...  
если E$2:$E$5 нет ни одной заполненной, то формула возвращает ЛОЖЬ, а хотелось ИСТИНА...{/post}{/quote}  
=ИЛИ(СУММ(-ЕЧИСЛО(ПОИСК(ЕСЛИ(E$2:$E$5<>"";$E$2:$E$5);B8)));B8="";СЧЁТЗ($E$2:$E$5)=0)
 
{quote}{login=vikttur}{date=31.03.2011 10:14}{thema=}{post}=ЕСЛИ(A1<>0;A1;0) можно записать  
=ЕСЛИ(A1;A1;0) или =ЕСЛИ(A1;A1;)  
Если число отличается от нуля, то это число, если =0, то "0".  
Такое сокращение условия функции ЕСЛИ() действует только для числовых значений, с текстом так нельзя.  
Можно еще так:  
=ЕСЛИ(A1;A1)  
В формуле нет значения для невыполнении условия, поэтому при A1=0 формула покажет ЛОЖЬ.  
То же самое, но для диапазона ячеек:  
ЕСЛИ(E$2:$E$5;$E$2:$E$5)  
Создается массив, состоящий из значений, отличных от нуля (для данного примера - значений заполненных ячеек) и ЛОЖЬ.{/post}{/quote}  
Спасибо...
Оружие не убивает Человека! Человек убивает Человека!!!
Страницы: 1
Читают тему
Наверх