Страницы: 1
RSS
Сложная функция ЕСЛИ: слишком много аргументов
 
Добрый день.  
Есть такая задача: (1) в колонке В мы имеем значения "да" или "нет"; (2) в колонке С имеем значения "Категория1+", "Категория2+", "Категория3+", "Категория1-", "Категория2-", "Категория3-"; (3) в колонке А имеем некоторые числа. Нужно, чтобы из колонки А число копировалось в колонку D, если значение из колонки В="да" и значение из колонки С содержит знак + ИЛИ если значение из колонки В="нет" и значение из колонки С содержит знак -. В остальных случаях следует копировать значение из колонки А умноженное на -1. Возможно ли сделать это с помощью одной формулы?  
Файл с примером данных прикрепляю. Попытался как: =ЕСЛИ(ИЛИ(И(НАЙТИ("-";C1);B1="Да"));(И(НАЙТИ("+";C1);B1="Нет"));A1*-1;A1). Пишет, что слишком много аргументов.
 
=ЕСЛИ(ИЛИ((B1="Да")*ЕЧИСЛО(ПОИСК("+";C1));(B1="Нет")*ЕЧИСЛО(ПОИСК("-";C1)));A1;-A1)  
 
или формула массива (вводить нажатием ctrl+shift+enter):  
=(ИЛИ((B1={"Да";"Нет"})*ЕЧИСЛО(ПОИСК({"+";"-"};C1)))*2-1)*A1
 
{quote}{login=MCH}{date=27.07.2011 09:23}{thema=}{post}=ЕСЛИ(ИЛИ((B1="Да")*ЕЧИСЛО(ПОИСК("+";C1));(B1="Нет")*ЕЧИСЛО(ПОИСК("-";C1)));A1;-A1)  
 
или формула массива (вводить нажатием ctrl+shift+enter):  
=(ИЛИ((B1={"Да";"Нет"})*ЕЧИСЛО(ПОИСК({"+";"-"};C1)))*2-1)*A1{/post}{/quote}  
Спасибо большое. То, что надо.
 
{quote}{login=MCH}{date=27.07.2011 09:23}{thema=}{post}=ЕСЛИ(ИЛИ((B1="Да")*ЕЧИСЛО(ПОИСК("+";C1));(B1="Нет")*ЕЧИСЛО(ПОИСК("-";C1)));A1;-A1)  
 
или формула массива (вводить нажатием ctrl+shift+enter):  
=(ИЛИ((B1={"Да";"Нет"})*ЕЧИСЛО(ПОИСК({"+";"-"};C1)))*2-1)*A1{/post}{/quote}  
 
Насчёт массива, - это наверное ошибка?  
---  
Чуть укоротил: =(ЕЧИСЛО(ПОИСК("+";C1))*2-1)*(--(B1="Да")*2-1)*A1
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх