Страницы: 1
RSS
ВПР в ЕСЛИ и как сделать чтобы ВПР не подтягивала 0 вместо пусто
 
см файлы
Функция выделена красным, другие рядом эксперементаторские
описание условий для ЕСЛИ
1случай –в файле Раз стоит «да» в столбце 8 и пусто в столбце 18. Тогда должно в файле Два в столбце 8 по этому Коду ОП отображаться также «да» (понятно что нужно не забыть чтобы впр не подтягивала 0 вместо пусто поэтому сделано через ЕСЛИ и это очень удлинняет и так длинную формулу)
2случай – в файле Раз стоит «да» в столбце 8 и непусто в столбце 18. Тогда должно в файле Два в столбц 8 по этому Коду ОП отображаться пусто
3случай-в файле Раз стоит пусто в столбце 8 и пусто в столбце 18.Тогда должно в файле два в столбце 8 отображаться пусто.

Суть формулы – чтобы верно выполнялись все три случая.

спасибо
готов пояснять
Изменено: ОЛег ОЛег - 23.01.2013 10:14:30
 
Не совсем понял сути вопроса. Но есть способ, что б ВПР не подтягивал 0, вместо пусто. Для этого пусто - должно быть "текстовым пусто", а не пустой ячейкой. Один из способов превратить пусто, в текстовое значение "" - превратить значение пустых ячеек в значение результата работы оператора &"".
Или любой функции, дающей на выходе текст. Допустим =СЖПРОБЕЛЫ("").
В этом случае, значение Value у таких ячеек перестанет быть пустым (Empty) и приобретёт "" (пустая строка).
При таком подходе продолжают работать функции СУММ(), но перестают работать функции среднего. Так как количество непустых ячеек не совпадает с количеством содержащих числа. В приложении файл, показывающий этот метод.
 
=ЕСЛИ(ВПР(......)=0;"";ВПР(......))
а в Ваших файлах ни чего не понял :(
 
только если в формулу вставить сначала перевод пустой ячейки в текстовое пусто.
но думаю и сейчас в ней какая то ошибка, ни разу пока не приходилось ВПР в ЕСЛИ вставлять

=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;18;0)="";ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР($B7;[раз.xlsx]Исходный!$A$6:$O$1048576;G$1;0));"")
 
=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;18;0)="";"";ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0))

G$1 и 18 это одно и тоже?
 
да нет, G$1 - это 7-ка, просто в данном случае копировать нужно будет в другие столбцы много раз, нужно чтобы номер столбца менялся. это мелочь, можно пока семерку поставить.
 
=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;18;0)="";ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР($B7;[раз.xlsx]Исходный!$A$6:$O$1048576;G$1;0))

Ну тогда вроде бы так
 
Цитата
ОЛег ОЛег пишет:
только если в формулу вставить сначала перевод пустой ячейки в текстовое пусто.
но думаю и сейчас в ней какая то ошибка, ни разу пока не приходилось ВПР в ЕСЛИ вставлять

=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;18;0)="";ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР($B7;[раз.xlsx]Исходный!$A$6:$O$1048576;G$1;0));"")

О, дважды Олег Советского Союза. Не надо двух отдельных файлов, с ВПР-ом из одного в другой. Связь при открытии в чужом экселе при этом теряется. А людям приходится читать длинную ссылку в две строки, указывающую на один диапазон...
Переделайте пример. Уместите все в одном файле - так будет нам проще объяснить, что же нужно в результате.
Переделывание в "текстовое пусто" должно осуществляться в источнике. Т.е. там, откуда берёт данные ВПР. Если это место обновляется не очень часто, или результат выборки из этого места ВПР-ом имеет пусть периодический, но не очень частый характер -- то легче при помощи фильтров заменять пустые значения в источнике данных на формулу =СЖПРОБЕЛЫ(""). Тогда можно обойтись в файле результата без ЕСЛИ. Или сделать на одно ЕСЛИ короче.
 
ну да , так и у меня вроде,
прошу прощения, столбец с номером 18,а в функции должен быть 17.
но функция не выполняет почему то условие если истина
=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;17;0)="";ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР($B7;[раз.xlsx]Исходный!$A$6:$O$1048576;G$1;0)); ;"")
Изменено: ОЛег ОЛег - 22.01.2013 22:08:59
 
У Вас отличие в конце формулы. Посмотрите внимательней.
И еще можно попробывать так:
=ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$S$1048576;17;0)=0;ЕСЛИ(ВПР($B7;[раз.xlsx]Исходный!$B$6:$O$1048576;G$1;0)=0;"";ВПР($B7;[раз.xlsx]Исходный!$A$6:$O$1048576;G$1;0))
 
сделано в один файл
 
Вы ищете код в номере - его там нет - вот и ошибка!

=ЕСЛИ(ВПР($B7;Исходный!$B$6:$S$1048576;17;0)="";ЕСЛИ(ВПР($B7;Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР($B7;Исходный!$B$6:$O$1048576;G$1;0)))

Это в Итоговый H7
Изменено: Nic70y - 22.01.2013 22:22:33
 
привязался к этой формуле с двойным ЕСЛИ, а рабоатет всё таки эта,
=ЕСЛИ(ИЛИ(ВПР($B6;Исходный!$B$6:$S$1048576;17;0);ВПР($B6;Исходный!$B$6:$O$1048576;G1;0)="");"";ВПР($B6;Исходный!$B$6:$O$1048576;G$1;;0))

выполняет вс е три условия первого поста.


какже настрадался из того что 17 и 18 перепутал....
 
ИЛИ(ВПР($B6;Исходный!$B$6:$S$1048576;17;0);
Интересно какое здесь условие выполняется?
 
Цитата
Nic70y пишет:
=ЕСЛИ(ВПР($B7;Исходный!$B$6:$S$1048576;17;0)="";ЕСЛИ(ВПР($B7;Исходный!$B$6:$O$1048576;G$1;0)="";"";ВПР( $B7 ;Исходный! $B$6 :$O$1048576;G$1;0)))

интересно)) эта лучше чем моя первая работает , просто не прописано значение если ложь у первой ЕСЛИ.
Но эта формула пишет ЛОЖЬ если в Исходном в обеих столбцах (8 и 18) значения
напомню - 2случай – в файле Раз стоит «да» в столбце 8 и непусто в столбце 18. Тогда должно в файле Два в столбц 8 по этому Коду ОП отображаться пусто

можно было было бы сразу пусто указывалось.
странно почему если просить первую ЕСЛИ ставить пусто ("" в конце всей большой формулы) получаем #НД
 
#НД (так называемая ошибка) лечится только формулами категории "Проверка свойств и значений"
Если у Вас excel 2007 и новее тогда ЕСЛИОШИБКА
 
Ну что ж, можно и так... хотя...)
выражение:
(ВРП($B6;Исходный!$B$6:$S$1048576;17;0)="")*1+(ВПР($B6;Исходный!$B$6:$S$1048576;7;0)="да")*10+(ВПР($B6;Исходный!$B$6:$S$1048576;7;0)="")*100
может выдать 4 числовых результата, или ошибку ошубку ввода(хотя я пока не придумал как):
Если в исходном ресурсе стоит "да" в 18-й сторе, то это:
11
101
Если в исходном ресурсе пусто в 18-й сторе, то это:
10
100

Как дибильный пример ВПР()+ВПР+ВРП в ВПР-е могу предложить такой вариант решения )
Если неправильно подобрал варианты в таблице решений - вы уж подправьте.
 
Та же проблема с функцией ПРОСМОТРХ.
Помогите если кто-то нашел ответ на решение.
Заранее спасибо.
 
Цитата
Шерзод Кахрамонов написал:
Помогите если кто-то нашел ответ на решение.
Для Вашего вопроса лучше создать новую тему.
P.S. с функцией ПРОСМОТРХ проблем нет. Она отрабатывает ровно так, как и должна с теми условиями, что Вы задали и соответственно выдает правильный ответ исходя из данных Вашей таблицы.. Прочтите в интернете для чего она используется и посмотрите, как создана Ваша таблица.
А для решения Вам лучше использовать другую функцию. Подсказываю (Вам нужен поиск МАКС/МИН при условии).
Кто ясно мыслит, тот ясно излагает.
 
Цитата
Шерзод Кахрамонов: Та же проблема с функцией ПРОСМОТРХ
проблемы нет - есть нюанс использования. Решение — в #3. Можно написать самописную функцию, которая будет возвращать именно то, что найдёт (это будет точнее, потому что иногда бывает нужно возвращать нули и проверка на ноль не подойдёт)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Читают тему
Loading...